{
  "name": "Free Embedded & IoT Reversing Resources",
  "site": "https://firmware.lowlevellibrary.com",
  "brand": "Firmware Library",
  "parent": "https://lowlevellibrary.com/",
  "updated": "2026-10-14",
  "count": 24,
  "entries": [
    {
      "id": "iotgoat",
      "title": "OWASP IoTGoat",
      "provider": "OWASP",
      "url": "https://github.com/OWASP/IoTGoat",
      "tags": [
        "practice",
        "iot",
        "firmware",
        "vulnerable"
      ],
      "level": "Beginner",
      "format": "Vulnerable firmware (GitHub)",
      "license": "Free to access. Copyright held by the provider; this directory only links to it and reproduces no content.",
      "source": "Official GitHub",
      "summary": "Intentionally vulnerable IoT firmware image for practicing extraction and analysis safely.",
      "page": "https://firmware.lowlevellibrary.com/entries/iotgoat/",
      "free": true,
      "verified": "2026-10-14"
    },
    {
      "id": "owasp-fstm",
      "title": "OWASP Firmware Security Testing Methodology",
      "provider": "OWASP / scriptingxss",
      "url": "https://github.com/scriptingxss/owasp-fstm",
      "tags": [
        "methodology",
        "firmware",
        "guide"
      ],
      "level": "Beginner",
      "format": "Methodology (GitHub)",
      "license": "Free to access. Copyright held by the provider; this directory only links to it and reproduces no content.",
      "source": "Official GitHub",
      "summary": "Structured methodology for testing firmware: acquisition, extraction, analysis and reporting.",
      "page": "https://firmware.lowlevellibrary.com/entries/owasp-fstm/",
      "free": true,
      "verified": "2026-10-14"
    },
    {
      "id": "binwalk",
      "title": "Binwalk",
      "provider": "ReFirmLabs",
      "url": "https://github.com/ReFirmLabs/binwalk",
      "tags": [
        "tools",
        "extraction",
        "firmware"
      ],
      "level": "Beginner",
      "format": "Open-source tool (GitHub)",
      "license": "Free to access. Copyright held by the provider; this directory only links to it and reproduces no content.",
      "source": "Official GitHub",
      "summary": "Signature-based firmware carving and filesystem extraction toolkit.",
      "page": "https://firmware.lowlevellibrary.com/entries/binwalk/",
      "free": true,
      "verified": "2026-10-14"
    },
    {
      "id": "fat",
      "title": "Firmware Analysis Toolkit",
      "provider": "Attify",
      "url": "https://github.com/attify/firmware-analysis-toolkit",
      "tags": [
        "tools",
        "emulation",
        "firmware"
      ],
      "level": "Intermediate",
      "format": "Toolkit (GitHub)",
      "license": "Free to access. Copyright held by the provider; this directory only links to it and reproduces no content.",
      "source": "Official GitHub",
      "summary": "Convenience wrappers around firmware emulation and analysis tools for quick lab setups.",
      "page": "https://firmware.lowlevellibrary.com/entries/fat/",
      "free": true,
      "verified": "2026-10-14"
    },
    {
      "id": "firmadyne",
      "title": "Firmadyne",
      "provider": "Firmadyne project",
      "url": "https://github.com/firmadyne/firmadyne",
      "tags": [
        "tools",
        "emulation",
        "linux"
      ],
      "level": "Advanced",
      "format": "Research toolkit (GitHub)",
      "license": "Free to access. Copyright held by the provider; this directory only links to it and reproduces no content.",
      "source": "Official GitHub",
      "summary": "System for automated emulation and dynamic analysis of Linux-based firmware.",
      "page": "https://firmware.lowlevellibrary.com/entries/firmadyne/",
      "free": true,
      "verified": "2026-10-14"
    },
    {
      "id": "emba",
      "title": "EMBA",
      "provider": "e-m-b-a",
      "url": "https://github.com/e-m-b-a/emba",
      "tags": [
        "tools",
        "scanner",
        "firmware"
      ],
      "level": "Intermediate",
      "format": "Open-source tool (GitHub)",
      "license": "Free to access. Copyright held by the provider; this directory only links to it and reproduces no content.",
      "source": "Official GitHub",
      "summary": "Automated firmware analyzer that runs many static and dynamic checks and produces reports.",
      "page": "https://firmware.lowlevellibrary.com/entries/emba/",
      "free": true,
      "verified": "2026-10-14"
    },
    {
      "id": "openocd",
      "title": "OpenOCD documentation",
      "provider": "OpenOCD project",
      "url": "https://openocd.org/doc/html/index.html",
      "tags": [
        "tools",
        "jtag",
        "debug",
        "hardware"
      ],
      "level": "Intermediate",
      "format": "Official docs",
      "license": "Free to access. Copyright held by the provider; this directory only links to it and reproduces no content.",
      "source": "Official docs",
      "summary": "Docs for Open On-Chip Debugger — JTAG/SWD access to microcontrollers and boards.",
      "page": "https://firmware.lowlevellibrary.com/entries/openocd/",
      "free": true,
      "verified": "2026-10-14"
    },
    {
      "id": "sparkfun-serial",
      "title": "Serial Communication",
      "provider": "SparkFun",
      "url": "https://learn.sparkfun.com/tutorials/serial-communication",
      "tags": [
        "uart",
        "hardware",
        "beginner"
      ],
      "level": "Beginner",
      "format": "Tutorial",
      "license": "Free to access. Copyright held by the provider; this directory only links to it and reproduces no content.",
      "source": "SparkFun Learn",
      "summary": "Clear primer on UART serial links, wiring and debugging — essential for talking to devices.",
      "page": "https://firmware.lowlevellibrary.com/entries/sparkfun-serial/",
      "free": true,
      "verified": "2026-10-14"
    },
    {
      "id": "wrongbaud",
      "title": "Wrongbaud blog",
      "provider": "Wrongbaud",
      "url": "https://wrongbaud.github.io/",
      "tags": [
        "blog",
        "hardware",
        "jtag",
        "writeups"
      ],
      "level": "Intermediate",
      "format": "Blog",
      "license": "Free to access. Copyright held by the provider; this directory only links to it and reproduces no content.",
      "source": "Official blog",
      "summary": "Hardware reverse-engineering writeups covering JTAG, glitching and device teardown.",
      "page": "https://firmware.lowlevellibrary.com/entries/wrongbaud/",
      "free": true,
      "verified": "2026-10-14"
    },
    {
      "id": "voidstarsec",
      "title": "VoidStar Security blog",
      "provider": "VoidStar Security",
      "url": "https://voidstarsec.com/blog/",
      "tags": [
        "blog",
        "firmware",
        "hardware",
        "training"
      ],
      "level": "Intermediate",
      "format": "Blog",
      "license": "Free to access. Copyright held by the provider; this directory only links to it and reproduces no content.",
      "source": "Official blog",
      "summary": "Firmware and hardware security posts from a team that also teaches embedded RE.",
      "page": "https://firmware.lowlevellibrary.com/entries/voidstarsec/",
      "free": true,
      "verified": "2026-10-14"
    },
    {
      "id": "fact",
      "title": "FACT (Firmware Analysis and Comparison Tool)",
      "provider": "Fraunhofer FKIE",
      "url": "https://github.com/fkie-cad/FACT_core",
      "tags": [
        "tools",
        "analysis",
        "comparison"
      ],
      "level": "Advanced",
      "format": "Open-source platform (GitHub)",
      "license": "Free to access. Copyright held by the provider; this directory only links to it and reproduces no content.",
      "source": "Official GitHub",
      "summary": "Scalable platform for unpacking, analyzing and comparing large sets of firmware images.",
      "page": "https://firmware.lowlevellibrary.com/entries/fact/",
      "free": true,
      "verified": "2026-10-14"
    },
    {
      "id": "qiling",
      "title": "Qiling Framework",
      "provider": "Qiling project",
      "url": "https://github.com/qilingframework/qiling",
      "tags": [
        "tools",
        "emulation",
        "cross-arch"
      ],
      "level": "Advanced",
      "format": "Emulation framework (GitHub)",
      "license": "Free to access. Copyright held by the provider; this directory only links to it and reproduces no content.",
      "source": "Official GitHub",
      "summary": "Cross-platform binary emulation framework useful for running firmware components without hardware.",
      "page": "https://firmware.lowlevellibrary.com/entries/qiling/",
      "free": true,
      "verified": "2026-10-14"
    },
    {
      "id": "memfault-interrupt",
      "title": "Interrupt (Memfault)",
      "provider": "Memfault",
      "url": "https://interrupt.memfault.com/blog/",
      "tags": [
        "blog",
        "embedded",
        "firmware",
        "engineering"
      ],
      "level": "Intermediate",
      "format": "Engineering blog",
      "license": "Free to access. Copyright held by the provider; this directory only links to it and reproduces no content.",
      "source": "Official blog",
      "summary": "Practical embedded engineering articles on debugging, watchdogs, bootloaders and more.",
      "page": "https://firmware.lowlevellibrary.com/entries/memfault-interrupt/",
      "free": true,
      "verified": "2026-10-14"
    },
    {
      "id": "microcorruption",
      "title": "Microcorruption",
      "provider": "Matasano / NCC Group",
      "url": "https://microcorruption.com/",
      "tags": [
        "practice",
        "ctf",
        "msp430",
        "embedded"
      ],
      "level": "Beginner",
      "format": "Browser CTF",
      "license": "Free to access. Copyright held by the provider; this directory only links to it and reproduces no content.",
      "source": "Official site",
      "summary": "Browser-based CTF that teaches embedded exploitation on a fictional lock with an MSP430.",
      "page": "https://firmware.lowlevellibrary.com/entries/microcorruption/",
      "free": true,
      "verified": "2026-10-14"
    },
    {
      "id": "devttys0",
      "title": "/dev/ttyS0 tutorials",
      "provider": "devttys0",
      "url": "https://www.devttys0.com/category/tutorials/",
      "tags": [
        "blog",
        "uart",
        "firmware",
        "tutorials"
      ],
      "level": "Beginner",
      "format": "Tutorial blog",
      "license": "Free to access. Copyright held by the provider; this directory only links to it and reproduces no content.",
      "source": "Official blog",
      "summary": "Classic tutorials on UART consoles, firmware extraction and router reversing.",
      "page": "https://firmware.lowlevellibrary.com/entries/devttys0/",
      "free": true,
      "verified": "2026-10-14"
    },
    {
      "id": "esp-idf",
      "title": "ESP-IDF Programming Guide",
      "provider": "Espressif",
      "url": "https://docs.espressif.com/projects/esp-idf/en/latest/esp32/",
      "tags": [
        "esp32",
        "sdk",
        "docs",
        "iot"
      ],
      "level": "Intermediate",
      "format": "Official docs",
      "license": "Free to access. Copyright held by the provider; this directory only links to it and reproduces no content.",
      "source": "Espressif docs",
      "summary": "Official SDK documentation for ESP32 — useful both for building and for recognizing firmware layouts.",
      "page": "https://firmware.lowlevellibrary.com/entries/esp-idf/",
      "free": true,
      "verified": "2026-10-14"
    },
    {
      "id": "zephyr-docs",
      "title": "Zephyr Project documentation",
      "provider": "Zephyr Project",
      "url": "https://docs.zephyrproject.org/latest/",
      "tags": [
        "rtos",
        "docs",
        "embedded"
      ],
      "level": "Intermediate",
      "format": "Official docs",
      "license": "Free to access. Copyright held by the provider; this directory only links to it and reproduces no content.",
      "source": "Official docs",
      "summary": "Docs for the Zephyr RTOS used on many IoT and embedded boards.",
      "page": "https://firmware.lowlevellibrary.com/entries/zephyr-docs/",
      "free": true,
      "verified": "2026-10-14"
    },
    {
      "id": "rust-embedded-book",
      "title": "The Embedded Rust Book",
      "provider": "Rust Embedded Working Group",
      "url": "https://docs.rust-embedded.org/book/",
      "tags": [
        "rust",
        "embedded",
        "book"
      ],
      "level": "Intermediate",
      "format": "Online book",
      "license": "Free to access. Copyright held by the provider; this directory only links to it and reproduces no content.",
      "source": "Official book",
      "summary": "Free book on writing bare-metal and RTOS-style firmware in Rust.",
      "page": "https://firmware.lowlevellibrary.com/entries/rust-embedded-book/",
      "free": true,
      "verified": "2026-10-14"
    },
    {
      "id": "pico-sdk",
      "title": "Raspberry Pi Pico C/C++ SDK",
      "provider": "Raspberry Pi",
      "url": "https://github.com/raspberrypi/pico-sdk",
      "tags": [
        "rp2040",
        "sdk",
        "hardware"
      ],
      "level": "Beginner",
      "format": "SDK (GitHub)",
      "license": "Free to access. Copyright held by the provider; this directory only links to it and reproduces no content.",
      "source": "Official GitHub",
      "summary": "Official SDK for the RP2040 / Pico family, including bootrom and hardware APIs.",
      "page": "https://firmware.lowlevellibrary.com/entries/pico-sdk/",
      "free": true,
      "verified": "2026-10-14"
    },
    {
      "id": "pico-sdk-pdf",
      "title": "Getting started with Raspberry Pi Pico (C SDK PDF)",
      "provider": "Raspberry Pi",
      "url": "https://datasheets.raspberrypi.com/pico/raspberry-pi-pico-c-sdk.pdf",
      "tags": [
        "rp2040",
        "pdf",
        "beginner"
      ],
      "level": "Beginner",
      "format": "PDF guide",
      "license": "Free to access. Copyright held by the provider; this directory only links to it and reproduces no content.",
      "source": "Official datasheet",
      "summary": "PDF companion that walks through bringing up C projects on the Pico.",
      "page": "https://firmware.lowlevellibrary.com/entries/pico-sdk-pdf/",
      "free": true,
      "verified": "2026-10-14"
    },
    {
      "id": "freertos-book",
      "title": "Mastering the FreeRTOS Real Time Kernel",
      "provider": "FreeRTOS / Amazon",
      "url": "https://www.freertos.org/Documentation/02-Kernel/07-Books-and-manual/01-RTOS_book",
      "tags": [
        "rtos",
        "book",
        "freertos"
      ],
      "level": "Intermediate",
      "format": "Free book",
      "license": "Free to access. Copyright held by the provider; this directory only links to it and reproduces no content.",
      "source": "Official FreeRTOS docs",
      "summary": "Free book covering FreeRTOS kernel concepts used across countless firmware codebases.",
      "page": "https://firmware.lowlevellibrary.com/entries/freertos-book/",
      "free": true,
      "verified": "2026-10-14"
    },
    {
      "id": "flashrom",
      "title": "flashrom",
      "provider": "flashrom project",
      "url": "https://www.flashrom.org/",
      "tags": [
        "tools",
        "spi",
        "flash",
        "hardware"
      ],
      "level": "Intermediate",
      "format": "Open-source tool",
      "license": "Free to access. Copyright held by the provider; this directory only links to it and reproduces no content.",
      "source": "Official site",
      "summary": "Utility for reading and writing chip firmware over SPI and similar programmer interfaces.",
      "page": "https://firmware.lowlevellibrary.com/entries/flashrom/",
      "free": true,
      "verified": "2026-10-14"
    },
    {
      "id": "probe-rs",
      "title": "probe-rs",
      "provider": "probe-rs project",
      "url": "https://github.com/probe-rs/probe-rs",
      "tags": [
        "tools",
        "debug",
        "rust",
        "swd"
      ],
      "level": "Intermediate",
      "format": "Open-source tool (GitHub)",
      "license": "Free to access. Copyright held by the provider; this directory only links to it and reproduces no content.",
      "source": "Official GitHub",
      "summary": "Modern debug probe toolkit (SWD/JTAG) with a Rust core and cargo integration.",
      "page": "https://firmware.lowlevellibrary.com/entries/probe-rs/",
      "free": true,
      "verified": "2026-10-14"
    },
    {
      "id": "awesome-iot-hacks",
      "title": "awesome-iot-hacks",
      "provider": "nebgnahz",
      "url": "https://github.com/nebgnahz/awesome-iot-hacks",
      "tags": [
        "awesome-list",
        "iot",
        "writeups"
      ],
      "level": "Reference",
      "format": "Curated list (GitHub)",
      "license": "Free to access. Copyright held by the provider; this directory only links to it and reproduces no content.",
      "source": "Official GitHub",
      "summary": "Curated links to published IoT and firmware hack writeups for inspiration and learning.",
      "page": "https://firmware.lowlevellibrary.com/entries/awesome-iot-hacks/",
      "free": true,
      "verified": "2026-10-14"
    }
  ]
}