A screenshot of the software tool is shown below. As you can see, it is an extension of the old manual SPI tool that we discussed in the previous articles. The left side is all manual mode commands for latching the HL, LL sequences and sending variable-length bit shifts. Most of this should be familiar to you. The right hand side holds the new automatic mode features. These execute all the steps of one sequence and return the device to the idle state when done. By navigating to a JED file, the CPLD can be ISP programmed.
Fig 10 – Screenshot of the FT232ISP Programming Software
You may note that in addition to opening the interface and it’s associated green light, there is now a red light/blue light to designate whether the device is in ISP mode – basically whether the nISPEN line is low (blue, ISP active) or high (RED, ISP inactive). ISP mode is automatically entered when the FT232 bitbang setup runs, but now there is a button to leave it.
We start at the topwith Setup All. Pretty self explanatory. There’s also Close All which should be just as straightforward to implement. Next are some buttons to get the DevID (usually used as a connection test) and to read/write the UES. The device must be erased to the $FF state to write a new UES. Below the DevID and UES are buttons to set the address row (0-101) and to read and write data in the high/low banks. This can be used as a quick check, but it’s not practical for writing a whole device.
Below is the file navigator and the automatic programming stuff. To use it, you first choose a file, then select the options you want using the checkboxes. (Verify/Secure not yet implemented!). Clicking Run will execute the Erase, Program, etc.. If your filename happens to be made of numeric or hex characters, there’s an option to automatically flash the filename into the UES. Otherwise, you can write the UES manually above.
Since the program is more of a proof of concept than a high-performance programmer the write and read times are slow. About 1 minute to cycle through all banks of all addresses. To speed up the time, any rows in the JED file that are blank ($FFFFFFFFFF) are automatically skipped. This really helps a lot with simple JED files, flashing the whole thing in about 15 seconds.
We apologize in advance if you find any ugly or poorly-commented sections of source code, some of this was written very late at night while cursing at CPLD’s and continuously retriggering the scope to snap pictures. We will eventually overhaul the entire software to optimize the code and really increase the speed, but for now it functions pretty well and we’re happy to give it out to you.
Download the VB6 Source and Executable for the FT232ISP Tool
As always, thanks for reading and we hope you get some use out of the info or at least some inspiration for your own projects. Cheers!





Helpful material discussed I am really delighted to go through this particular write-up..many thanks with regard to providing all of us nice tips.Great walk-through. I truly appreciate this article.
[...] is a wiring diagram for connecting the Sparkfun FT232RL Breakout Board (see our other posts on this device) to an SN75176 RS-488 bus transceiver. This simple combination gives you a homebrew USB DMX [...]
[...] the FT232 chip, as has been previously described in: Bit Banging SPI on Arduino’s FT232 and Lattice CPLD programmer using FT232. So let’s get to the [...]