SP140 Controller Firmware 6.3 Release: Key Updates

We’re excited to announce the release of firmware version 6.3 for the latest SP140 controllers, featuring significant updates in both visual presentation and system stability.

A Fresh Look with New Fonts

One of the most noticeable changes in this update is the introduction of a new, cleaner font. Previously, we used monospace fonts, which are commonly chosen for their flexibility and small size. However, they often fall short in visual appeal, especially at larger scales.

With version 6.3, we’ve transitioned to Open Sans, a widely used, clean, and simple sans-serif font with an open-source license. This font is designed to be displayed at its pixel size on the controller screen, resulting in smoother edges and more legible text. You can see an example of Open Sans here.

Switching from a monospace font to a variable-width font required realigning every part of the display to ensure proper alignment. We’re planning more layout updates in future versions as we add new data (e.g., battery telemetry) and sensors (e.g., GPS). While there’s still a lot of work to do, we’re excited to continue evolving the paramotoring experience with our community in this electric future.

Improved Stability and Performance

On the technical side, we’ve made substantial improvements to system stability, particularly around cruise control activation and arming. By fully setting up SWD debugging, we can now track down hard-to-reproduce errors more effectively. This debugging configuration is included in this release, making it easier for anyone to use at home.

Through deep inspection of running threads and variables, we identified instances where threads on different processor cores would sometimes access or update the same data, causing issues. With FreeRTOS on the RP2040 being a multi-core MCU by default, proper precautions were not initially taken to limit critical tasks to a single core. This lack of thread-safety, especially with libraries for the display or barometer, led to complications.

In this release, we’ve ensured that critical tasks only run on a single core, similar to how the previous SAMD21-based controllers operated with their single cores. While this explanation is technical, we believe it’s important to share what we have learned to highlight the improvements and the steps we’ve taken to enhance your flying experience.

TL;DR

  • New Font: Upgraded to Open Sans for a cleaner, more legible display.
  • Improved Stability: Enhanced system stability, particularly with cruise control activation and arming, by ensuring critical tasks run on a single core.

Additional Notes

As usual, we’ve been flying with this release for the last couple of weeks and have found it to be a nice improvement. We encourage all RP2040-based controller users to update (these are the ones with USB-C). The download is available now from the config tool site. Let us know if you have any questions or feedback.

Thank you for being a part of our journey as we continue to improve and innovate in the world of electric paramotoring. Your feedback and support are invaluable as we move forward.


PS. Adafruit has some good docs on their font handling library here
image

6 Likes

super important with a tech guy like you zach to keep improvements coming :+1::facepunch::grin:

1 Like

A post was split to a new topic: Controller showing different battery level than the BMS app