MCU × Peripheral Support Matrix
| MCU | UART | SPI | I2C | ADC | DAC | GPIO | Timer/PWM | Interrupt | DMA | Watchdog |
|---|---|---|---|---|---|---|---|---|---|---|
| STM32F103 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| STM32F4xx | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| STM32H7xx | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| ESP32 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| ESP8266 | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ | ✗ | ✓ |
| Arduino UNO | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ | ✗ | ✓ |
| Arduino Mega | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ | ✗ | ✓ |
| RP2040 | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ | ✓ | ✓ |
| nRF52840 | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ | ✓ | ✓ |
Example RTOS Prompts
Click any example to open it in the Architect.
Read temperature from DHT22 every 2 seconds using a FreeRTOS task. Apply a 5-sample moving average filter. Publish the result via MQTT over WiFi. Trigger a GPIO alarm if temperature exceeds 35°C.
Open in Architect→Control a stepper motor using DRV8825 driver over SPI. Accept speed and direction commands via UART at 115200 baud. Use a FreeRTOS queue to decouple command reception from motor control.
Open in Architect→Read 4 analog sensors via ADC in round-robin using DMA. Log data to SD card over SPI every 100ms. Blink LED on GPIO 25 as a heartbeat every 500ms using a separate low-priority FreeRTOS task.
Open in Architect→Initialize BLE advertising with a custom service UUID. On connection, receive data via BLE characteristic and echo it back. Flash onboard LED when data is received. No RTOS — use interrupt-driven approach.
Open in Architect→Sample an accelerometer (MPU6050) via I2C at 100Hz. Detect a free-fall event using threshold comparison. On detection, send an alert via UART and toggle a buzzer GPIO for 500ms.
Open in Architect→Read 3 ultrasonic sensors (HC-SR04) using GPIO timing. Display distances on a 16x2 LCD via I2C. Sound a buzzer if any sensor reads under 20cm. Use FreeRTOS with 3 sensor tasks and 1 display task.
Open in Architect→Quick Start
Choose Your Mode
Use Snippet Generator for single peripheral initialization code, or RTOS Architect for complete multi-task firmware projects.
Configure & Prompt
Select your MCU and peripheral, fill in pin and timing parameters, or describe your firmware behavior in plain English.
Copy & Flash
Generated code is ready to paste directly into your IDE — STM32CubeIDE, Arduino IDE, ESP-IDF, or VS Code with PlatformIO.