GrowSpace

[Raspberry Pi Practice] GrowSpace UWB Tag Integration Guide – How to Receive Position Data

Contents

This guide explains how to connect the GrowSpace UWB Developer Tag to a Raspberry Pi 4 Model B and receive real-time position data using lec and lep commands. It also covers how to implement serial communication and parse received data using Python.

GrowSpace UWB Developer Tag: Materials Required

  • Raspberry Pi 4 Model B
Raspberry Pi 4 Model B connected to the GrowSpace UWB Developer Tag via serial pins
  • USB-C power adapter (5V 3A or higher)
  • GrowSpace UWB Developer Tag
  • Jumper wires (TX, RX, GND, 3.3V)
  • Python 3.9.2 or higher
  • pyserial package

Environment Setup

OS: Debian GNU/Linux 11 (bullseye)

Python: 3.9.2

Required package: pyserial

Enabling UART Port

  1. Run the following in the terminal:

2. Navigate to:

  • Interface Options → Serial Port
    • Login shell via serial: No
    • Enable serial port hardware: Yes

3. Then reboot:

GrowSpace UWB Developer Tag Serial Pin Configuration

The GrowSpace Developer Tag uses the left-side connector, which operates at 3.3V logic level, for UART communication with the Raspberry Pi’s Serial0 port.

Developer Tag PinRaspberry Pi PinGPIO
TXPin 10 (RXD)GPIO15
RXPin 8 (TXD)GPIO14
3.3VPin 1
GNDPin 6
GrowSpace UWB Developer Tag wired to Raspberry Pi 4 GPIO pins with TX, RX, 3.3V and GND jumper wires

주의: Note: TX ↔ RX must be crossed
Tag TX → Pi RX

Tag RX → Pi TX

Make sure to check the Raspberry Pi 40-pin GPIO layout.

📌Reference: Raspberry Pi GPIO Pinout Diagram

Below is the full pinout of the 40-pin header on the Raspberry Pi.

Make sure to identify the locations of TX0 (GPIO14, Pin 8), RX0 (GPIO15, Pin 10), 3.3V (Pin 1), and GND (Pin 6) accurately.

Use this diagram to ensure your serial connection with the GrowSpace Developer Tag is configured correctly.

GrowSpace UWB Developer Tag serial pin voltage level wiring diagram

Developer Tag Serial Port Voltage Levels

The GrowSpace Developer Tag provides two UART serial ports, and they are not just physically separate — they operate at different voltage levels.

  • Port 1: TX, RX, 3.3V, GND → for 3.3V-level UART communication (left-side connector)
  • Port 2: TX, RX, 5V, GND → for 5V-level UART communication (right-side connector)
GrowSpace Q1 Listener device used alongside the UWB Developer Tag

In this tutorial, since the Raspberry Pi’s UART operates at 3.3V, you must connect to Port 1.
Connecting a 5V TX signal directly to the Pi’s GPIO may damage the board, so please ensure correct port selection.

Serial Communication Test Code (Python)

The above code runs two threads simultaneously within the main() function:

  • read_from_uwb() reads incoming data from the Developer Tag (UWB module) in real-time and prints it to the console.
  • write_to_uwb() sends user-entered commands to the tag via serial communication. (A '\r' carriage return is automatically appended to each command.)
Raspberry Pi terminal showing UART port configuration for the GrowSpace UWB Developer Tag

And if you enter the si command directly, the UWB tag will respond, confirming that the communication is successfully established.

Parsing Position Data (lec / lep)

LEP – Parse Position Only

LEC – Parse Distance + Position

Combined Serial Reading Loop

  • Example Output
Python script output receiving position data from the GrowSpace UWB Developer Tag
LEP Result
Serial monitor displaying real-time distance readings from the GrowSpace UWB Developer Tag
LEC Result

Conclusion: GrowSpace UWB Developer Tag Recap

In this guide, we covered:

With this setup, you can build a lightweight RTLS testbed or integrate UWB positioning into your own smart system.

If you need support, feel free to reach out! 😊

PLANNING A DEPLOYMENT?

Which setup fits your site?

GrowSpace designs real-time location tracking (RTLS) around the conditions of your factory, warehouse or construction site — installation, integration with existing systems and ongoing operation handled by one team.

Explore UWB RTLSTalk to us

Share this post