Skip to the content
PCBKitNew board
4 layersSmartCompass, the printed circuit board in 3D

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

Copper layers
4
Thickness
1.6 mm
Parts
78
Nets
103
Pads
360
Tracks, vias
829, 256
Pours
4
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
5 Jun 2026
Updated
5 Oct 2026

Overview

SmartCompass is an open-source printed circuit board by wildjames, from the wildjames/smart_compass repository on GitHub. It is a 4-layer board with 78 parts on 103 nets, routed with 829 tracks and 256 vias.

It is built around the BMD-340-A-R, MAX-M10S-00B and WIO-SX1262, with the S25FL064LABNFI043, BNO086 and MAX17048G+T10 among its other parts. Its parts include 27 capacitors, 22 resistors, 9 ICs, 5 connectors and 3 diodes.

Main components

12

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

78
QtyValueFootprintReferences
810uFCapacitor_SMD:C_0805_2012MetricC1, C8, C9, C10, C12, C19, C22, C24
70.1uFCapacitor_SMD:C_0402_1005MetricC6, C13, C15, C16, C17, C18, C23
510KResistor_SMD:R_0603_1608MetricR8, R14, R15, R16, R17
410pFCapacitor_SMD:C_0402_1005MetricC3, C4, C27, C28
45.1KResistor_SMD:R_0603_1608MetricR1, R2, R4, R10
31uFCapacitor_SMD:C_0603_1608MetricC5, C20, C21
34.7KResistor_SMD:R_0603_1608MetricR6, R7, R12
21KResistor_SMD:R_0603_1608MetricR20, R21
227RResistor_SMD:R_0603_1608MetricR3, R5
232.768KHZsmart_compass:XTAL_ABS07-32.768KHZ-7-TY1, Y2
24.7uFCapacitor_SMD:C_1206_3216MetricC7, C11
2FH12-10S-0.5SH(55)Connector_FFC-FPC:Hirose_FH12-10S-0.5SH_1x10-1MP_P0.50mm_HorizontalJ3, J4
2NMCapacitor_SMD:C_0402_1005MetricC25, C26
2SS1040-AUDiode_SMD:D_SOD-123D1, D3
10RResistor_SMD:R_0603_1608MetricR22
1100KResistor_SMD:R_0603_1608MetricR19
11575AT43A0040Esmart_compass:ANT_1575AT_JOTAE1
11MResistor_SMD:R_0603_1608MetricR9
122uFCapacitor_SMD:C_0805_2012MetricC14
13.9KResistor_SMD:R_0603_1608MetricR11
1500RResistor_SMD:R_0603_1608MetricR13
1600R@100MHzInductor_SMD:L_0603_1608MetricFB1
1BMD-340-A-Rsmart_compass:RIGADO_BMD-340-A-RU1
1BNO086smart_compass:IC_BNO086U6
1BUTTON_PADSConnector_Wire:SolderWire-0.127sqmm_1x04_P3.7mm_D0.48mm_OD1mm_ReliefP1
1DMP2045UPackage_TO_SOT_SMD:SOT-23Q1
1DRV2605LDGSRsmart_compass:SOP50P490X110-10NU7
1HAPTIC_PADSConnector_Wire:SolderWire-0.127sqmm_1x02_P3.7mm_D0.48mm_OD1mm_ReliefHAPTIC1
1IPEXsmart_compass:SMT_9.001E.01_TALJ5
1JST_PHsmart_compass:JST_S2B-PH-SM4-TBBATT1
1KMR2Button_Switch_SMD:SW_Push_1P1T-SH_NO_CK_KMR2xxGRESET1
1MAX-M10S-00Bsmart_compass:XCVR_MAX-M10S-00BU8
1MAX17048G_T10smart_compass:SON50P200X200X80-9NU5
1MCP73831T-2ACI_OTsmart_compass:SOT95P280X145-5NU4
1NMResistor_SMD:R_0603_1608MetricR18
1PWRSW_PADSConnector_Wire:SolderWire-0.127sqmm_1x02_P3.7mm_D0.48mm_OD1mm_ReliefONOFF1
1REDLED_SMD:LED_0603_1608MetricCHG1
1RT9080-33GJ5smart_compass:SOT94P280X100-5NU3
1S25FL064LABNFI043smart_compass:SON80P400X400X60-9NU2
1SWD HEADERConnector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_VerticalJ1
1TPD1E05U06DPYRsmart_compass:DIO_TPD1E05U06DPYRD2
1TestPointTestPoint:TestPoint_Pad_D1.5mmTP1
1USB4085-GF-Asmart_compass:GCT_USB4085-GF-A_REVA4X1
1Wio-SX1262smart_compass:MODULE12P-1.27-11X11.6MMIC1

Questions

What parts does the SmartCompass use?

78 parts, built around the BMD-340-A-R, MAX-M10S-00B, WIO-SX1262 and S25FL064LABNFI043. 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 SmartCompass KiCad files?

From the wildjames/smart_compass repository on GitHub, at the commit this page was made from: the board is boards/main/SmartCompass.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 SmartCompass 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
  • 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
  • 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

  • 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
  • 4 layers110 × 64 mmSYCL Badge 2024, the printed circuit board in 3D

    SYCL Badge 2024

    ZigEmbeddedGroup/sycl-badge

    The badge for the SYCL conference! https://zigembeddedgroup.github.io/sycl-badge/

    145 parts39
  • 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
  • 4 layers42 × 83.9 mmStratoSoar MK2.2, the printed circuit board in 3D

    StratoSoar MK2.2

    crnicholson/StratoSoar-MK2

    StratoSoar is an engineering project that aims to be able to fly a glider (dropped from a high-altitude balloon), down to any selected coordinates.

    116 parts24
  • 4 layers50.8 × 81.3 mmAllfc, the printed circuit board in 3D

    Allfc

    peregrine-developments/STACY

    153 parts6MIT
  • 2 layers99 × 58.5 mmHDMIspartan6 Board, the printed circuit board in 3D

    HDMIspartan6 Board

    Fabeltranm/SPARTAN6-ATMEGA-MAX5864

    259 parts4GPL-3.0
  • 4 layers90.4 × 25 mmTransponder-12.0.1, the printed circuit board in 3D

    Transponder-12.0.1

    rolandvs/ais_transponder

    A real, functioning low-power AIS transponder (class B)

    115 parts1GPL-3.0
  • 4 layers99.3 × 88.9 mmGHOUL V1.0, the printed circuit board in 3D

    GHOUL V1.0

    UMDBPP/GHOUL

    Balloon Venting Neck Insert Payload

    44 parts1