Close

Production Tester/Programmer Development

A project log for TinyFPGA B-Series

Low-cost, open-source FPGA boards in a tiny form factor with built-in USB, SPI flash, LDO, and MEMS clock.

luke-valentyLuke Valenty 08/19/2017 at 06:030 Comments

I spent some time last night sketching up a quick PCB for testing and programming TinyFPGA B1 and B2 boards.  I previously made a tester for the TinyFPGA A1 and A1 boards.  I followed the general strategy that sparkfun uses for their boards.  The A-Series tester looks like this:

I press the board onto the pogo pins, the Teensy 3.0 microcontroller tests all the pins via JTAG boundary scan and lights up the green LED if it passes.  This rig made it pretty easy to test all of the A1 and A2 prototype and production boards.

The B-Series boards are a bit more complex and have a few more things to test.  Some of the differences:

  1. The iCE40 FPGAs do not have JTAG, so no boundary scan is available
  2. They need to be programmed with the bootloader
  3. They have additional components to test
    1. SPI Flash
    2. 16MHz Clock
    3. 3.3 and 1.2 voltages regulators

Because of these extra requirements I've decided to upgraded to a Teensy 3.6.  It's probably overkill, but it has the extra pins I needed as well as a built-in SD card slot and high clock speed.  So I can do things like a basic test of the 16MHz clock and output of the voltage regulators.  Additionally the extra pins give me the opportunity for more control and feedback during testing: I can integrate a display for pass/fail information.  I could even have multiple bitstream images on the SD card in case I want to offer pre-programmed designs in addition to the basic bootloader.

The tester PCB ended up being pretty simple though:

I will almost certainly be hacking in some changes to the tester once I get it back from OSH Park, but I have already taken too long to make this programmer and so I wanted to start moving faster.  I gave myself a decently sized breadboard area to add any buttons, indicators, or LCD.

Meanwhile I have a simple firmware development setup for the Teensy.  This will let me have my firmware finished and tested in time for the actual production testing hardware.  I have the bootloader programming portion of the tester firmware complete and am now working on the testing portion.

The PCBs should come back late next week.  With some luck I'll be able to get it working and list the first batch of TinyFPGA B2 boards on Tindie.

Discussions