Skip to main content


This section allows you to view all Messages made by this member. Note that you can only see Messages made in areas you currently have access to.

Messages - Sjaak

Bus Pirate Development / Re: Bus Pirate "Ultra" v1a & v1b with ICE40 and Icestorm :)
Most displays can be updated partially, which makes the impact smaller. The only things changing (frequently) are the voltages which occupies only small areas.

general workflow for the v1 I suggest:

display off, send the big gfx using DMA, display off and partially update the voltages during use.
Bus Pirate Development / Re: Bus Pirate "Ultra" v1a & v1b with ICE40 and Icestorm :)
Are there any fault indicator bits that survive a crash/stack overflow? I thought maybe we could use that and a watch dog timer to reset into bootloader if anything goes wrong. The pic has a persistent bit that survives a reset in addition to the stack overflow bit. If there is something similar we can combine them to enter the bootloader without external pin.

however I agree an external pin is needed for worst case scenarios.

Easiest way would be an extra pin. To make it safe don't use the jtag pins as I tried. The use of the builtin serial bootloader would enable restoring the bootloader and firmware to most people (I'm assuming 90% people would have an USB to serial convertor handy). That needs to break out boot0 and a serial port. Since we moved to 4 layer we have some more room to route signals :D

Regarding resetcauses a quick google gave me:

currently (i used the bootloader from the NG version to start) if you write 0xB007 to BKP_DR1 register it enables the bootloader after a reset. These registers are battery backed up register and holds data during resets (as long as the device is battery powered)
Bus Pirate Development / Re: Bus Pirate "Ultra" v1a & v1b with ICE40 and Icestorm :)
Tried today to come up with some code I accidently bricked my buspirate.

Tried to port the bootloader to board 1b. The only way I think it is possible is to short swdio and swdclk as no other pins are directly exposed on the currents versions. In order to use these pins you need to disable SWD (and JTAG). Due to an error i permanently disabled it. For production version we need either a button or solderable jumper or expose the boot0 pin and an UART. I prefer the boot0 and UART option as it provides an extra option to load programs on the BusPirate.
Bus Pirate Development / Re: Bus Pirate "Ultra" v1a & v1b with ICE40 and Icestorm :)
There are OpenCore versions of these, maybe you guys can use some of these?

It is also an exercise for me to understand VHDL/Verilog. I also have the idea that I'm in control in making the peripheral the way I want and not optimized for a specific architecture or to emulate an existing chip. the fun stuff is flexibility of fpga (also the hard part :D)
Bus Pirate Development / Re: Bus Pirate "Ultra" v1a & v1b with ICE40 and Icestorm :)
I uploaded basic UART to the HDL repo earlier this week:

Currently it only accept n-8-1 (no parity, 8 bits, 1 stopbit). The baudrate is clk/4 in order to make it reliable work (I hope :D)

things to add (in random order):
- odd/even parity
- baudrate detection
- 5-9 bits (or 8 if parity is involved)
- 1, 1.5 or 2 stopbits
DirtyPCBs support / Re: 4 layer board panelization
Panelization is done using vgrooves or slots. If you cut the board yourself it isn't panelization for the factory and you should be ok.

Dunno the real reason behind why it isn't supported. I'm guessing it is a money issue so that the 5x5cm board on the average make money, but an exact 5x5cm not as much or none.
DirtyPCBs support / Re: Are you paying DHL on receipt of your PCBs?
For my personal experience is that DHL don't know the shipping cost and assumes this to be 100USD (which is their gross price for shipping to EU). If you send in the invoice as you can download from the site before they deliver the package they can adjust the customs. Downside they can not deliver it to your address but to a nearby parcelhub.. Because the can't tell the driver the amount dutie has changed..

to me a lot of bullshit in order to make it inaccessible for hobbiest, but if you know the way it is doable. For me when I receive the text that something is heading to me and the customs-duty is due, I directly send an email to them with the correct invoice and ask them to adjust the duties..

I posted it before but here I blogged about it: ... dling-fee/
DirtyPCBs support / Re: ANYONE HERE ?!?!
For support on orders you can open a ticket from within the order. For general questions this is the right forum.

Yes, support tickets are handled and receive support. I got mine answered this morning :)

What is your exact question?