Firmware - Toolauth/wing-combo GitHub Wiki

Simple Use Explanation

Technically, the firmware is not part of the hardware (and what this Wiki is about). However, you really can't have any fun with the board without some firmware. So, here is some information that primarily relates to the main uses of this board, as the designers' see fit. Certainly, you can write/use whatever firmware you like.

'Hello World' Examples

There are several hello world examples, that are just meant to test that all the components are working as expected. They are provided in a variety of frameworks/ languages, but the ESPHome firmware is the one we mostly use.

ESPHome hello-world

[!TIP] This is how we test our boards are working.

This is the "main" hello world program, as we see it. Since it is the one we use to test things. This firmware requires you to be running ESPHome somewhere: your computer, docker, a Raspberry Pi.

The firmware itself is located here and you will probably want to copy/paste the YAML into your running version of ESPHome.

Arduino hello-world

[!NOTE] We ❤️ Arduino, but know we use this io_test less.

This is the "second string" hello world program, as we see it. This firmware requires you to be running the Arduino IDE somewhere. (Or PlatformIO if you're really fancy.)

Download the folder of this sketch and its libraries. From there, you'll open the folder and have the Arduino IDE open the io_test.ino file.

Python hello-world

[!WARNING] This version is under development

We'll put something here when we have it. For now, here is the empty folder...

Main Firmware

The main firmware is more complex than any of the hello world examples. The full firmware that the original creators use with the board isn't even in this repo: it is in the cardsystem repo. You can go there to learn more.

Originally, we had written complex firmware with timeouts and delays for use with ESPHome. But, it turned out to not be where ESPHome really shines. Instead, we have migrated most fo the complex control logic of the tool authorization into Home Assistant, where it can use the better computational hardware to manage these tasks. This streamlines the firmware needed in ESPHome, and makes it much more stable.