Skip to content

v2.0.0

Compare
Choose a tag to compare
@br0kenpixel br0kenpixel released this 25 Mar 18:47
· 68 commits to main since this release
5eb5278

⚠️ Notable compatibility changes

ESP32 support has been removed in favor of the newer ESP32S3 series. Additionally, the firmware now requires at least 8MB of flash and any amount of PSRAM due to build configuration.

📜 Summary

  • 🌟 Added support for Over-the-Air updates with automatic rollback in case of failures.
  • Improved partition table layout.
  • Implemented custom minimal logger.
  • Added support for WPA3 networks.
  • Added support for reporting non-fatal errors.
  • Added support for reporting abnormal reset reasons.
  • Added support for inverted on-board LEDs.
  • 🌟 Added support for detecting swapped R1/R2 resistors in the battery voltage measurement driver.
  • 🌟 Added support for static IP configuration.
  • Added support for setting WiFi country code.
  • Added support for setting GPIO pins in sysconfig.
  • Added support for USB connection detection.
  • Added documentation for many system component modules.
  • Added error handling to ADC initialization.
  • Huge firmware size reduction.
  • Removed access to NVS for WiFi driver.
  • Updated to ESP-IDF v5.3.2.
  • Updated to newer PWMP v2.
  • Updated the battery voltage measurement module to use the new one-shot ADC API.
  • Enabled brownout detector in release builds.
  • Enabled WDT in release builds.
  • Enabled support for SO_LINGER socket option.
  • Enabled lwIP IRAM optimizations.
  • Improved (faster) WiFi scanning.
  • Improved error and Option::None handling.
  • HTU* driver now uses Decimals internally, instead of floats.
  • Bumped minimum Rust version to 1.84
  • Removed all calls to unwrap().
  • Lots of refactoring.
    • Too many to list here.
  • Various performance improvements.
    • Too many to list here.
  • Other minor QoL improvements.

🌟 - Highlighted features

❌ Unimplemented/Skipped features

  • 🔐 Flash encryption
    • This would also permanently enable read-only protection the flash, which would effectively brick the MCU, as only OTA updates would work. Therefore this feature was dropped and will not be implemented.
  • 🔌 USB connection detection (without serial port being open)
    • This is not yet supported by ESP-IDF, therefore it cannot be implemented as of now.