# Odiin (chris marc dailey (cmdwtf))

> An open-source NFC-A tag emulator on the Nordic nRF52840, built from a Pitaya Go board, a custom bridge PCB and an LCD.

- **Category:** RFID & NFC
- **Availability:** In development
- **Good for:** Emulate NTAG21x-style NFC-A tags from files on an SD card to learn the nRF52840 NFC peripheral.
- **You'll need:** A makerdiary Pitaya Go, the custom Biifröst bridge PCB, an ILI9341 LCD, a debug probe and the ARM build toolchain.
- **Trade-off:** It is an early, hand-assembled learning project: emulation is partial, assembly instructions are unfinished and it needs several off-the-shelf parts.
- **Page:** https://gadgets.sh/devices/odiin/

## Where to buy

| Shop | Status | Link |
|---|---|---|
| chris marc dailey (cmdwtf) | Source repository | https://github.com/cmdwtf/Odiin?utm_source=gadgets.sh&utm_medium=referral&utm_campaign=odiin&utm_content=api |

## Blueprint

**Open hardware.** 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.

### Design files

- schematic: [Biifröst bridge PCB schematic (KiCad)](https://github.com/cmdwtf/Biifrost/blob/main/Biifr%C3%B6st.sch) (Eagle/KiCad)
- pcb: [Biifröst bridge PCB layout (KiCad)](https://github.com/cmdwtf/Biifrost/blob/main/Biifr%C3%B6st.kicad_pcb) (KiCad)
- 3d-model: [Odiin prototype case (top/bottom/cap STL)](https://github.com/cmdwtf/Odiin/tree/main/.hardware/Prototype) (STL)
- bom: [Prototype bill of materials (README table)](https://github.com/cmdwtf/Odiin/blob/main/.hardware/Prototype/README.md) (HTML)

### Source repositories

- [cmdwtf/Odiin](https://github.com/cmdwtf/Odiin) — firmware, 0BSD, ★135
- [cmdwtf/Biifrost](https://github.com/cmdwtf/Biifrost) — hardware, ★0

### Key parts

| Part | Role | Datasheet |
|---|---|---|
| nRF52840 (via makerdiary Pitaya Go dev board) | MCU / BLE / NFC | https://www.nordicsemi.com/Products/nRF52840 |
| ILI9341 2.2" LCD driver | 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.

### Raw source files

Direct links an agent or KiCad can open (the viewer on the page reads the same files).

- 3D model (STL, 0.5 MB): [bottom](https://raw.githubusercontent.com/cmdwtf/Odiin/main/.hardware/Prototype/bottom.stl)
- 3D model (STL, 0.4 MB): [top](https://raw.githubusercontent.com/cmdwtf/Odiin/main/.hardware/Prototype/top.stl)
- 3D model (STL, 0.1 MB): [cap](https://raw.githubusercontent.com/cmdwtf/Odiin/main/.hardware/Prototype/cap.stl)

## Specifications

### Hardware

| | |
|---|---|
| Controller | Nordic nRF52840 on a makerdiary Pitaya Go, which also provides the NFC antenna |
| Bridge PCB | A custom Biifröst bridge PCB binds the dev board to the screen and input; KiCad files are a submodule |
| Display and storage | A 2.2-inch 320x240 ILI9341 LCD with a microSD slot used for tag files |
| Input and feedback | A JS1400 five-way navigation switch, two TL9100 buttons and an addressable RGB LED |
| Power | A 500 mAh LiPo battery wedged between the dev board and the bridge |
| Enclosure | A three-part 3D-printable case (top, bottom and switch cap) with STL files in the repository |

### NFC emulation

| | |
|---|---|
| Tag types | NFC Forum Type 2 tag emulation, marked partial (a happy path implemented as the maker goes) |
| NTAG support | NTAG213, NTAG215 and NTAG216 emulation, each marked partial |
| Planned | MIFARE Classic, MIFARE Ultralight C and NDEF payload formatting are planned, not yet implemented |
| USB features | A UF2-style bootloader for USB firmware updates and USB mass-storage access to edit files on the SD card |

### Build and licence

| | |
|---|---|
| Toolchain and submodules | Cross-compiled with the GNU Arm Embedded Toolchain and make; nRF5 SDK, littlefs, lvgl, TinyFSM and the bootloader are git submodules |
| Licence | 0BSD; bundled third-party components keep their own licences |

## Documentation

- [Maker repository](https://github.com/cmdwtf/Odiin)
- [README at the reviewed commit](https://github.com/cmdwtf/Odiin/blob/d6d8843f28e78446d1966f21096d5ed8ab0671c2/README.md)
- [Prototype bill of materials](https://github.com/cmdwtf/Odiin/blob/d6d8843f28e78446d1966f21096d5ed8ab0671c2/.hardware/Prototype/README.md)
- [Submodule list](https://github.com/cmdwtf/Odiin/blob/d6d8843f28e78446d1966f21096d5ed8ab0671c2/.gitmodules)
- [Licence](https://github.com/cmdwtf/Odiin/blob/d6d8843f28e78446d1966f21096d5ed8ab0671c2/LICENSE)
- [Biifröst bridge PCB repository](https://github.com/cmdwtf/Biifrost)

---
Source: gadgets.sh · https://gadgets.sh/devices/odiin/ · JSON: https://gadgets.sh/api/v1/devices/odiin.json
