{
 "slug": "odiin",
 "name": "Odiin",
 "maker": "chris marc dailey (cmdwtf)",
 "category": "rfid",
 "categoryLabel": "RFID & NFC",
 "status": "development",
 "statusLabel": "In development",
 "description": "An open-source NFC-A tag emulator on the Nordic nRF52840, built from a Pitaya Go board, a custom bridge PCB and an LCD.",
 "goodFor": "Emulate NTAG21x-style NFC-A tags from files on an SD card to learn the nRF52840 NFC peripheral.",
 "youNeed": "A makerdiary Pitaya Go, the custom Biifröst bridge PCB, an ILI9341 LCD, a debug probe and the ARM build toolchain.",
 "tradeoff": "It is an early, hand-assembled learning project: emulation is partial, assembly instructions are unfinished and it needs several off-the-shelf parts.",
 "tags": [
  "NFC emulation",
  "nRF52840",
  "Open hardware",
  "DIY build"
 ],
 "price": null,
 "priceShort": null,
 "priceFrom": null,
 "checked": "2026-09-17",
 "url": "https://gadgets.sh/devices/odiin/",
 "shortUrl": "https://gadgets.sh/odiin",
 "markdown": "https://gadgets.sh/devices/odiin.md",
 "image": "https://gadgets.sh/assets/odiin.jpg",
 "cutout": "https://gadgets.sh/assets/cutouts/odiin.webp",
 "shareCard": "https://gadgets.sh/og/odiin.jpg",
 "shops": [
  {
   "merchant": "chris marc dailey (cmdwtf)",
   "label": "Source repository",
   "kind": "repo",
   "orderable": false,
   "url": "https://github.com/cmdwtf/Odiin?utm_source=gadgets.sh&utm_medium=referral&utm_campaign=odiin&utm_content=api",
   "note": "The maker publishes this as a project, not a product listing."
  }
 ],
 "specs": [
  {
   "group": "Hardware",
   "rows": [
    {
     "label": "Controller",
     "value": "Nordic nRF52840 on a makerdiary Pitaya Go, which also provides the NFC antenna",
     "source": "https://github.com/cmdwtf/Odiin/blob/d6d8843f28e78446d1966f21096d5ed8ab0671c2/README.md"
    },
    {
     "label": "Bridge PCB",
     "value": "A custom Biifröst bridge PCB binds the dev board to the screen and input; KiCad files are a submodule",
     "source": "https://github.com/cmdwtf/Odiin/blob/d6d8843f28e78446d1966f21096d5ed8ab0671c2/.hardware/Prototype/README.md"
    },
    {
     "label": "Display and storage",
     "value": "A 2.2-inch 320x240 ILI9341 LCD with a microSD slot used for tag files",
     "source": "https://github.com/cmdwtf/Odiin/blob/d6d8843f28e78446d1966f21096d5ed8ab0671c2/README.md"
    },
    {
     "label": "Input and feedback",
     "value": "A JS1400 five-way navigation switch, two TL9100 buttons and an addressable RGB LED",
     "source": "https://github.com/cmdwtf/Odiin/blob/d6d8843f28e78446d1966f21096d5ed8ab0671c2/.hardware/Prototype/README.md"
    },
    {
     "label": "Power",
     "value": "A 500 mAh LiPo battery wedged between the dev board and the bridge",
     "source": "https://github.com/cmdwtf/Odiin/blob/d6d8843f28e78446d1966f21096d5ed8ab0671c2/.hardware/Prototype/README.md"
    },
    {
     "label": "Enclosure",
     "value": "A three-part 3D-printable case (top, bottom and switch cap) with STL files in the repository",
     "source": "https://github.com/cmdwtf/Odiin/blob/d6d8843f28e78446d1966f21096d5ed8ab0671c2/.hardware/Prototype/README.md"
    }
   ]
  },
  {
   "group": "NFC emulation",
   "rows": [
    {
     "label": "Tag types",
     "value": "NFC Forum Type 2 tag emulation, marked partial (a happy path implemented as the maker goes)",
     "source": "https://github.com/cmdwtf/Odiin/blob/d6d8843f28e78446d1966f21096d5ed8ab0671c2/README.md"
    },
    {
     "label": "NTAG support",
     "value": "NTAG213, NTAG215 and NTAG216 emulation, each marked partial",
     "source": "https://github.com/cmdwtf/Odiin/blob/d6d8843f28e78446d1966f21096d5ed8ab0671c2/README.md"
    },
    {
     "label": "Planned",
     "value": "MIFARE Classic, MIFARE Ultralight C and NDEF payload formatting are planned, not yet implemented",
     "source": "https://github.com/cmdwtf/Odiin/blob/d6d8843f28e78446d1966f21096d5ed8ab0671c2/README.md"
    },
    {
     "label": "USB features",
     "value": "A UF2-style bootloader for USB firmware updates and USB mass-storage access to edit files on the SD card",
     "source": "https://github.com/cmdwtf/Odiin/blob/d6d8843f28e78446d1966f21096d5ed8ab0671c2/README.md"
    }
   ]
  },
  {
   "group": "Build and licence",
   "rows": [
    {
     "label": "Toolchain and submodules",
     "value": "Cross-compiled with the GNU Arm Embedded Toolchain and make; nRF5 SDK, littlefs, lvgl, TinyFSM and the bootloader are git submodules",
     "source": "https://github.com/cmdwtf/Odiin/blob/d6d8843f28e78446d1966f21096d5ed8ab0671c2/.gitmodules"
    },
    {
     "label": "Licence",
     "value": "0BSD; bundled third-party components keep their own licences",
     "source": "https://github.com/cmdwtf/Odiin/blob/d6d8843f28e78446d1966f21096d5ed8ab0671c2/LICENSE"
    }
   ]
  }
 ],
 "docs": [
  {
   "label": "Maker repository",
   "url": "https://github.com/cmdwtf/Odiin"
  },
  {
   "label": "README at the reviewed commit",
   "url": "https://github.com/cmdwtf/Odiin/blob/d6d8843f28e78446d1966f21096d5ed8ab0671c2/README.md"
  },
  {
   "label": "Prototype bill of materials",
   "url": "https://github.com/cmdwtf/Odiin/blob/d6d8843f28e78446d1966f21096d5ed8ab0671c2/.hardware/Prototype/README.md"
  },
  {
   "label": "Submodule list",
   "url": "https://github.com/cmdwtf/Odiin/blob/d6d8843f28e78446d1966f21096d5ed8ab0671c2/.gitmodules"
  },
  {
   "label": "Licence",
   "url": "https://github.com/cmdwtf/Odiin/blob/d6d8843f28e78446d1966f21096d5ed8ab0671c2/LICENSE"
  },
  {
   "label": "Biifröst bridge PCB repository",
   "url": "https://github.com/cmdwtf/Biifrost"
  }
 ],
 "blueprint": {
  "openness": "open-hardware",
  "opennessLabel": "Open hardware",
  "summary": "Full KiCad source for the custom 'Biifröst' bridge PCB plus 3D-printed case STLs are public; the rest of the build uses an off-the-shelf nRF52840 dev board.",
  "files": [
   {
    "kind": "schematic",
    "label": "Biifröst bridge PCB schematic (KiCad)",
    "url": "https://github.com/cmdwtf/Biifrost/blob/main/Biifr%C3%B6st.sch",
    "format": "Eagle/KiCad"
   },
   {
    "kind": "pcb",
    "label": "Biifröst bridge PCB layout (KiCad)",
    "url": "https://github.com/cmdwtf/Biifrost/blob/main/Biifr%C3%B6st.kicad_pcb",
    "format": "KiCad"
   },
   {
    "kind": "3d-model",
    "label": "Odiin prototype case (top/bottom/cap STL)",
    "url": "https://github.com/cmdwtf/Odiin/tree/main/.hardware/Prototype",
    "format": "STL"
   },
   {
    "kind": "bom",
    "label": "Prototype bill of materials (README table)",
    "url": "https://github.com/cmdwtf/Odiin/blob/main/.hardware/Prototype/README.md",
    "format": "HTML"
   }
  ],
  "repos": [
   {
    "url": "https://github.com/cmdwtf/Odiin",
    "role": "firmware",
    "official": true,
    "license": "0BSD",
    "stars": 135,
    "pushed": "2023-07-31"
   },
   {
    "url": "https://github.com/cmdwtf/Biifrost",
    "role": "hardware",
    "official": true,
    "license": null,
    "stars": 0,
    "pushed": "2021-11-11"
   }
  ],
  "parts": [
   {
    "part": "nRF52840 (via makerdiary Pitaya Go dev board)",
    "role": "MCU / BLE / NFC",
    "datasheet": "https://www.nordicsemi.com/Products/nRF52840"
   },
   {
    "part": "ILI9341 2.2\" LCD driver",
    "role": "display"
   }
  ],
  "notes": "cmdwtf/Odiin (0BSD) is the firmware+prototype repo; its .gitmodules pulls in cmdwtf/Biifrost, a standalone KiCad project for the bridge PCB (schematic + kicad_pcb + Gerbers-ready via OSH Park shared project link in the BOM). Main compute is a third-party Pitaya Go board (not Odiin's own design), so the MCU itself isn't 'open hardware' by this project — only the bridge board is.",
  "checked": "2026-09-27"
 },
 "sourceFiles": {
  "kicad": [],
  "models": [
   {
    "label": "bottom",
    "format": "STL",
    "url": "https://raw.githubusercontent.com/cmdwtf/Odiin/main/.hardware/Prototype/bottom.stl",
    "page": "https://github.com/cmdwtf/Odiin/blob/main/.hardware/Prototype/bottom.stl",
    "bytes": 480384
   },
   {
    "label": "top",
    "format": "STL",
    "url": "https://raw.githubusercontent.com/cmdwtf/Odiin/main/.hardware/Prototype/top.stl",
    "page": "https://github.com/cmdwtf/Odiin/blob/main/.hardware/Prototype/top.stl",
    "bytes": 427884
   },
   {
    "label": "cap",
    "format": "STL",
    "url": "https://raw.githubusercontent.com/cmdwtf/Odiin/main/.hardware/Prototype/cap.stl",
    "page": "https://github.com/cmdwtf/Odiin/blob/main/.hardware/Prototype/cap.stl",
    "bytes": 144884
   }
  ]
 },
 "firmware": [],
 "chips": [
  "nrf52840",
  "ili934x"
 ]
}