Notes for Developers

Interested in extending TiltBridge or integrating it into your project? Awesome!

While I developed TiltBridge with a specific feature set in mind, the project is open source for a reason. There are plenty of features that I haven’t imagined which would make the project even better than it is. That said, before developing a new feature and submitting a pull request, I strongly recommend reaching out. Although recent optimizations have increased the available RAM and flash space on the ESP32, they remain at a premium and thus not all features may be able to be merged in.

Developer Setup

This section is for developers interested in building and flashing firmware locally.

TiltBridge firmware uses the PlatformIO framework to manage toolchains, libraries, and board definitions. If you’re interested it building/modifying your own firmeware, you’ll want to download and install PlatformIO from the link above.

This section will give you a quick crash course on using the pio command-line tool.

Environments

TiltBridge supports several different board types. In PlatformIO, the board type and board-specific settings are called an “environment”. TiltBridge ships with a few environments defined in the platformio.ini file.

Building firmware

To build a firmware, determine what environment (board) you’re targeting, then use the pio run command to build it:

$ pio run -e d32_pro_tft

Uploading firmware

Use the --target upload flag to upload the firmware to your device. This step will also build the firmware:

$ pio run -e d32_pro_tft --target upload

Erasing filesystem

If you repartitioned your device, it may be necessary to upload/initialize the filesystem on the device. Use the uploadfs target to do so:

$ pio run -e d32_pro_tft --target uploadfs