In this guide, we'll cover how to build a ESP32s3-based Bluetooth Nugget and combine it with a LoRa backpack to create a Meshtastic node!
Bluetooth Nugget Meshtastic Node
The Bluetooth Nugget is the latest release from the Retia team, updating the previous design with a more powerful esp32s3 microcontroller, flatter screen, better (and more) buttons, neopixel out and i2c ports, and expandable ports for backpacks.
The LoRa backpack is a compact, low-power radio add-on ideal for IoT and Meshtastic applications. It supports easy sensor integration and offers software defined power output (+5 to +20 dBm). Designed as a plug-and-play backpack for USB Nugget and Bluetooth Nugget, it works seamlessly with CircuitPython, Arduino, and Meshtastic.
Adding a LoRa backpack to a Bluetooth Nugget allows you to run Meshtastic, and is optimized for adding hardware to support various Meshtastic modules. It allows you to add UART, SPI, and I2C devices, including GPS modules, sensors, RFID readers, and displays.
Designed for applications such as environmental monitoring, presence detection, and remote command execution, it offers reliable communication with minimal power draw.
Soldering a Bluetooth Nugget
To put together a Bluetooth Nugget, you'll need the following supplies:
- 1x Bluetooth Nugget PCB with screen
- 1x Wemos S3 Mini board
- 2x low-profile female pin headers
- Adhesive for mounting the screen (double sided tape)
A Bluetooth Nugget starts without a microcontroller and with the screen flipped to the wrong side. Let's go through the steps of
Building the Bluetooth Nugget
From the factory, Bluetooth Nuggets come with the screen flipped to the wrong side, and without a microcontroller. Here's how we put one together!
#1 Adding the screen
First, carefully push both corners of the screen over the ears one by one until the screen is flipped to the front side.
Use a strip of double sided tape to cover the exposed pin headers and adhere the screen into place.
Make sure to align the screen properly! It is difficult to move after it's stuck into place.
#2 Adding Pinheaders
Next, we'll add the esp32s3 based Wemos S3 Mini board. We'll also add low-profile female pin headers, which will keep our add-ons fitting correctly. These pin headers are a little hard to find sometimes, but can be bought on Aliexpress.
Here are the dimensions of the pin headers
Here's everything we'll need to finish:
First, solder on the low profile pin headers to the top of the microcontroller as seen below. Make sure these are straight, and only solder on a single pin before going any further!
Check the pins are straight, and only solder other pins if you're sure. You can reheat the one soldered pin if you need to straighten them using this technique.
In the picture above, a single pin is soldered, allowing me to check to see if the pin headers are on straight. Once they are, solder the rest of the pins.
#3 Adding the Microcontroller
For the final step, rotate the S3 Mini so that the USB port is on the top facing outwards. It should be aligned with the white square on the PCB.
Place the S3 Mini straight down on the male pins sticking up from the PCB.
Once you are sure the S3 Mini is all the way down and as flat as possible, solder each pin into place.
That's it! Your Bluetooth Nugget is assembled and ready to use.
LoRa Backpack Assembly
The LoRa Backpack should come fully assembled. Make sure to add an antenna to your LoRa module before continuing if one isn't already there!
If you need to make an antenna, you can use a piece of wire with this formula:
Quarter-Wave Antenna Lengths
Frequency | Metric (mm/cm) | Imperial (inches) |
---|---|---|
915 MHz | 82.0 mm (8.2 cm) | 3.23 inches |
868 MHz | 86.3 mm (8.63 cm) | 3.40 inches |
You can check the frequency of the board by looking for a mark on the PCB indicating if it uses an EU or US radio module.
Flashing Meshtastic
Download the firmware .zip file from Github: link
Unzip the firmware from GitHub, and In a Chrome browser, go to https://espressif.github.io/esptool-js/
Hold down the "0" button on your Bluetooth Nugget while plugging it in. This will put it in flashing mode.
Now, click the "connect" button.
Select the serial port your Nugget is connected to.
Finally, click the "add file" button to select the bootloader.bin, partitions.bin, and firmware.bin files to be uploaded.
Add the flash addresses as seen below, and hit program!
After the board finishes flashing, unplug it and plug it back in to run the new firmware!