Skip to the content
PCBKitNew board
4 layers24 × 48 mmLodeStonePCB, the printed circuit board in 3D

Don't lose your friends with this GPS LoRa P2P compass!

Size
24 × 48 mm
Copper layers
4
Thickness
1.6 mm
Parts
8
Nets
64
Pads
119
Tracks, vias
231, 92
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
1 Jun 2026
Updated
2 Aug 2026

Overview

LodeStonePCB is an open-source printed circuit board by ThePangel, from the ThePangel/LodeStone repository on GitHub, published under the GPL-3.0 licence. It is a 4-layer board of 24 × 48 mm with 8 parts on 64 nets, routed with 231 tracks and 92 vias.

Its parts include 2 ICs and 1 inductor. It belongs with the radio and wireless boards and the ESP32 boards of this library.

README

README.md

LodeStone

Don't lose your friends with this GPS LoRa P2P compass!


The Idea

Where it came from

Just recently my district's fair started, and between all the crowds and the size of the fairgrounds It's pretty hard to find my friends, especially when we get separated, so with that and me playing a bunch of Minecraft this idea of a Mesh LoRa P2P compass came about.

The name is a reference to the lodestone block in Minecraft which lets you set custom compass targets.


Features

  • Compass like display pointing at the other nodes in the mesh network
  • Top down map-like view of all nodes in the network
  • Encrypted location data
  • Gesture based navigation using the gyroscope and accelerometer
  • Short messages (Using some sort of keyboard using the gestures, or morse code)
  • Heavily optimized battery life

How would it work?

The device consists of 7 components:

  • Seeed Studio XIAO ESP32 S3 Plus (As the brains of the device)
  • Seeed Studio Lora32 SX1262 (For LoRa)
  • Seeed Studio L76K GNSS Module (For GPS)
  • GY-9250 BMP085 Module (For Accelerometer, Gyroscope and an actual compass)
  • GC9A01 Round TFT screen
  • 503040 600mAh Battery
  • Flexible antenna for the gps module (The standard ceramic one that comes with the module is far too bulky)
Connectivity

The idea is that each node connects to each other individually or in groups, working simultaneously.

Pairing is done by a gesture password consisting of holds and taps, basically a morse code pin. You pair your devices using the same pin, then they handshake, share keys, and establish a connection.

Even if they are not paired (and if enabled), nodes retransmit incoming data packets to other users in the network to increase range.

Display

The compass and map are drawn by taking GPS data from both nodes and the GY-9250 compass and accelerometer to calculate the direction the other node is at.

Battery

To optimize battery life and not saturate the airwaves, my system uses a Supply-demand approach. When the node (as a pendant or in the pocket) is still and facing away from the user, it is just listening for either location packets or a request packet. If it receives a location packet, it will update that node's location in memory and nothing else. If it receives a request packet, it will send its own location.

When the node is pulled up to be viewed, it will send a request packet to other nodes to update their location in memory, and a location packet so other nodes update it's location. It will do this at customizable intervals of time while it is being viewed. For signal integrity, the sending node must receive a confirmation packet back to ensure the transmission was successful. This workflow keeps battery usage to a minimum.

I still think it should ping at a set interval to guarante some type of connection, since maybe I can recieve my friends location, but he can't recieve my request so I knever know were he is this could be also tied to speed using the accelerometer, this meaning, the more they move the more they send, if they are still it will default to some configurable interval

We could also tune transmition gain baised on distance, with some headroom of course

Interface

To maintain a compact formfactor, interaction with the node will be based on gestures, using the GY-9250 accelerometer and gyro.

Some of this gestures could be:

  • Tap/Double Tap
  • Shake
  • Tilt right/left/up/down

The menus would be similar to a smart watch.

Messaging

We can leverage our LoRa connection to send quick preconfigurable messages or write one at that moment using a gesture keyboard or morse code.

In the future I may develop an app to make this easier (tbh just use meshtashtic or meshcore atp), but this is intended for short notification like messages.

I would also like to add an SOS function that sends a signal to all nodes paired, or even if enabled on both ends, all nodes in the network, this will make the nodes flash red and highlight the SOS'ing node.

PCB

The PCB is a simple 4 layer PCB that as compactly as possible houses all of the off the shelf components, making it very cheap and easy to assemble, the two outter planes hold traces and GND while the two inner layers are full ground pours, a bunch of vias connect the 4 GNDs to improve RF performance

PCB1 PCB2

PCB3

3D printed case

I will make a 3D printed case, as small and tight as possible for it to be portable and comfortable, of course anyone could design their own cases.

CASE

FOSS and modularity

I would like this project to be modular and community focused, so I encourage colaboration integrating for example:

  • Other ESP or microcontroller models
  • Other screens
  • Extra input components
  • Other IMU

etc.. all from the same modular firmware.

Parts

8
QtyValueFootprintReferences
2LOGOLOGOG***, G***
1LoRaLodeStoneFootprint:Wio-SX1262 PCB PackageU2
1XIAO-ESP32-S3-Plus-SMDLodeStoneFootprint:XIAO-ESP32-S3-Plus-SMDU1
1~LodeStoneFootprint:XIAO-14P-Add-OnL76K_GNSS_Module1
1~Connector_PinHeader_2.54mm:PinHeader_1x10_P2.54mm_VerticalGY-9250_9Axis_IMU1
1~Connector_PinHeader_2.54mm:PinHeader_1x07_P2.54mm_VerticalGC9A01_Round_TFTscreen1

The 7 most common of 8 parts.

Questions

How big is the LodeStonePCB PCB?

It measures 24 × 48 mm and has 4 copper layers, 1.6 mm thick.

What parts does the LodeStonePCB use?

8 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 LodeStonePCB KiCad files?

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

Can I use the LodeStonePCB design in my own project?

Its repository publishes it under the GPL-3.0 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

  • 4 layers18.5 × 18.5 mmAmp macom, the printed circuit board in 3D

    Amp macom

    loxodes/vna

    Under development open hardware microwave vector network analyzer

    8 parts205
  • 4 layers5.6 × 5 mmBNO055 08092019, the printed circuit board in 3D

    BNO055 08092019

    Aharoni-Lab/Miniscope-v4

    All things Miniscope v4

    8 parts161GPL-3.0
  • 4 layers110 × 95 mmMatchgroup test routed, the printed circuit board in 3D

    Matchgroup test routed

    rjwalters/kicad-tools

    Standalone Python tools for parsing and manipulating KiCad schematic and PCB files

    8 parts73MIT
  • 4 layers15 × 22 mmVN750PS E, the printed circuit board in 3D

    VN750PS E

    rusefi/rusefi-hardware

    8 parts52
  • 4 layers7.3 × 12.7 mmMulti imu, the printed circuit board in 3D

    Multi imu

    ras-marques/ImmersiveGloves

    I want to share how I am making vr gloves using 2 Tundra Trackers, 2 interface boards and 12 inertial sensors.

    8 parts29MIT
  • 4 layers114.3 × 18.4 mmPram, the printed circuit board in 3D

    Pram

    dojoe/K2500-PRAM

    A P/RAM extension remake for Kurzweil K2500 synthesizers

    8 parts20
  • 4 layers20 × 20.5 mmS XIAO, the printed circuit board in 3D

    S XIAO

    Aightech/CleverHand-hardware

    8 parts17GPL-3.0