The wonderful thing about this sort of community is that it will largely support itself. By this I mean that if a designer is trying to design an open-source product in his basement, he no longer has to contact technical support when he runs into a problem; instead, he simply poses the question to the community.
Not only will his question be answered, but because the code and hardware are open-source, it allows another designer to take the design, improve on it, and end up with a better version of the original. Suddenly, the DIY community now has access to hardware that was generated by the community itself. We've already seen this happen with the advent of DIY microcontroller design, and now it is starting to occur with DIY programmable logic design.
The term "open-source" was originally associated only with software -- now it's associated both with software and hardware. As an example, consider the open-source R-R-R-R-RetroCade Synthesizer. This little beauty, which was designed and created by Jack Gassett,
is built on the Papilio FPGA development platform:
This project essentially houses a Commodore 64 SID chip, a Yamaha YM-2149 chip, and the ability to play .mod and MIDI files, all in one FPGA! This hardware has never existed before in this form, and because this project is open-source (it's described as "Designed to be HACKED"), other designers can modify, hack, and even troubleshoot the logic design and potentially create something better than the original.
This novel platform wasn't created by a multimillion-dollar chip manufacturer (at least not in this form); it was created by a single designer and is funded by the DIY community. So the new-found prevalence of FPGAs in the DIY realm is exciting, to say the least.
What DIY projects have you seen recently that impressed you? And do you think that the design and development achieved in the DIY world can ever significantly influence the larger scope of industrial programmable logic development?
Thanks for the kind words. While the circuit design is maybe more related to the Avnet LX9 Microboard, the spirit of the board is definitely Papilio. This board would not exist if it wasn't for all your hard work on Papilio One.
Regarding inexpensive FPGA board with HDMI, today with all the available tools for DIY electronics anyone can make his own FPGA board taylored to his needs. Here is a DIY FPGA board with HDMI output:
Same form factor as Papillio One, Spartan6 in 324 BGA package (LX9 - LX45), FTDI 2232 high-speed USB wired for JTAG and serial, async fifo or sync fifo mode (>20 mbytes/sec transfer rate), 64 Mbytes LPDDR memory @ 200 MHz (on the bottom of the board), full HDMI output interface (incl I2C level translators), audio out, uSD card with SPI or native 4-bit SDIO interface, full-speed USB host with phy, quad-i/o spi flash memory.
Hi Hamster (interesting nomb-de-plume), many thanks for sharing your experience and incite on the DIY course front, some things we will take into consideration at FPGA Towers when putting together a suitable course introducing beginners to the wonderful world of programmable logic.
Once we are ready we will post something on our website, it will probably need a new page / section to focus on and service the DIY audience.
Earthquakes are not causing us problems at present over here in blighty, whereas the torrential rain-storms are something else.....
Jack - This is very impressive. We need this capability in our telepresence robot. I'm doubly excited to see it done with an FPGA. I've seen similar functionality programmed on a PC or other larger system, but this fits with what we're trying to do with the robot and offloads a lot of load from the MCU we might also have.
Using a Papilio FPGA Development Board, the team built an AVR8-based soft-controller, running on the Papilio, that could handle the kind of data processing and buffering required for the project, while still being able to write code in the Arduino domain.
When learning any hardware for the first time, one always runs into peculiarities that are so foreign and frustrating that they discourage the learner (especially the self-taught learner) from progressing further.