Close

Prototype Tester/Programmer

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/21/2017 at 05:380 Comments

The production tester and programmer PCBs don't arrive from OSH Park until late next week.  I wanted to get a head start so I hacked together a more convenient prototype than a basic solderless breadboard.  This one uses pogo-pins and has all the necessary connections to program and test the board.

It's an ugly piece of kit, but does the job.  I'm using one of the #Teensy 3.0 & 3.1 & 3.2 & 3.5 & 3.6 boards as the brains of the tester.  Teensy 3.6 is perfect for the task.  It has a built in micro SD card slot, USB device and host mode at the same time, and plenty of analog and digital IO for testing all the pins of the B-series boards as well as any indicators or displays I may want to add.

I test a board by pressing on it's reset button while pushing it on the pogo pins at the same time. The microswitch will activate when the board is pressed firmly against the pins.  I've found that programming will fail if the board is not firm on the pogo pins.  It takes several seconds per board for the full program, verify, and test cycle.  I may want a lever to hold down the board while it is being tested.

I ran about ten boards through the programming cycle to find and fix any bugs.  Ultimately one of the B2 boards had a defect.  Looks like a faulty SPI flash chip at this point.  The detailed failure information from the tester says it always fails at a specific address in flash.  Interesting failure.  Maybe ESD related, I'll need to take some more precautions going forward.  Anways I can replace the flash chip at a later date and use the reworked board for a free giveaway.  

A few more things need to be done before I can list the board on Tindie:

  1. B-Series getting started guide
  2. USB bootloader production testing features
    1. Similar to boundary scan.  Just need the ability to drive and sample pins.
  3. Tester features
    1. Need to add support for USB Host mode to ensure the board enumerates and functions properly after being programmed
    2. Need to test all the IO pins
    3. Need to ensure 3.3 and 1.2 volt outputs are within range
    4. Need to check 16MHz clock
  4. Program/test/package all the B2 boards
    1. This programmer/tester could even be rugged enough for the current run of B2 boards.

Happy with current progress.

Stay tuned!


Discussions