Hackaday Belgrade — our first ever conference in Europe — is coming up fast. One of the really exciting things for me is the hardware badge which [Voja Antonic] designed for the conference. He’s done a great job with hardware choices and I think we’ve hit the sweet spot for badge hacking. Let’s jump into the hardware and firmware details after the break.
Get your ticket now for ten hours of talks and workshops, evening concerts, and of course badge hacking the entire time. Earlybird sales close Monday. We’re still in the process of going through talk proposals but we’ll publish a post next week announcing all of the speakers.
We’ve made the badge eminently hackable with one goal in mind: challenging you to come up with something cool to run on it. What we’ve got in mind is a demoparty based on the Hackaday Belgrade Badge. It’s a fairly spartan design, featuring an 8×16 LED matrix, four buttons, and IR transmitter/receiver components, so you’re going to have to bring the creativity. At the end of the evening, you’ll have your moment in the sun — or at least on the big screen.
To inspire you, we currently have two separate sets of firmware in development. Voja is a master at coding assembly and is putting together the main firmware for the badge. As mentioned in an earlier post, he has already implemented the game of Tetris for the badge. He also has pause and sleep support (managed through a fifth button attached to INT0) and working code for using the IR reciever and the IR LED that serves as the emitter.
If assembly isn’t your thing, the second firmware is a barebones C implementation that I have been working on. It is a basic API which takes care of scanning the display and buttons inside of a hardware timer interrupt and exposes function calls that let you code applications for the badge at a higher level. The C implementation of the firmware includes an emulator written using SDL2 so you can test your code without having the badge itself.
Both of these firmwares need a bit of refinement before they’re ready for you to dig in. But the goal is to enable anyone to submit a demo, even if you can’t make it to the conference. If you just can’t wait to get your hands on one, you can always build your own copy of the badge since it’s Open Hardware.
Voja has gone through a few revisions to his design. You’ll notice the prototypes we are using for testing have three buttons. The finalized design will have four buttons in cross pattern (up/down/left/right) and those buttons will be the larger 12mm variety — easier to play Tetris with, naturally.
The displays are two Kingbrite 8×8 red LED modules. These are common cathode displays and use a 16-bit sink driver and eight high-side P-channel MOSFETS to switch the columns. The Starchips sink driver is constant current so one resistor sets the current for all LEDs.
A PIC microcontroller drives the whole show, specifically a PIC18LF25K50 that includes USB support. Voja adapted a USB bootloader for this project, so you won’t need a programmer to flash code to the board. Instead, you’ll just compile the code and use a USB cable and simple software to flash the HEX file.
Finally, all of the badges have IR send and receive connected up to the RX/TX pins of the PIC microcontroller, so the badges will be able to talk to each other. We’re especially interested to see what you’ll make with this functionality.
Spread the Word
Please help us get the word out about Hackaday Belgrade. Tell everyone you know and share http://hackaday.io/belgrade on your social media. Thanks!