Skip to main content
Topic: mini-blaster FT232 USB multi-programmer (Read 26650 times) previous topic - next topic

mini-blaster FT232 USB multi-programmer

Here's the schematic and PCB for a new programmer dreamed up by member rhyde and pushed by Ipenguin. Here's a brief overview of the design:

*FTDI232 USB->serial chip for ultra low cost, multiple voltage programmer (goal $5-$10)
*Will use existing apps to program AVR, can set AVR high voltage fuses
*Use piratePICprog to program PICs
*Use flashrom to program ROMs
*Sparkfun-style Arduino UART header
*1.2 (?) to 5volt targets
*provides 3.3volts and 5.0volts

The goal is a cheap, medium speed programmer for new users who don't want to spend $30 on a pickit, and don't want to DIY. The really nifty thing about using theFT232 is that it has internal level translation, so the programmer can run at any voltage without an external buffer chip. The FT232 can also supply a few mA of 3.3volts from the internal regulator.
Got a question? Please ask in the forum for the fastest answers.

Re: mini-blaster FT232 USB multi-programmer

Reply #1
Great design and implementation of this little, yet incredibly versatile gadget. :)
I have downloaded the files and will go over the details later.

Truth be told, rhyde and I only suggested to make all/most pins of the FT232RL on the BusPirate available for use as a direct FT232 bit-bang programmer (e.g. for direct AVR programming). This new design with the high-voltage source (for programming old PICs and AVRs that require 13V) is even more useful.

Re: mini-blaster FT232 USB multi-programmer

Reply #2
A little feedback:

Quote
The only immediate suggestion I have is to make all CBUS (CBUS0 ... CBUS4) signals and RI available (all other essential pins are available on at least one of the headers)

... either by putting them on a sperate header or by modifying the layout in a way that you will have the pins of the FT232RL on headers with the exact layout of Sparkfuns Breakout Board for FT232RL USB to Serial and place the circuitry for the voltage-pump and switchers around the "Sparkfun Breakout Board for FT232RL USB to Serial" core. This may require a little more PCB area but it would open a few other interesting options ... like compatibility with the Openschemes Advanced FT232 Bit Banging – Homebrew ISP CPLD Programmer project which does support CPLD programming and various Arduino programming options (all making use of RI which is not on any of the headers, yet).
Got a question? Please ask in the forum for the fastest answers.

Re: mini-blaster FT232 USB multi-programmer

Reply #3
I have done quite a bit of experimenting with the FT232R bit-bang mode. http://chinwah-engineering.com/USBProjects.html I have used the Spark Fun board and it works well.  Having all of the I/O pins available is nice.  Some vendors have not done that. 

There are some issues with using the CBUS and main I/O pins at the same time.  When you program the CBUS pins, the main I/O pins are reset high.  FTDI has confirmed this to me. The pins can be set to bring out the WE and RE signals but the RE is inverted from the WE and it comes before the WE. There is no way to invert the RE. Of course they can be used in their normal functions as TX/RX Leds.

All of the schematics,  timing and software is on the above Chinwah Engineering  webpages.  The software is written in MS VC#.

A word of caution.  It is somehow possible to brick the FT232R with some weird combination of bit-banging.  It is possible to force the chip to only use an external oscillator but that can be reset using the MPROG program. 

I can provide some software support.
"Too many projects, so little time"

Re: mini-blaster FT232 USB multi-programmer

Reply #4
Thanks MichaelZ - That will be a ton of help as we review the design and prep the first prototypes.

To do:
*All pins to headers
*CPLD programming header
*Check connections for bugs with CBUS pins
Got a question? Please ask in the forum for the fastest answers.

Re: mini-blaster FT232 USB multi-programmer

Reply #5
I was looking for a new PIC to use in a new project and saw that the new PICs don't use 12-13V anymore to enter HVP programmingmode.

They new PICs appear to use 8-9V instead. This can be solved bij using a resistor and a zener with a jumper to enable/disable

The PIC where I noticed is the pic16f1823. It is described on page 315 of the datasheet.

Re: mini-blaster FT232 USB multi-programmer

Reply #6
To lower the programming voltage, I suggest to use a resistor in series to R2.  If shorted via a jumper, the higher voltage is output.

Re: mini-blaster FT232 USB multi-programmer

Reply #7
Attached is the reply from FTDI on the CBUS issue.  Below their reply is the initialization code, the bit-bang code and a screen capture of the waveforms using the Logic Sniffer. 

I do not believe that you can use the CBUS to pulse the VPP or VTarget without affecting the other bit-bang pins.  One of the reasons appears to be that you have to change the mode for the FT232R from bit-bang to CBUS bit-bang and that appears to reset the device.

McZ
"Too many projects, so little time"

Re: mini-blaster FT232 USB multi-programmer

Reply #8
I am playing these days with FT2232H and I understand why Maryam from FTDI recommended it over the FT232...  This baby can do bitbang (only one channel - 8 bits) at 60MHz sync (FT is providing 60MHz clock for read/write)!! .. runs 480Mbps and do usb to SPI/I2C/JTAG without breaking a sweat (all together with examples in c++ how to do it :) ) and can also do dual channel async bit bang (not sure attm what is the max speed, from what I read, 30MHz each should be possible)... and it is not too expensive (~5GBP) and is 5V tolerant ... It is definitely worth the look.

Re: mini-blaster FT232 USB multi-programmer

Reply #9
I imagine that the reason for using the FT232R was it operates off of 5v, has an internal osc. and eeprom.  The FT2232H is a very neat part but operates off of 3.3v, requires an external crystal and external eeprom.  That means extra cost. 

I am not convinced that the FT232R cannot be used.  It just means that all of the signals have to be restricted to the first 8 I/O pins.  If the CBUS2,3,4 signals are moved to the CTS, DCD, RI pins the first 5 I/O signals are available for the target signals.  It just means that the four programming connectors have to share all of their signals.

Another comment about the CBUS4 signal.  It does not have bit-bang capability, only CBUS 0-3.

McZ
"Too many projects, so little time"

Re: mini-blaster FT232 USB multi-programmer

Reply #10
Attached is a pdf of what I propose.
"Too many projects, so little time"

Re: mini-blaster FT232 USB multi-programmer

Reply #11
We actually have a 2232H high-speed programmer on the way too, but it's more for JTAG, flashrom programming, etc. The reason for two designs is that we might be able to sell the 232 programmer for the price of the 2232H chip alone:
http://dangerousprototypes.com/forum/in ... board=37.0

Quote
5V tolerant

I think the 'H' chip dropped this feature, we've been struggling with the buffer on the Bus Blaster to get it just right (and affordable and available).
Got a question? Please ask in the forum for the fastest answers.

Re: mini-blaster FT232 USB multi-programmer

Reply #12
yes, the price is a good reason to do both :D ..

I'm pretty stunned what can this 2232H do (should be very simple to replace a whole bus pirate with 2232h for example - but the software would have to be on pc side)... as for the 5V tolerant the data sheet states (Document No.: FT_000061, FT2232H DUAL HIGH SPEED USB TO MULTIPURPOSE UART/FIFO IC, Datasheet Version 2.08):

Quote
+1.8V (chip core) and +3.3V I/O interfacing (+5V Tolerant).

Quote
The I/O pins are +3.3v cells, which are +5V tolerant (except the USB PHY pins).

and the 2232HQ mini module I purchased states the same thing (no buffer between pins and chip and 5V did not kill any pins :D ).

anyhow, going too far off topic .. looks like reshuffling the pins will solve the problem :)

Re: mini-blaster FT232 USB multi-programmer

Reply #13
Here is an update on what I propose for the FT232R pinout.  I moved the PIC PGC to the same pin as all of the other clock pins.  Simplifies software.  In any case the PC software is trivial with VC#.  The hard part is the algorithms for the "burning".

I have some of the FT2232H's in my toy box.  I have not had a chance to play with them yet.  They are really incredible chips.  They have a dual MPSSE which is nice.  Also dont forget the FT4232H.  Too bad they didnt make a "R" version with all of the overhead internal.  Agree the I/O pins are 5v tolerant but only to 5.8v.  Does not give you much noise room.  That does not mean that an output will pull up to 5v without an external pullup resistor.  The FT2232H requires a 3.3v supply so you have to use a regulator for USB 5v to 3.3v.  In reality the FT2232D would be a better part since it does not require the 5v to 3.3v regulator.
"Too many projects, so little time"

Re: mini-blaster FT232 USB multi-programmer

Reply #14
Thanks MichaelZ - that pinout looks great, we'll make those changes.

Thanks everyone - I thought the ft2232H gave up the 5v tolerant IO pins. Maybe the FT2232H is 3v3 and the older chips were 5v0 and I got confused?

Does anyone know off the top of your head if there's a problem switching the FT2232H pins between ground and input/Hi-Z?
Got a question? Please ask in the forum for the fastest answers.