STM32 Nucleo-F411RE simulator, Uno headers and all
Mokxi models ST’s Nucleo-F411RE on our own Cortex-M4 core, with the STM32F411 at the 100 MHz STM32duino runs it at. Pins are numbered as STM32duino numbers them, so D13, 13, PA5 and LED_BUILTIN are one pin, and Serial is the ST-LINK’s virtual COM port.
- 8peripheral areas modeled
- 5projects ready to run
- Real timeon your own machine
What is modeled
Taken from the board's own contract document and put in plain words, with what is missing beside it.
Modeled
- Core
- Cortex-M4 (ARMv7-M) at 100 MHz, a cycle every 10 ns
- Headers
- The Arduino Uno headers, D2 to D15 and A0 to A5, and every morpho pin the board connects
- GPIO
- Ports A to D, with the real MODER, OTYPER, PUPDR and BSRR registers at their real addresses
- ADC1
- Twelve bits, read through analogRead in STM32duino’s ten by default, on A0 to A5 and the other ADC pins
- PWM
- TIM1 to TIM5 at 1 kHz on every pin STM32duino routes analogWrite to, D3, D5, D6, D9, D10 and D11 among them
- Serial
- USART2 on PA2 and PA3, the ST-LINK’s virtual COM port, wired to the serial monitor
- LD2 and B1
- The green LED on D13 lights on HIGH; the blue USER button on PC13 reads LOW while you hold it, through the board’s 4.7 k pull-up
- RESET
- Hold the black B2 button while it runs and the chip stays in reset; let go and the sketch starts again
Not modeled
- D0 and D1: as the board ships, they are not connected (solder bridges SB62 and SB63 are open) and Serial goes to the ST-LINK instead.
- I2C, SPI and DMA hardware: Wire and SPI work in software on D14/D15 and D10 to D13, the pins STM32duino uses, but their peripherals are not modeled.
- The FPU: floats are computed in software, so they come out the same and take more cycles than on the chip.
- The clock tree, USB, the RTC, the 32.768 kHz crystal on PC14 and PC15, and vendor binaries: the runtime here is ours, not the STM32Cube HAL.
Open one and press Run
Each of these opens in the editor exactly as it is drawn here.
Every built-in project on the Nucleo-F411RE
Each has its own page with the circuit running, the code and a parts list.
Arduino libraries that compile as they are
Paste a tutorial that includes one of these and it builds. For any other library, the build names the Mokxi header that does the same job.
And 14 more, 22 in all: Adafruit_BME280.h, Adafruit_BMP280.h and SparkFunBME280.h; RTClib.h; Adafruit_SHT31.h; Adafruit_PCF8591.h; Adafruit_ADXL345_U.h; LedControl.h; Adafruit_LEDBackpack.h; Adafruit_TCS34725.h; Adafruit_SGP30.h; Adafruit_INA219.h; Adafruit_ADS1X15.h; Adafruit_MCP23X17.h; Bounce2.h; HX711.h.
Questions
Is it free?
Yes. Every board and every part is on the free plan, with no account needed.
Which pin is LED_BUILTIN?
D13, which is PA5 on the STM32. It goes to ground through LD2, so HIGH lights it, as on an Uno.
Why does nothing come out of D0 and D1?
The board leaves them unconnected unless you close SB62 and SB63. Serial is USART2 on PA2 and PA3, which goes to the ST-LINK’s USB port, and that is what the serial monitor shows.
Is there a Serial1?
Not by default, as in STM32duino: its NUCLEO_F411RE makes USART2 the Serial (Serial2) and starts no other port.
Does it run my Nucleo-F401RE sketch?
Usually: the F401RE Nucleo has the same headers and pins. It runs at 84 MHz where this one runs at 100, which only code that counts cycles notices.
The other boards
Every one of these runs today, and every one is free.
Looking for the shorter introduction? See the STM32 simulator page.
A RISC-V chip at 160 MHz, on the real memory map.
The classic Arduino, with an ATmega328P running at 16 MHz.
The Uno’s chip on a small board that fits a breadboard.
The big Arduino, with 54 digital pins and four serial ports.
An Uno-shaped board whose chip does its own USB serial.
A second RISC-V board, with 31 pins and simulated WiFi.
The classic ESP32 at 240 MHz, with simulated WiFi.
The ESP32-S3 at 240 MHz, with USB serial and an RGB LED.
Try it on your own firmware
What you build here runs on the board on your desk, unchanged. Nothing to install and no account needed.