AEFeinstein / Super-2022-Swadge-FW

MIT License
10 stars 8 forks source link

Super Magfest 2022 Swadge Firmware

Welcome

This is the firmware repository for the Super Magfest 2022 Swadge.

The corresponding hardware repository for the Super Magfest 2022 Swadge can be found here.

If you have any questions, feel free to create a Github ticket or email us at circuitboards@magfest.org.

Continuous Integration

AEFeinstein

History

The Super Magfest 2022 Swadge is based on the Super Magfest 2020 Swadge and its hardware repository.

The Super Magfest 2020 Swadge is based on the 2019 Swadge. The 2019 Swadge has a combined firmware and hardware repository.

The 2019 Swadge is based on ESP8266 Colorchord. You can read more about ColorChord: Embedded here.

ESP8266 Colorchord uses esp8266ws2812i2s, and is based on ESP8266 MP3 Decoder.

Working on this Project

If you would like to work on this project, start by following the Getting Started Guide. By the end of the guide you should have an enviroment where you can compile the firmware and flash it to a Swadge.

There is also a quick start script which sets up a Linux environment (toolchain, dependencies, environment variables, and all) and builds the firmware.

Once your environment is set up, read the Contribution Guide. This guide outlines the best practices for getting your code into this project.

There are a few more guides on how to add modes to the Swadge, how to save persistent data, and how to connect Swadges wirelessly.

The Super Magfest 2022 Swadge uses cnlohr's exp8266 environment, which in turn uses the ESP8266 Non-OS SDK. You may find the ESP8266 Non-OS SDK API Reference useful.

pyFlashGui is used for flashing Swadges. It's a Python GUI program.

ESP Asset Packet is used to process assets like png or gif files into a binary format which the Swadge firmware can use.