Inspiration

I wanted to create more interactions between badges - but thats hard to do if they run different firmware. So I looked into flashing a badges own firmware onto another one from itself, and that's exactly what I did!

What it does

The badge does the following with the buttons:

UP: Infect. Before pressing, connect the targets ground GND to yours and your GP4 to their RX. Make sure it stays connected until all LEDs lit up and the other board starts blinking, then your target is now also infected.

LEFT: Play a random tune (hold the board to your ear to hear it)

RIGHT: Blink the number of times you infected someone

DOWN: Alternate the LED patterns

How we built it

Using https://code.circuitpython.org/

Challenges we ran into

Initially we tried to use the connectors to flash it but only RX allows you to write to the other badges REPL so you have to unfortunately hold it down on the connector the entire time.

Also when I flashed the code in plaintext it led to syntax error because it was chunked and sometimes a quote wouldn't close, so now it flashes it base64 encoded.

Accomplishments that we're proud of

This is just really really cool that it works. Also cool is that the count of how many other badges a badge "infected" is saved beyond reboots

What we learned

A lot!

What's next for Vampire Badge

Infect EVERYONE muhahahahahahahahaha >:)

Built With

  • circuitpython
  • micropython
Share this project:

Updates