Goldfish v4 – Board design progress

The Goldfish platform is slowly growing in scope and complexity.

The first three Goldfish designs focussed on getting components to work at all – microcontroller, audio codec, TFT screen and MIDI.┬áThe designs I’m working on right now will provide the processing power to do something more interesting than polyphonic ringtones.

The current plan is to move from the Freescale Kinetis K20 to the ST STM32F407VGT6 microcontroller and have an expansion header to host a whole number of other experiments. Most notably – a Spartan 6-with-HDMI board and version two of the prototyping board. This header and the new expansion boards will allow the main Goldfish PCB to become a central JTAG/Debugging environment for the next few months of audio and robotics experiments.

The main Goldfish PCB so far

Goldfish-STM32 with expander

The MCU board has a few extra features compared to Goldfish version 3 -> there is an extra microSD slot and a big row of expansion pins. USB and reset/program button have been moved to the other side to accomodate the different microcontroller pinout and give a decent place for the pin header. The routing is just a quick autorouter test to see if it would still be possible at all to route it. This design is nowhere near final.

The Spartan 6 FPGA board so far

Goldfish-FPGA stack

This is my first FPGA board. I started with the Papilio Pro schematic as a known-to-be-working configuration to start from. Power and IO have been moved around a bit, and the FTDIchip-JTAG setup might be replaced by just a JTAG header. The connected Goldfish microcontroller board should be capable of uploading data to the SPI flash later on anyway, replacing the need for the FTDIchip.

As soon as I can get my hands on a few PCB-mounted HDMI connectors I will add two or three to the board. I’ve been reading up on HDMI-FPGA combinations, and the Spartan-6 FPGA should easily be capable of hosting a few videostreams – even 1080i is within range! (there will be some separate posts on this subject)

Currently I’m putting further development of these boards on hold until I’ve been to the Shenzhen markets. I have no doubt I will find more interesting screens/buttons/leds/plugs to use there – so it makes little sense in finalizing the layouts before going to China.