After years of thinking and talking about it, this year the Hackaday Supercon finally released an FPGA-based badge.
If you made it to the 2019 Hackaday Superconference, then you’ve already gotten your hands on this year’s amazing badge. If you weren’t able to attend the Supercon this year, then you’ve probably been relegated to staring at it longingly from afar, and this year’s badge is definitely worthy of our admiration.
The brainchild of Jeroen Domburg (Sprite_TM), this year’s badge is in a Gameboy form factor and packs quite a punch. It holds an ECP5 45K LUT FPGA - a huge chip, especially for a badge; 16MiB SPI RAM and 16MiB flash memory; a 480x 320 LCD display;a mono audio output (you’ll need to solder a speaker to J3 to hear anything); IrDA, to allow for a little wireless communication; a PMOD connectors, the standard for peripherals used with FPGAs; a pair of upgraded SAO connectors; a micro-USB connector and an HDMI-compatible connector, in case you want your badge to have an enormous screen; and finally, there’s a 40-pin 2.54 mm female breakout header, and every person who gets a badge will also get a protoboard cartridge that includes a flash memory chip and plugs right in. Oh, and if you really bork your badge, you've got JTAG access as well!
The FPGA chip has 381 connections, over 200 of which are IO. With this many possible connections, and the speed at which the deadline arrived, typos on the silkscreen were possible. Probable. Inevitable. For example, on the PMOD connector, the pin numbers are in fact upside-down from what the silkscreen indicates. Additionally, on the SAO header, SDA and SDL are flipped as are the GPIO 1 and GPIO 2. Luckily, according to Jereon, all of the lines are just IOs to the FPGA, so you can fix the issue by just picking a different IO line. He also suggests that if you do use any of these lines, you just throw a multimeter on them to make sure that information is being sent where you want it.
Many people may be hesitant to jump into the FPGA pool because generally you are forced to work in Verilog or VHDL. As a way to make the badge more accessible to those not completely comfortable writing in hardware description language, Domburg basically wrote a microcontroller into the fabric of the FPGA. This makes it possible to program the microcontroller in the soft-core, as if you were programming an ARM, PIC or AVR-based board.
The idea behind the Hackaday Supercon Badge is, of course, to hack it. You can find everything you need to get started over on Hackaday's site, and at Sprite_TM's GitHub repo. That will help you set up your gateway, SDK, and show you how to start hacking your badge, but what if you need some ideas as to what to hack? Take a look at the Badge Hacking Ceremony, and get inspiration from some amazing coders developers, and engineers who were there.