armhub.dev
Interactive tools

Paste real values. Get real answers.

Calculators and decoders for the questions you actually have at 3am — "why did my code HardFault?", "what does this build flag do?", "which Cortex-M for this product?". Built for working firmware engineers, not marketing.

HardFault decoder

Paste CFSR / HFSR / UFSR / BFSR hex values. Get the exact bits set, what each fault means, and what likely caused it.

Triage Cortex-M HardFault crashesCFSRHFSRMMFARBFAR

Stack-frame visualizer

Paste the 8 (or 25 with FPU) words an exception pushes onto the stack. See which is R0–R3, R12, LR, PC, xPSR, and decode each field.

Read exception dumps and dead-stack memorySP+0 … SP+28

Find my MCU

Filter by core, RAM, flash, radio, vendor and certifications. Surfaces the realistic STM32 / nRF / RP / NXP / SiLabs picks for your product.

Pick the right chip for a new designcorememorywirelesspower

GCC flag explainer

Paste an arm-none-eabi-gcc command. Every flag gets decoded with what it does, when you need it, and where in the docs to read more.

Demystify someone else's build commandarm-none-eabi-gcc …

NVIC priority simulator

Configure __NVIC_PRIO_BITS + PRIGROUP, add IRQs, see exactly how the priority byte splits into preempt + sub-priority and which IRQ preempts which.

Plan an interrupt priority schemePRIGROUP__NVIC_PRIO_BITSIRQ list

Interrupt latency calculator

Pick a core, clock, and where stack / vector table live. Get a cycle-by-cycle breakdown of exception entry, plus tail-chain and late-arrival numbers.

Size real-time IRQ budgetscoreclock MHzmemory regionsFPU

Linker script builder

Configure FLASH / SRAM / ITCM / DTCM regions, stack and heap, vector-table placement. Generates a complete linker.ld with .isr_vector, .data load → run, and C++ ctor arrays.

Drop-in linker script for a new boardregionsstackheapvector table
More tools coming

SVD register browser · DMA stream planner · CMSIS-Pack diff · Power-budget estimator. Reach out via GitHub if there's a calculator you wish existed.