v2.0.0
⚠️ 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
Decimal
s 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.