Skip to the content
PCBKitNew board
2 layers53.3 × 53 mmLedRing, the printed circuit board in 3D

The product is going to be something similar to the compass in the Pirates of the Caribbean.

Size
53.3 × 53 mm
Copper layers
2
Thickness
1.6 mm
Parts
45
Nets
25
Pads
139
Tracks, vias
0, 0
Routed
Not yet
KiCad
KiCad 10.0 (file 20260206)
Created
5 Jun 2026
Updated
5 Oct 2026

Overview

LedRing is an open-source printed circuit board by wildjames, from the wildjames/smart_compass repository on GitHub. It is a 2-layer board of 53.3 × 53 mm with 45 parts on 25 nets.

It is built around the TPS61023DRL, SN74AHCT1G125DBVR(UMW) and IN-PI15TAT5R5G5B, with the CL21A226KPCLRNC, RC0603FR-07100KL and CGA4J3X5R1A106K125AB among its other parts. Its parts include 21 capacitors, 16 diodes, 4 resistors, 2 ICs and 1 connector.

Main components

8

README

README.md

Smart Compass

The product is going to be something similar to the compass in the Pirates of the Caribbean.

It has a ring of LEDs that indicate the direction you need to walk in to get to the place you want to be, which can be other devices in a tracking group, waypoints on a navigation route (e.g. hiking), Atlas Obscura sites for the city you're in, or some location you pinned (e.g. where you parked your car, or something like that). Locations will be either pins dropped by the compass itself, or loaded to the device using a companion app on a phone - communicating with that means the device needs BLE. The nRF52840 module gives that.

The compass has a GNSS module for getting its own location, and a 9-axis IMU for the compass orientation. It has a LoRa radio for kilometer-range mesh networking, allowing it to maintain an off-grid communication layer in cases where the cell network is either unavailable (e.g. rural locations, mountains), or overloaded (e.g. music festivals and other large events) - or if you just don't want to be carrying a phone (e.g. a kid being set loose in a shopping centre).

For typical single-device operation, however, the compass will rely on a companion phone app. Using the app, the user can navigate to desired location without referring to their phone. These can be user-defined, like setting the navigation destination on Maps, or get a list of Locations of Interest (LoI) from something like Atlas Obscura. I could also do a "hot/cold" thing with phone RSSI signal strength to get a kind of phone finder feature, but that may not be very useful.

Design requirements

The device has a few core requirements:

  • It must operate with no companion phone or PC. It's fine to have a phone for initial setup, or for additional features, but peer-to-peer operation must be entirely on-device.
  • Tracking must be done by the device. The GNSS network must be used for this.
  • The device must be secure - there must be no way for non-paired devices to be able to discern the location of a device, even if they are part of the same mesh network.
  • Communication between devices must be long-range. Kilometer ranges between peers is a requirement, and longer ranges with a mesh network is also necessary.
  • The battery must last for at least a day, but 3 day battery life is the target. Deep sleep, low power, and high polling modes should be used to assist this.
  • The device must be handheld. No external antenna is ideal, but the option to add one may be worthwhile.
  • The device must have flash storage
  • The device needs an on-board way to communicate the direction and distance of paired devices.
    • The device must have a ring of addressable RGB LEDs for peer indication.
    • The device must have a haptic engine for feedback
    • The device may have a speaker for feedback.

I'm writing down user flows as I think of them in the User Flow Library page.


Archived KiCAD packages

  • 0.1: First edition.
  • 0.2: Submitted to reddit for hope of review. First hierarchical schematic.
  • 0.3: Reviewed connections, fixed a few bugs with USB and SPI.
  • 0.4: Rerouted the board to place the e-ink connector correctly, and the MCU more centrally. Also made the antenna placement more seriously, with proper clearance zone and via stitching.

Thoughts

The component cost per device is up to ~£50. The boards are about £5 per board for the first run (some heavy discounts, I shouldn't squander that). Assembled, the first shipment of 5 boards would cost $115 plus ~$60 in components per board makes that up to $400. That's a hefty chunk of cash. I could try getting just two assembled for this initial run, which brings it down to like, $200, but that's still pricey.

TODO list

  • Breaking the LED ring and display out to daughter boards is in progress. The two new schematics exist at boards/led_ring/ and boards/display/; see boards/README.md for the interconnect pinouts and what still has to be stripped out of the main board.
    • Similarly, it may be worth breaking the LoRa and GNSS out to a daughter board, which may make the antenna placement easier. Less compelling though, and probably not worth the extra thickness.
  • I can apparently use a pi pico 2 as an SWD programmer, to flash the bootloader, and from there I can just upload via the native USB. I need to prove this out though.
  • I will do the programming in Rust, using the Embassy ecosystem. This will give me the memory safety and speed of rust (nice when there is no easy way to see crashes on the device), but also the fearless concurrency will be a massive boon with all the ICs that need to be interfaced with.

Parts

45
QtyValueFootprintReferences
170.1uFCapacitor_SMD:C_0402_1005MetricC1, C2, C3, C4, C5, C6, C7, C8, C11, C12, C13, C14, C15, C16, C17, C18 +1
16IN-PI15TAT5R5G5Bsmart_compass:LED_Inolux_IN-PI15TAT5R5G5B_1515D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16
322uFCapacitor_SMD:C_0805_2012MetricC10, C20, C21
1100KResistor_SMD:R_0603_1608MetricR4
110uFCapacitor_SMD:C_0805_2012MetricC19
12.2KResistor_SMD:R_0603_1608MetricR1
12.2uHInductor_SMD:L_1008_2520MetricL1
13.9KResistor_SMD:R_0603_1608MetricR2
1732KResistor_SMD:R_0603_1608MetricR3
174AHCT1G125Package_TO_SOT_SMD:SOT-23-5U1
1FH12-10S-0.5SH(55)Connector_FFC-FPC:Hirose_FH12-10S-0.5SH_1x10-1MP_P0.50mm_HorizontalJ1
1TPS61023Package_TO_SOT_SMD:SOT-563U2

Questions

How big is the LedRing PCB?

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

What parts does the LedRing use?

45 parts, built around the TPS61023DRL, SN74AHCT1G125DBVR(UMW), IN-PI15TAT5R5G5B and CL21A226KPCLRNC. 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 LedRing KiCad files?

From the wildjames/smart_compass repository on GitHub, at the commit this page was made from: the board is boards/led_ring/LedRing.kicad_pcb and its schematic boards/display/Display.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the LedRing design in my own project?

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

More from wildjames/smart_compass

2
  • 4 layersSmartCompass, the printed circuit board in 3D

    SmartCompass

    wildjames/smart_compass

    The product is going to be something similar to the compass in the Pirates of the Caribbean.

    78 parts
  • 4 layers25 × 28 mmDisplay, the printed circuit board in 3D

    Display

    wildjames/smart_compass

    The product is going to be something similar to the compass in the Pirates of the Caribbean.

    20 parts

Similar boards

  • 2 layers64 × 50 mmEverAliveSensor PCB, the printed circuit board in 3D

    EverAliveSensor PCB

    jfm92/everAliveSensor

    Solar-powered BLE environmental sensor (temp, humidity, pressure) with a 50F supercapacitor — potentially infinite lifetime, 19-day dark autonomy. ESP32 + BME680. Experimental.

    54 parts28
  • 4 layers100 × 100 mmCheap version, the printed circuit board in 3D

    Cheap version

    nikolajevs/ai

    Открыть PCBV1.kicadpro в KiCad 10. После обновления репозитория перечитать открытый проект с диска перед сохранением.

    170 parts
  • 4 layers100 × 100 mmPCB EU LITE, the printed circuit board in 3D

    PCB EU LITE

    nikolajevs/PCB_EU

    Сохраняются функции PCBV1: два LED-канала с общей яркостью, два независимых PWM/тахоканала вентиляторов, PTC, помпа, SHT4x, поплавок, RTC с CR2032, microSD, Wi-Fi и существующие функции интерфейса/расписаний.

    167 parts
  • 2 layers62 × 42 mmSharpMemoryLcdBreakout PANELIZED, the printed circuit board in 3D

    SharpMemoryLcdBreakout PANELIZED

    crehmann/Sharp-Memory-LCD-Breakout

    See the BOM csv file in the release zip-file for LCSC part numbers

    46 parts17
  • 4 layers70 × 52 mmPager carrier rev a, the printed circuit board in 3D

    Pager carrier rev a

    vyquocvu/analog-ai-chip

    This directory contains the editable KiCad 10 source for the 70 mm × 52 mm, four-layer Pager-1 main carrier. The display, keypad, protected Li-Po pack, and analog accelerator are external assemblies.

    32 parts1MIT
  • 2 layers17.7 × 26.3 mmTPS42-LCD Shield, the printed circuit board in 3D

    TPS42-LCD Shield

    crehmann/TPS42

    An ergonomic split keyboard with TrackPoint support

    16 parts236
  • 2 layers170 × 100 mmPlytka nosna, the printed circuit board in 3D

    Plytka nosna

    tmierzwa/WICI

    Otwarty system łączności awaryjnej (Reticulum/LXMF, 869 MHz)

    74 parts4