The modern reference
for ARM development.
Architecture, peripherals, RTOSes, toolchains, vendor families, and real-world system designs — from microcontrollers to flight controllers, end to end.
A reference written by people who ship firmware.
Six pillars, dozens of deep-dives, hundreds of working code samples — and not a single paragraph of marketing.
Architecture, end to end
ARMv6-M through ARMv9-A. Exception model, memory ordering, TrustZone.
Every Cortex-M, compared
M0 to M85 — sortable table, deep-dives on NVIC, SysTick, MPU.
Peripherals that ship
GPIO, UART, SPI, I²C, CAN, DMA, USB. Patterns and traps that bite at 3am.
Cortex-R safety
Lockstep, ISO 26262, ASIL coverage. Hard real-time, no compromises.
Toolchains, demystified
GCC vs LLVM, GDB + probes, CMake, Rust, C++.
System designs
Real products — Wi-Fi router, smartwatch, EV charger, drone, ECU.
Interactive widgets, not screenshots.
Every register, memory map, and core comparison on armhub is built as a real component — hover, focus, sort, scroll.
Cortex-M lineup
Read full page →| Core | Arch | Pipe | DMIPS | FPU | DSP | MPU | TZ | MVE | Notes |
|---|---|---|---|---|---|---|---|---|---|
| Cortex-M0 | ARMv6-M | 3-stage | 0.84/MHz | — | Subset of Thumb-2. | ||||
| Cortex-M0+ | ARMv6-M | 2-stage | 0.95/MHz | — | Single-cycle I/O port. | ||||
| Cortex-M23 | ARMv8-M Baseline | 2-stage | 0.99/MHz | — | Secure & non-secure worlds. | ||||
| Cortex-M3 | ARMv7-M | 3-stage | 1.25/MHz | — | The classic mid-range core. | ||||
| Cortex-M33 | ARMv8-M Mainline | 3-stage | 1.50/MHz | SP | Used in nRF53, STM32L5/U5. | ||||
| Cortex-M4 | ARMv7E-M | 3-stage | 1.25/MHz | SP | Most popular general-purpose MCU core. | ||||
| Cortex-M55 | ARMv8.1-M | 4-stage | 1.6/MHz | SP/DP | 4–5× DSP/ML uplift vs. M4. | ||||
| Cortex-M7 | ARMv7E-M | 6-stage | 2.14/MHz | SP/DP | Used in i.MX RT, STM32H7. | ||||
| Cortex-M85 | ARMv8.1-M | 7-stage | 3.0/MHz | SP/DP | i.MX RT700, Renesas RA8. |
Code, highlighted
NVIC deep dive →// Set up a USART2 RX interrupt on Cortex-M4
NVIC_SetPriorityGrouping(0);
NVIC_SetPriority(USART2_IRQn, 5);
NVIC_EnableIRQ(USART2_IRQn);
__DSB(); __ISB(); // ensure the enable is observed
void USART2_IRQHandler(void) {
if (USART2->ISR & USART_ISR_RXNE) {
char c = USART2->RDR; // reading RDR clears RXNE
ring_push(c);
}
}- 0xE000_0000Private Peripheral Bussystem
- 0x4000_0000Peripheralperiph
- 0x2000_0000SRAMsram
- 0x0000_0000Codecode
How real devices are actually built.
Block diagrams, software stacks, and design tradeoffs for embedded products you've probably touched today.
Wi-Fi router (Wi-Fi 6)
Quad Cortex-A53 + dedicated MAC/PHY + NPU offload. Linux/OpenWrt.
Smartwatch / tracker
Dual Cortex-M33 SoC. 5–15 day battery, BLE GATT services.
Drone flight controller
Cortex-M7 @ 480 MHz. 8 kHz attitude loop, PX4/ArduPilot.
EV charger
Cortex-M7 + Wi-Fi MCU. J1772 control pilot, RCD, OCPP cloud.
Smart thermostat
Cortex-M33 + Thread/Matter radio. Power-stealing, LVGL UI.
Automotive ECU
ASILCortex-R52 lockstep. CAN-FD, ISO 26262, AUTOSAR Classic.
Every section, every page.
Architecture
15 pagesARMv6-M through ARMv9-A. Pipelines, modes, exception models, memory ordering, security extensions.
Cortex-M
24 pagesMicrocontroller-class cores — M0 through M85. Real-time, deterministic, deeply embedded.
Cortex-A
12 pagesApplications-class cores running rich operating systems. MMU, caches, SMP, virtualization.
Cortex-R
8 pagesHard real-time, safety-critical. Lockstep cores, MPUs, tightly coupled memories.
Peripherals
19 pagesGPIO, UART, SPI, I²C, CAN, USB, Ethernet, DMA, ADC/DAC, timers — pattern-by-pattern.
Systems
16 pagesHow real products are built — Wi-Fi routers, smartwatches, drones, EV chargers, thermostats. Block diagrams, software stacks, design tradeoffs.
Programming
55 pagesC, C++, Rust, assembly. Linker scripts, startup, CMSIS, low-level patterns — plus three hands-on tutorial tracks.
RTOS
21 pagesFreeRTOS, Zephyr, ThreadX, RT-Thread. Schedulers, IPC, tickless idle, priority inversion — plus a hands-on FreeRTOS tutorial.
Tools
10 pagesCompilers, debuggers, probes, IDEs, build systems, simulators.
Vendors
43 pagesSTM32, NXP, Nordic, RP2040, Renesas, TI, Microchip, Silicon Labs, Infineon — plus GigaDevice, Artery, Nuvoton, Ambiq, Maxim/ADI, NVIDIA Jetson, MediaTek, and Rockchip.
Open. Make it better.
Found a mistake? Have a peripheral pattern that should be canonical here? Open a PR. armhub.dev is for working engineers, written by working engineers.