The conference badge
The Area41 conference is a unique event that always introduces new concepts.
This is one of the reasons why we developed yet again our own very special hardware badge for our conference participants which they get for free to keep.
The Badge 2016
This year’s badge has an ESP8266 12E WiFi chip on it in combination with two buttons and two RGB LEDs, so it’s like a funny IoT device that blinks ;-)
special thanks to: Mr. D. and @le_krogoth for helping with the badge.
The badge automatically communicates with the backend server on a separate WiFi network and exchanges blinking patterns and uploads your votes (buttons).
Easter egg challenge:The badge has an Easter egg mode. You activate it by pressing both buttons at the same time. It will indicate the mode change with a short blue flashing. Now all you have to do is find the secret combination of left and right clicks to unlock new blinking patterns for your badge.
The solutions for the 2016 badge are:
R-R-R-R-R-R-R-R and L-L-L-L-L-L-L-L
R-L-R-L-R-L-R-L and L-R-L-R-L-R-L-R
L-L-L-R-R-L-L-L and R-R-R-L-L-R-R-R
L-L-R-R-L-L-R-R and R-R-L-L-R-R-L-L
R-R-L-L-R-R-R-R and L-L-R-R-L-L-L-L
Either press both buttons again or wait a few minutes to leave the Easter egg mode, again indicated with blue blinking.
Voting:When not in Easter egg mode (=while your badge blinks with a pattern) you can press either the left or right button. This choice will be sent back to the server as your vote on the next update. Communication is done every 5 minutes and indicated with flashing. Green if it reached the server fine or red if something failed.
Miscellaneous information:The batteries should suffice for 2 days of use, but feel free to remove them, the badge will not lose its code, even the patterns are stored in the EEPROM. If the badge cannot find the “badgeonly” wifi, it will go to sleep and try again later. This is indicated with a red/blue blinking before switching off for a few minutes.
Reprogram it - Hack it!Hacking the 2016 badge is easy, so do not be afraid!
Below are a few simple steps to get you started...
Arduino IDEYou can use the standard Arduino IDE to flash the ESP.
Follow these instructions to install Arduino IDE and the ESP modules http://www.arduinesp.com/getting-started
Depending on your setup you might need to install a few addtional header files, which you can find on github. Like for example ESP8266WiFi.h
You can download the source code of the badge program here:
You also find the server part called Hardac: https://github.com/le-krogoth/hardac
Example code:We created a simple colour fading script with no Wifi function. You can download it here and flash it to your badge or watch the movie here.
There is also an open Wifi hotspot detector script available here.
The ESP8266 is capable of sending raw packets with the function "wifi_send_pkt_freedom"
Hence you could theoretical send de-authentication packets or do similar shenanigans.
You can find some example code here:
Of course you can also code your own: Wifi detector, pineapple, IoT button or web server to control the LEDs...
Share your code with us and we can link it from here.
Flashing the code to the badgeAll you need for this is a USB UART/TTL cable in order to flash the new firmware. You can find such for <$5, for example the CP2102 based.
- connect RX->TX and TX->RX
- Make sure the board has power, not all USB cables provide enough power, so batteries are the better option.
- You might need to connect the ground (GND/-) for it to work properly.
- Then reset the board to flash mode, by holding the right button and starting power. This pulls down GPIO0 to GND and puts the ESP into re-flashing mode.
In the Arduino IDE set the following and upload:
- board to Generic ESP8266 Module
- upload speed 115200
- port to what ever USB port your UART is connected to
- flash size 4M/1M
LED_LEFT_R = 14
LED_LEFT_G = 12
LED_LEFT_B = 13
LED_RIGHT_R = 2
LED_RIGHT_G = 4
LED_RIGHT_B = 5
Button1 = 0
Button2 = 10
The schematics of the circuit boards are here as pdf file.
The documentation of the ESP8266 board and more information can be found here. http://www.esp8266.com
hashdays badge 2012
The 2012 #days badge contained a laser engraved acrylic base and an Arduino UNO R3 board. It is powered by a 9V block (ca. 10h) or optionally through the USB cable that we provide you as well.
It is fully compatible with Arduino UNO shields, so bring your own if you have some. Or you can buy some to play with after the conference. You can find cheap ones online, for example here http://dx.com/s/arduino (no affiliation). Extend it with all kinds of sensors. You can create an alcohol tester, a robo car, a wifi detector or a teensy - your imagination is the limit.
If you don't like the annoying LED blinking pattern that I made - change it. It is easy! download the free software from http://arduino.cc/en/Main/Software connect the badge with the USB cable modify the badge code which you can find here hashdays_badge_LED_fade.ino
You can find the original badge code, including the puzzle challenge morse code here. The source code of the breathalyzer from the badge hacking contest is also awailable online at: https://github.com/fakufaku/Breathalyzer
hashdays badge 2011
In 2011 we had a hardware badge with a full color display containing the whole schedule and other goodies. The badge also contained 42 eastereggs as part of a challenge for the participants to find.
Specifications of the 2011 badge:
- Controller: ATmega168
- Memory: 1 MByte Flash (Atmel AT45DB081D)
- Display: Color LCD like Nokia 6030 (Controller: compatible with Philipps PCF8833)
- Power: 2x CR2032 batteries or directly via USB connector
- Connections: ISP (6 pin), USB (power or pic uploading), serial
- Special: 2x bottle openers
Easteregg solutions 2011:AAPL, ANON, AREA, BIRD, BOFH, BTTF, CAKE, CITY, CLUE, DAVE, DIAL, DONT, GOLD, GROG, HELP, HINT, HOME JOBS, LAST, LAWS, LOCK, LOGO, LOST, MADE, MANY, MASK, MEOW, MIAU, PONY, PORN, POWN, QRQR, RTFM SIRI, STAR, STNG, STON, TAXI, TEST, THIS, TIPP, WOPR More information can be found here.
hashdays badge 2010
Our first hardware conference badge in 2010 had a large LCD display used as name tag. Through a communication protocol over LEDs the attendees were able to play rock-paper-scissors-lizard-spock against each other.
Specifications of the 2010 badge:
- Controller: ATmega168
- Memory: 2x CAT24C256YI-G (serial EEprom, 32KB)
- Battery: 2x CR2032 or external DC (4-12V)
- Display: EA DOGL128L
- Connections: ISP (6 pin)
- 4 pin serial (for instance for connecting a FT232RL USB to serial)
- 6 optional charlieplexed LEDs