Skip to the content
PCBKitNew board
2 layers37 × 37 mmTokeychain, the printed circuit board in 3D

An interactive keychain with an accelerometer and an OLED display powered by the Xiao ESP-32 S3 microcontroller.

Size
37 × 37 mm
Copper layers
2
Thickness
1.6 mm
Parts
3
Nets
15
Pads
51
Tracks, vias
25, 0
Pours
2
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
10 Aug 2026
Updated
18 Aug 2026

Overview

Tokeychain is an open-source printed circuit board by Toki-dev465, from the Toki-dev465/Tokeychain repository on GitHub, published under the MIT licence. It is a 2-layer board of 37 × 37 mm with 3 parts on 15 nets, routed with 25 tracks and 0 vias.

Its parts include 2 ICs and 1 connector. It belongs with the lEDs and displays boards and the ESP32 boards of this library.

README

README.md

Introduction

I built this project as a fun way to learn more about PCB, CAD and firmware design. I spent quite a lot of time on it and learned a lot especially about CAD modelling. I hope to show it off by hooking it up to my keys and other accessories.

How it works

The Xiao ESP32-S3 reads tilt from the ADXL345 accelerometer. This is used to create interactive animations displayed on the OLED. As of right now, there is only one "game", the ball game. As you tilt the device the ball starts speeding up in that direction and slows down over time from "friction." The ball also bounces off the edge, which is displayed as a white box. The device will support more of these interactive animations and the animations will be cycled by tap detection on the accelerometer module. This version of the Xiao supports a rechargeable battery with an on-board charging module, which this device will utilize.

Assembly instructions

  1. Insert OLED: Place the OLED in the rectangular cutout on the case.
  2. Stack components: Place the PCB and the battery on top of the OLED.
  3. Close case: Snap back cover onto the case until it securely clicks in place.

Firmware & Flashing

  1. Install Arduino IDE
  2. Add ESP 32 board support: Click on file, preferences, then paste this into the additional board managers URL (https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json)
  3. Select tools, board, then board manager. Search ESP 32 and install it
  4. Select tools, board, esp32, then select Xiao ESP-32-S3 and plug in the device.
  5. Hit sketch, then upload

Challenges

All went quite smoothly except for the CAD modelling part. I used Fusion only once and that was by following a tutorial. Therefore, this project gave me a massive headache! I had lots of trouble just doing the most basic and minute things such as creating a sketch, projecting onto a sketch, etc. However, due to the immense amount of time I spent, I learned a lot regarding the basics of Fusion and spending so much time on it just made completing the final design more rewarding. I am very proud of how it turned out.

PCB design

The schematic and PCB were made using the open-source software KiCad. I made sure to use global net variables for the schematic because otherwise, I would be left with incomprehensible messy wiring. The PCB uses a two-layer system. The top layer (F.Cu) is used for routing traces, whereas the bottom layer (B.Cu) is used for grounding using copper fill zones. I made sure to make the power traces 0.5mm in thickness as recommended by professionals in the industry.

SchematicPCB

PCB and Schematic files

CAD design

The CAD components were built using AutoDesk Fusion software. The components are all inside a 38x50x20 mm 3D-printed case with a key loop at the top and a USB-C cutout at the bottom. The back is covered using a snap-fit cover.

Fusion Snapshot

CAD & Print Files

Parts

3
QtyValueFootprintReferences
1Conn_01x04_Pinxiao:OLED_SSD1306_I2C_0.96J1
1XIAO-ESP32-S3-DIPxiao:XIAO-ESP32-S3-DIPU2
1module_adxl345xiao:module_adxl345U1

Questions

How big is the Tokeychain PCB?

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

What parts does the Tokeychain use?

3 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 Tokeychain KiCad files?

From the Toki-dev465/Tokeychain repository on GitHub, at the commit this page was made from: the board is PCB/Tokeychain.kicad_pcb and its schematic PCB/Tokeychain.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Tokeychain design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers40 × 30 mmBlinky, the printed circuit board in 3D

    Blinky

    earthtojake/text-to-cad

    Design physical products with AI

    3 parts26kMIT
  • 2 layers51.9 × 16 mmPassive2-rpi non standard adapter, the printed circuit board in 3D

    Passive2-rpi non standard adapter

    hzeller/rpi-rgb-led-matrix

    Controlling up to three chains of 64x64, 32x32, 16x32 or similar RGB LED displays using Raspberry Pi GPIO

    3 parts4.4kGPL-2.0
  • 2 layers16.3 × 16.3 mmSensor, the printed circuit board in 3D

    Sensor

    scottbez1/splitflap

    DIY split-flap display

    3 parts4.2k
  • 2 layersSub, the printed circuit board in 3D

    Sub

    atopile/atopile

    Design circuit boards with code! ✨ Get software-like design reuse 🚀, validation, version control and collaboration in hardware; starting with electronics ⚡️

    3 parts4kMIT
  • 2 layers85 × 30 mmDual stomp, the printed circuit board in 3D

    Dual stomp

    torvalds/GuitarPedal

    Linus learns analog circuits

    3 parts2.5kGPL-2.0
  • 2 layers124.5 × 33.7 mm172319-1 connector, the printed circuit board in 3D

    172319-1 connector

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    3 parts1.2k
  • 2 layers10.5 × 83 mmProgrammingAdapter, the printed circuit board in 3D

    ProgrammingAdapter

    stuartpittaway/diyBMSv4

    Version 4 of the diyBMS

    3 parts1.1k
  • 2 layers21.2 × 51.3 mmPico reset, the printed circuit board in 3D

    Pico reset

    hackclub/sprig

    🍃 Learn to code by making games in a JavaScript web-based game editor.

    3 parts1.1kMIT