DocsMCU Database
MCU Database
Neural Inverse ships with a pre-indexed database of 361 MCU variants. When you select an MCU, the IDE loads its complete hardware context — registers, memory map, peripherals, clock constraints, and known errata.
Supported Manufacturers
| Manufacturer | Families | Variants |
|---|---|---|
| STMicroelectronics | STM32F0, F1, F3, F4, F7, G0, G4, H7, L4, U5, WB, WL | 80+ |
| Nordic Semiconductor | nRF52810, nRF52832, nRF52833, nRF52840, nRF5340, nRF9160 | 6 |
| Espressif | ESP32, ESP32-S2, ESP32-S3, ESP32-C3, ESP32-C6, ESP32-H2 | 6 |
| Raspberry Pi | RP2040, RP2350 | 2 |
| NXP | i.MX RT, LPC55, Kinetis K | 3+ |
| Microchip | SAM D21, SAM E51, AVR Mega, PIC32 | 4+ |
| Texas Instruments | MSP430, CC2640, C2000, CC26xx | 10+ |
| Infineon | AURIX TC264, TC275, TC397, TC234 | 4 |
| GigaDevice | GD32VF103 (RISC-V) | 1 |
| Bouffalo Lab | BL602 (RISC-V + WiFi) | 1 |
| Renesas | RA, RX, RL78 | Multiple |
Data Per MCU Entry
Each database entry contains:
{
variant: "STM32F407VGT6", // Exact part number
family: "STM32F4", // Family group
subfamily: "STM32F407", // Subfamily
manufacturer: "ST", // Manufacturer
core: "cortex-m4", // CPU core
clockMHz: 168, // Max clock speed
flashBytes: 1048576, // Flash size (1MB)
ramBytes: 196608, // RAM size (192KB)
fpu: "single", // FPU: none | single | double
mpu: true, // Memory Protection Unit
dsp: true, // DSP instructions
gpioPins: 82, // Total GPIO pins
peripherals: [ // Available peripherals
"USART", "SPI", "I2C", "ADC", "DAC",
"DMA", "TIM", "CAN", "USB_OTG", "ETH",
"SDIO", "RNG", "DCMI"
],
memoryMap: [ // Address regions
{ name: "Flash", start: 0x08000000, size: 1048576 },
{ name: "SRAM1", start: 0x20000000, size: 131072 },
{ name: "SRAM2", start: 0x20020000, size: 65536 },
{ name: "CCM", start: 0x10000000, size: 65536 }
],
commonBoards: [
"STM32F4DISCOVERY", "NUCLEO-F407ZG"
],
keywords: ["stm32", "f4", "discovery", "168mhz"]
}Supported CPU Cores
| Core | Example MCUs |
|---|---|
| Cortex-M0 / M0+ | STM32F0, STM32L0, RP2040, SAM D21 |
| Cortex-M3 | STM32F1, STM32F2, LPC1768 |
| Cortex-M4 | STM32F4, STM32G4, nRF52, SAM E51 |
| Cortex-M7 | STM32F7, STM32H7, i.MX RT |
| Cortex-M23 / M33 | STM32L5, STM32U5, nRF9160, nRF5340 |
| Cortex-M55 / M85 | Next-gen ML cores |
| Cortex-R | Real-time profiles |
| Xtensa LX6/LX7 | ESP32, ESP32-S2, ESP32-S3 |
| RISC-V | ESP32-C3, ESP32-C6, GD32VF103, BL602 |
| TriCore | Infineon AURIX TC3xx |
| C28x | TI C2000 DSP |
| MSP430 | TI ultra-low-power |
| AVR | Microchip ATmega/ATtiny |
Searching the Database
Use the agent tool:
> fw_search_mcu cortex-m4 fpu 1mb flashOr search by board name:
> fw_search_mcu nucleoThe search supports fuzzy matching on variant, family, manufacturer, core, peripherals, boards, and keywords.
What MCU Selection Activates
When you select an MCU (via Firmware.inverse, auto-detection, or manual search):
- SVD register maps — All peripheral registers, bit fields, access types, reset values
- Memory layout — Flash/RAM regions with addresses and sizes
- Clock constraints — PLL limits, prescaler ranges, max frequencies
- Errata database — Known silicon bugs with workarounds
- GPIO AF database — Alternate function mapping per pin
- Peripheral list — Available peripheral instances
- System prompt injection — All hardware context injected into AI completions
Adding Custom MCUs
If your MCU isn't in the database, the project detector will still work if you have standard build system files. You can also specify the MCU details in your Firmware.inverse manifest with a custom SVD file path.
Was this page helpful?
Last edited