ZaCon 5 has come and gone leaving all those involved playing catch on sleep and series. One of the highlights for me this year had to be the electronic badges that were given out to all attendees that rsvp’d (and arrived early enough).
While the badges are awesome as they are , one of the things both myself and AndrewMac really wanted to see was people hacking the code and functionality. Now while the ever enthusiastic @Hypn did attempt to do this but has denied because of the time it took for us to get him setup, I am hoping that people will make mods at home and demo them at the 0xcoffee events.
So this post is going to assume that you are a complete newbie and have never done any kind of hardware hacking at all. If you have not done so already , go read the blog post written by AndrewMac which gives a great into the board and how to interact with it.
Firstly the board consists of the following parts that you can interact with.
- Atmega 328
- 5110 LCD
- 433mhz TX
- 433mhz RX
- RGB LED
Aside from these parts there are 3 open pins at the top of the badge that you can use to add extra parts to the badge.
The core of the badge is the atmega , its the microcontroller that controls the rest of the badge. The code for the atmega is written in the arduino programming language , which is based on C/C++ while providing a number of helper functions that make interacting with the microcontroller easier.
Before continuing , this article assumes that you have either an existing arduino uno or an avr programmer. With out one of these you cant make changes to the code on the chip in a reasonable manner.
Setup your environment
Before jumping into changing the code its worth setting up your toolchain so that the build process is as easy as possible. The article will assume that you are using windows for your dev environment , so change the paths to suit your operating system if you are using MacOS or Linux.
The first tool you need to download is the Arduino toolkit. The software can be downloaded from here. Once you have downloaded the software, either extract it to common location (e.g. c:\dev\arduino\ or install the application).
This next part is reccomended but its not required. While you can change code using the arduino IDE , it is a pain for anything more than 20 lines of code.
Download visual studio
Download visual micros
clone the repo locally
load the code in visual studio
updating the chip
- using arduion
- using icsp
make changes to the existing app
make changes to use each of the components
Go be awesome
TODO : Finish this post