F411 IO Mod is firmware for the STM32F411CEUX microcontroller, designed for digital input/output control, network functionality, and MQTT communication with Home Assistant integration. The device supports over-the-air firmware and web interface updates, runs FreeRTOS for multitasking, and provides a REST API for remote management. Web interface by Roman Lakhnov
- MQTT: Data publishing and command reception, compatible with Home Assistant.
- REST API: Device control, configuration, updates, and log management.
- FreeRTOS: Tasks for IO, networking, settings, and display.
- File System: LittleFS for settings and web interface storage.
-
Download from the Releases section:
f411_io_mod_bootloader.hex
— bootloader.f411_io_mod.hex
— main firmware.
-
Flash the bootloader:
- Hold the Boot button and connect the board to USB.
- Flash
f411_io_mod_bootloader.hex
using STM32CubeProgrammer.
-
Flash the main firmware:
- Flash
f411_io_mod.hex
using STM32CubeProgrammer.
- Flash
-
Reboot the device (Reset button):
- The LED will blink 4 times, and the firmware version will be displayed on the OLED.
- After connecting Ethernet, the device will acquire an IP address and display it.
-
Download:
web_interface.zip
— web interface files.web_interface_uploader_win.exe
orweb_interface_uploader_mac.app.zip
depending on your OS.
-
Extract web_interface.zip.
-
Launch the uploader, enter the device IP (
http://<ip>
) and login as admin/admin. -
Select the extracted web interface folder and click Upload.
Below are images showcasing the F411 IO Mod hardware and interface.
- The project is built using STM32CubeIDE.
- MQTT configuration is available via the web interface.
- Connect the device to your network for access.
Full API documentation is available here: API.md
- Ethernet Task: Manages network and MQTT.
- IO Task: Monitors inputs, controls outputs.
- Settings Task: Manages configuration.
- Display Task: Displays data (optional).
MIT License — see LICENSE.
PRs and suggestions are welcome. Feedback via Issues.