Board

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.

Start building free
  • 8peripheral areas modeled
  • 5projects ready to run
  • Real timeon your own machine
STM32 Nucleo-F411RE: blinklive0.000 s 0.00x
Click to open it in the editor
The board is running real firmware right now. Click it to open the circuit in the editor.
The model

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.
Start here

Open one and press Run

Each of these opens in the editor exactly as it is drawn here.

Projects

Every built-in project on the Nucleo-F411RE

Each has its own page with the circuit running, the code and a parts list.

Libraries

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.

Servo.h
attach, write, writeMicroseconds, read, detach, on any pin
Wire.h
I2C as a master; Wire.begin() puts it on D14 (SDA, PB9) and D15 (SCL, PB8)
SPI.h
transfer and transactions, on the board’s usual SPI pins
EEPROM.h
read, write, update, get, put and EEPROM[i], kept in 4 KB of RAM, which a reset clears: this board has no EEPROM to write
LiquidCrystal_I2C.h
the 16x2 LCD behind its I2C backpack
Adafruit_GFX.h and Adafruit_SSD1306.h
the 128x64 I2C OLED: text, pixels, lines, rectangles, circles, triangles and bitmaps
DHT.h
the DHT11 and DHT22: temperature, humidity and the heat index, as floats you can print
OneWire.h and DallasTemperature.h
DS18B20 thermometers, any number on one pin, found by the 1-Wire search

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.

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.