Skip to content

Instantly share code, notes, and snippets.

@lomereiter
lomereiter / MICROFREAK_RE_101.MD
Created September 5, 2026 17:10
MicroFreak firmware reverse engineering

I/O addresses for emulation

Everything here is pinned to two firmware images:

  • Main MCU: nanowave_main__fw5_0_0_2084__2023_05_30.bin (STM32F446, Cortex-M4F)
  • OLED chip: nanowave_iochip_oled__fw1_0_0_1905__2023_05_29.bin (Cortex-M0-class)

Firmware images

  • Both files carry a 64-byte header; the ARM payload starts at file offset 0x40.

Serialization: best practices

(In this document I pay attention mostly to data storage in scientific applications, not to web protocols.)

Traditional approaches

  • XML:
    • slow to parse
    • schemas (.xsd) are human-readable but hard to edit without special software
  • tooling for generating code for reading/writing is limited (mostly to Java)