You are browsing as a guest. Sign up (or log in) to start making projects!

3h 52m 28s logged

I’m moving and deleting this project from Macondo to Stardust, so here is what it’s about !

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.

The device consists of 7 components: Seeed Studio XIAO ESP32 S3 Plus, Seeed Studio Lora32 SX1262, Seeed Studio L76K GNSS Module, GY-9250 BMP085 Module, GC9A01 Round TFT screen, 503040 600mAh Battery, and a Flexible antenna for the gps module.

Each node connects to each other individually or in groups, working simultaneously in a mesh. 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, nodes retransmit incoming data packets to other users in the network to increase range.

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.

To optimize battery life and not saturate the airwaves, my system uses a Supply-demand approach. When the node 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. 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 should ping at a set interval tied to speed using the accelerometer, 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 based on distance.

Interaction with the node will be based on gestures using the GY-9250 accelerometer and gyro to navigate menus similar to a smart watch. We can leverage our LoRa connection to send quick preconfigurable messages or write one using a gesture keyboard or morse code.

An SOS function sends a signal to all nodes paired, making the nodes flash red and highlight the SOS’ing node.

The PCB is a simple 4 layer PCB that houses all of the off the shelf components. The two outer 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. I will make a 3D printed case for it to be portable and comfortable.

I would like this project to be modular and community focused, so I encourage collaboration integrating other microcontrollers, screens, or IMUs all from the same modular firmware.

0
10

Comments 0

No comments yet. Be the first!