Neural Inverse is Open Source →
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

ManufacturerFamiliesVariants
STMicroelectronicsSTM32F0, F1, F3, F4, F7, G0, G4, H7, L4, U5, WB, WL80+
Nordic SemiconductornRF52810, nRF52832, nRF52833, nRF52840, nRF5340, nRF91606
EspressifESP32, ESP32-S2, ESP32-S3, ESP32-C3, ESP32-C6, ESP32-H26
Raspberry PiRP2040, RP23502
NXPi.MX RT, LPC55, Kinetis K3+
MicrochipSAM D21, SAM E51, AVR Mega, PIC324+
Texas InstrumentsMSP430, CC2640, C2000, CC26xx10+
InfineonAURIX TC264, TC275, TC397, TC2344
GigaDeviceGD32VF103 (RISC-V)1
Bouffalo LabBL602 (RISC-V + WiFi)1
RenesasRA, RX, RL78Multiple

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

CoreExample MCUs
Cortex-M0 / M0+STM32F0, STM32L0, RP2040, SAM D21
Cortex-M3STM32F1, STM32F2, LPC1768
Cortex-M4STM32F4, STM32G4, nRF52, SAM E51
Cortex-M7STM32F7, STM32H7, i.MX RT
Cortex-M23 / M33STM32L5, STM32U5, nRF9160, nRF5340
Cortex-M55 / M85Next-gen ML cores
Cortex-RReal-time profiles
Xtensa LX6/LX7ESP32, ESP32-S2, ESP32-S3
RISC-VESP32-C3, ESP32-C6, GD32VF103, BL602
TriCoreInfineon AURIX TC3xx
C28xTI C2000 DSP
MSP430TI ultra-low-power
AVRMicrochip ATmega/ATtiny

Searching the Database

Use the agent tool:

> fw_search_mcu cortex-m4 fpu 1mb flash

Or search by board name:

> fw_search_mcu nucleo

The 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):

  1. SVD register maps — All peripheral registers, bit fields, access types, reset values
  2. Memory layout — Flash/RAM regions with addresses and sizes
  3. Clock constraints — PLL limits, prescaler ranges, max frequencies
  4. Errata database — Known silicon bugs with workarounds
  5. GPIO AF database — Alternate function mapping per pin
  6. Peripheral list — Available peripheral instances
  7. 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