ZaCon 5 (The Year of the badge)

Reading time ~2 minutes

ZaCon 5

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.

Getting started

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

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

  • lcd

  • rf

  • led

  • read buttons

  • write eeprom

  • read eeprom

Go be awesome

TODO : Finish this post

Embracing the ultra

# IntroThis past month marked the latest iteration of the 360one MTB and the culmination of months of training. In the end, it wasn't jus...… Continue reading

Cyber Apocalypse 2021 CTF

Published on April 24, 2021

Covert Login Alerting

Published on June 01, 2020