Skip to the content
4 layers25 × 28 mmDisplay, the printed circuit board in 3D

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

Size
25 × 28 mm
Copper layers
4
Thickness
1.6 mm
Parts
20
Nets
24
Pads
75
Tracks, vias
0, 0
Routed
Not yet
KiCad
KiCad 10.0 (file 20260206)
Created
5 Jun 2026
Updated
5 Oct 2026

Overview

Display is an open-source printed circuit board by wildjames, from the wildjames/smart_compass repository on GitHub. It is a 4-layer board of 25 × 28 mm with 20 parts on 24 nets.

It is built around the MBR0540-TP, CL31B475KBHNFNE and RC0603FR-0710KL, with the CGA4J3X5R1A106K125AB, SRN3015BTA-100M and FH12-10S-0.5SH(55) among its other parts. Its parts include 11 capacitors, 3 diodes, 2 resistors, 2 connectors and 1 transistor. It belongs with the lEDs and displays boards of this library.

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

20
QtyValueFootprintReferences
81uFCapacitor_SMD:C_0603_1608MetricC1, C3, C4, C5, C7, C8, C10, C11
3MBR0540Diode_SMD:D_SOD-123D1, D2, D3
24.7uFCapacitor_SMD:C_1206_3216MetricC6, C9
110KResistor_SMD:R_0603_1608MetricR1
110uFCapacitor_SMD:C_0805_2012MetricC2
110uHsmart_compass:L_Bourns_SRN3015BTAL1
13RResistor_SMD:R_0603_1608MetricR2
1FH12-10S-0.5SH(55)Connector_FFC-FPC:Hirose_FH12-10S-0.5SH_1x10-1MP_P0.50mm_HorizontalJ1
1FH12-24S-0.5SH(55)smart_compass:HRS_FH12-24S-0.5SH_55_J2
1IRLML6346Package_TO_SOT_SMD:SOT-23Q1

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
  • 2 layers53.3 × 53 mmLedRing, the printed circuit board in 3D

    LedRing

    wildjames/smart_compass

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

    45 parts

Similar boards

  • 2 layers100 × 100 mmLEOS efm, the printed circuit board in 3D

    LEOS efm

    VIP-LES/leos-efm-pcb

    This repository is the starting-point PCB template for VIP Lightning From the Edge of Space (LEOS). All LEOS modules should be spun off from this template so that every module begins with the standard Raspberry Pi Pico…

    58 parts
  • 2 layers60 × 111.3 mmSilkscreen pcb, the printed circuit board in 3D

    Silkscreen pcb

    iandchasse/silkscreen-pcb

    Silkscreen: open-hardware ESP32-S3 e-paper reader mainboard (KiCad 9). Formerly the de-link hub.

    189 parts589CERN-OHL-S-2.0
  • 4 layers59 × 101 mmEnku mainboard r0.1, the printed circuit board in 3D

    Enku mainboard r0.1

    aliaksei-lameyka/ENKU-Base-reader

    Open enku-mainboard-r0.1.kicadpro with KiCad10.0.7. Matching PCB/root schematic and power.kicadsch, mcuio.kicadsch, epdhv.kicadsch, connectors.kicadsch are canonical.

    127 parts1CERN-OHL-W-2.0
  • 4 layers59.8 × 77.3 mmPocketRenderer3D V2, the printed circuit board in 3D

    PocketRenderer3D V2

    oguztaskin755-lgtm/PCB_3D_Renderer

    A PCB with STM32 and SSD1306 that displayes 3D objects using a 3D Renderer I made.

    29 partsMIT
  • 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

Questions

How big is the Display PCB?

It measures 25 × 28 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Display use?

20 parts, built around the MBR0540-TP, CL31B475KBHNFNE, RC0603FR-0710KL and CGA4J3X5R1A106K125AB. 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 Display KiCad files?

From the wildjames/smart_compass repository on GitHub, at the commit this page was made from: the board is boards/display/Display.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 Display design in my own project?

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