# true's RGB Addon Addon for DC31 Badge

This is the firmware for true's RGB Addon Addon, a shard addon for the official DEF CON 31 badge.

## Specifications

- HK32F030MF4P6 MCU (16K flash, 4K RAM)
- Type-C USB Port 
    - Supports charging with dumb 5V or PD chargers
    - XMODEM bootloader over Type-C for field firmware updates
- 8x addressable RGBLED in 3 zones
- Several RGB programs
- Accelerometer
- Hosts GAT / SAO Addons

## User manual

A hastily put together user manual can be found at https://dc31.truecontrol.org/yearsite/manual/addon-addon


## Building

This project was built with STM32CubeIDE, which normally only works with ST MCUs. In the `hax/` directory you'll find replacement files to place over STM32CubeIDE v1.21.1 and v1.13.0. This has only been tested with v1.12.1.

<p></p>Downloads for STM32CubeIDE:

- Any version (requires ST account): [STM32CubeIDE Page](https://www.st.com/en/development-tools/stm32cubeide.html)
- Latest (no account needed): [FileCR](https://filecr.com/windows/stm32-software-ide-prog/)

Use a J-Link to debug and program.. If you want to get shady with it, you can flash F103 blue pill with an OB firmware containing a modified date code. Check the internet for pinouts.

## Using the bootloader

Activate the bootloader by holding down the `PROG` button on the badge while turning on. Use your favorite terminal to connect to the badge using the VCP at `115200-8-N-1`.

Send a `firmware.bin` file via XMODEM to update. Do NOT send `.hex` files, they won't work.

Ensure the firmware you send is built with the bootloader target in mind. The uploaded binary will start at `0x8000800` in Flash.