Skip to the content
PCBKitNew board
2 layers69.9 × 100 mmSpell tome bottom, the printed circuit board in 3D

Spell tome bottom

bitshiftcrazy/spell_tome7

A handheld PCB spell tome for tabletop RPGs, the cringiest text adventures you'll ever play and mini games no one asked for. Built around a tiny OLED for minimal gaming and a Seeed Studio XIAO RP2040 for maximum reprogramming comfort.

Size
69.9 × 100 mm
Copper layers
2
Thickness
1.6 mm
Parts
25
Nets
33
Pads
93
Tracks, vias
137, 6
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
26 May 2026
Updated
30 May 2026

Overview

Spell tome bottom is an open-source printed circuit board by bitshiftcrazy, from the bitshiftcrazy/spell_tome repository on GitHub. It is a 2-layer board of 69.9 × 100 mm with 25 parts on 33 nets, routed with 137 tracks and 6 vias.

Its parts include 8 capacitors, 6 resistors, 5 switches, 2 ICs and 2 connectors. It belongs with the RP2040 boards of this library.

README

README.md

Spell Tome PCB

A handheld fantasy-themed PCB spell tome designed for tabletop RPGs and other shenanigans.

The Spell Tome is a sandwiched, book-like PCB build consisting of a functional electronics PCB and a decorative top PCB. Originally it was designed as a magical artifact for a custom text adventure and small games.

Right now it's evolving into anything that can be done with a tiny OLED and 4 buttons (stay tuned!).


Features

  • Handheld layered PCB construction
  • Decorative top PCB with silkscreen and copper artwork
  • Book-label-style OLED display
  • RGB status eye staring at your soul
  • Push buttons
  • Powered by 2x AAA batteries
  • Designed around the Seeed Studio XIAO RP2040
  • Custom firmware for text adventures and other games (currently under cleanup, coming soon)

Gallery


Hardware Overview

The Spell Tome is designed around a Seeed Studio XIAO RP2040 to make it easy to customise, reprogram, and repurpose. It consists of two separate PCBs that together form a small handheld device, no additional case needed.

Bottom PCB

The bottom PCB holds all the electronics, meaning the schematics only refer to the bottom PCB. Buttons and RGB LED parts are flat so that the handheld stays slim overall.

Top PCB

The top PCB functions as a decorative cover for the handheld. It has an eye-shaped keepout zone so the status LED's light shines through. Very magic. Much wow.

It also has cutouts for 4 3D printed buttons.


Main Components

The parts selection is mainly influenced by "I have this at home already" and "I want people to be able to easily assemble and program it":

  • Seeed Studio XIAO RP2040 microcontroller
  • 1.3" OLED display
  • MCP1640 boost converter
  • RGB status LED
  • 4x tactile push buttons
  • Power slide switch
  • 2x AAA battery holder
  • 4x 3D printed button caps
  • 4x spacers and screws (ideally golden, for the vibe)

Of course the project also uses standard components such as resistors, capacitors, and passive power circuitry. You'll find them and their respective values in the BOM files in:

text
fabrication/bom/

Assembly

PCB Stackup

Since the Spell Tome uses a layered PCB construction, you'll need to fit these parts together:

  1. Bottom electronics PCB
  2. Printed button elements
  3. Decorative top PCB
  4. Battery holder

To assemble the Tome you'll need M2.5 screws and spacers/standoffs (6 mm worked well for me here).

Detailed soldering instructions follow.

Assuming you already soldered the parts:

  1. Screw the standoff to the bottom PCB (screw on the outward-facing side, standoff inside)
  2. Put the button-shaped button parts through the top PCB's holes and secure them with the little 3D printed rings
  3. Put the cover on top of the standoffs on the bottom PCB and test the buttons a little to find a good distance before screwing it on (you can also adjust this later with something pointy)
  4. Glue the battery holder to the back where it feels comfortable and make sure to secure the wires with a little glue as well
Mechanical Button Parts

3D printable parts are available in:

text
mechanical/

Print the buttons without supports.

Assembly Notes

  • you can find golden screws that pass the vibe check if you look for jewellery screws
  • I printed the buttons in white PLA, but it's probably more comfy to use TPU and prettier with something shiny
  • depending on how thick you want that thing to be, you can also use longer standoffs and put the batteries between the sandwich layers

Repository Structure

text
spell_tome/
├── artwork/        # Source artwork and SVG files
├── fabrication/    # BOMs and fabrication outputs
├── libraries/      # Local KiCad symbol and footprint libraries
├── mechanical/     # 3D printable parts
├── pics/           # Images and renders
├── *.kicad_*       # Main KiCad project files
└── README.md

Firmware

Firmware was hacked together in one long weekend and is currently under cleanup (guess "a little messy" is fine for personal projects, "wtf even is that" is not ;)) and will be published in this repo soon.

Features:

  • the cringiest text adventure you'll ever play
  • impractical mini games
  • the mysterious blood moon side quest

Fabrication

Gerbers and manufacturing files can be generated directly from the KiCad project files. The current Gerbers are the tested and working version.

Please make sure to regenerate them before sending something to fabrication, I cannot be trusted to remember to do this after every change I make.

Pre-generated fabrication outputs belong and are available in:

text
fabrication/gerbers/

Color inspo

Further Reading

License

Hardware design files are licensed under the CERN Open Hardware Licence Version 2 - Strongly Reciprocal (CERN-OHL-S-2.0).

See the LICENSE file for details.

Copyright (c) 2026 miss.molerat

Parts

25
QtyValueFootprintReferences
40.1uFCapacitor_SMD:C_0603_1608MetricC2(CIN_HF)1, C4(COUT_HF)1, C5(C_RGB)1, C7(C_OLED)1
4SW_Push_mytome:SW-SMD_4P-L3.4-W3.4-P2.15-LS4.2SW1, SW3, SW4, SW5
310uFCapacitor_SMD:C_0805_2012MetricC1(CIN)1, C3(COUT)1, C3(COUT)2
2150 OhmResistor_SMD:R_0603_1608MetricR2(green)1, R3(blue)1
1390kOhmResistor_SMD:R_0603_1608MetricR5(R_bottom)1
1470 OhmResistor_SMD:R_0603_1608MetricR1(red)1
147pFCapacitor_SMD:C_0603_1608MetricC6(Cff)1
1680kOhmResistor_SMD:R_0603_1608MetricR4(R_top)1
1Conn_01x02_PinConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ2
1Conn_01x04_PinConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ1
1Ltome:IND-SMD_L6.0-W6.0_NR6028T2R2NL1
1LED_RABGtome:LED-ARRAY-SMD_4P-L1.6-W1.5-TL_NH-B1515RGBAD1
1MCP1640x-xCHYtome:SOT-23-6_L2.9-W1.6-P0.95-LS2.8-BRU2
1RResistor_SMD:R_0603_1608MetricR6
1SW_SPDT_321tome:SW-SMD_SSSS810701SW2
1XIAO-RP2040-DIPseeed_xiao:XIAO-RP2040-DIPU1

Questions

How big is the Spell tome bottom PCB?

It measures 69.9 × 100 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Spell tome bottom use?

25 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Spell tome bottom KiCad files?

From the bitshiftcrazy/spell_tome repository on GitHub, at the commit this page was made from: the board is spell_tome_bottom.kicad_pcb and its schematic spell_tome_bottom.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Spell tome bottom design in my own project?

Its repository states no licence, so its author keeps all rights: ask bitshiftcrazy before reusing the design.

Similar boards

  • 2 layers159.5 × 30 mmType f, the printed circuit board in 3D

    Type f

    google/mozc-devices

    Circuit diagrams and firmware source code for Gboard DIY keyboards

    25 parts3kApache-2.0
  • 2 layers113.5 × 95.1 mmSweep high, the printed circuit board in 3D

    Sweep high

    davidphilipbarr/Sweep

    Sweep - a small promicro based keyboard inspired by the Ferris.

    25 parts2.1k
  • 2 layers58.4 × 114.3 mmPicoPedal, the printed circuit board in 3D

    PicoPedal

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    25 parts915
  • 2 layers54 × 15 mmXyp gpib, the printed circuit board in 3D

    Xyp gpib

    xyphro/UsbGpib

    Versatile, cheap and portable USB to GPIB converter (USBTMC class based)

    25 parts690MIT
  • 2 layers50 × 76 mmVoron 0, the printed circuit board in 3D

    Voron 0

    dennisss/dacha

    Monorepo for awesome tools/projects/libraries

    25 parts397Apache-2.0
  • 2 layers237.5 × 102.9 mmStorage, the printed circuit board in 3D

    Storage

    jes/scamp-cpu

    A homebrew 16-bit CPU with a homebrew Unix-like-ish operating system.

    25 parts301Unlicense
  • 2 layers43.3 × 21 mmNanoS3 Carrier, the printed circuit board in 3D

    NanoS3 Carrier

    UnexpectedMaker/esp32s3

    Assorted files for my ESP32-S3 development boards

    25 parts296