

LoRaWan Bridge 18650 CC1101SMD
Helium Bridge is an Arduino application and printed circuit board (PCB) for ESP32 devices. It bridges data packets from sensors transmitting in the ISM bands (industrial, scientific, and medical) to LoRaWAN.
- Size
- 58 × 107 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 20
- Nets
- 28
- Pads
- 46
- Tracks, vias
- 53, 7
- Routed
- Yes
- KiCad
- KiCad 7 (file 20221018)
- Created
- 27 Sep 2023
- Updated
- 15 Oct 2023
Overview
LoRaWan Bridge 18650 CC1101SMD is an open-source printed circuit board by dirkbeer, from the dirkbeer/Helium-Bridge repository on GitHub, published under the MIT licence. It is a 2-layer board of 58 × 107 mm with 20 parts on 28 nets, routed with 53 tracks and 7 vias.
It is built around the U.FL-R-SMT(10). It belongs with the radio and wireless and interfaces and adapters boards of this library.
Main components
1README
README.mdHelium Bridge
Helium Bridge is an Arduino application and printed circuit board (PCB) for ESP32 devices. It bridges data packets from sensors transmitting in the ISM bands (industrial, scientific, and medical) to LoRaWAN.
With a Helium Bridge device connecting to the Helium network,
- Off-the-shelf consumer and commercial sensors and IoT devices can be connected to the internet
- Data can be used for environmental modeling, weather dashboards, home automation, etc.
- Off-grid deployment simple since this is a compact, low power, inexpensive device
- Many sensor devices can be relayed, and the code can be easily extended support over 100+ more
The Helium Bridge software and PCB design was sponsored by an innovation grant from the Helium Foundation to be made available open source. This work is freely available for use under its MIT License, copyright (c) 2023 Dirk Beer and Gristle King, Inc.
The Arduino code builds on these outstanding projects:
- LMIC-node, an example LoRaWAN application for a node for The Things Network that helps get your node up and running quickly.
- rtl_433_ESP, an Arduino library for use on ESP32 boards with a CC1101 transceiver or SX127X Transceivers with the device decoders from the rtl_433 package.
- rtl_433, which (despite the name) is a generic data receiver, mainly for the 433.92 MHz, 868 MHz (SRD), 315 MHz, 345 MHz, and 915 MHz ISM bands.
A version of this project with code specifically for the bridging the Ecowitt/FineOffset WS-80 Weather station to Helium, which includes some additional features and data handling for that device, is available at Helium_Bridge_WS80. The PCB design is the same for both projects.
Application
- Currently supports these 4 sensor devices (easily extended to more sensors on demand)
- Ecowitt/Fine Offset WS-80 weather station
- Ecowitt/Fine Offset WH-45 indoor air quality monitor
- Acurite Tower temperature and humidity sensors
- Springfield Soil moisture sensors
Helium Bridge Device
- The bridge device can be built using our PCB board design and these components:
Getting started
Build a Helium Bridge device
- Have the PCB printed:
- Locate the Gerber file:
Helium-Bridge/pcb/LoRaWan_Bridge_18650_CC1101SMD-Gerber.zip - Order a PCB from an online service using the Gerber zip file. We used OSH Park.
- Order a solder mask from an online services. We used OSH Stencils. When you upload the Gerber zip file there, use the layer
lorawan_bridge_18650_cc1101smd_f_paste.gbrfor the stencil.
- In addition to the items listed above, you will need:
- Solder paste and a method to reflow solder surface mount devices (SMDs). We used and highly recommend a DIY reflow oven like this: link.
- 2.54mm pitch male and female straight single row pin headers for the Lilygo board, like the ones included in this kit link. You could also solder the board directly to the PCB, but it's very hard to unsolder if you run into problems.
- A 5-Pin Micro USB Type B Male Connector for the solar panel link
- An 18650 battery holder with through pins link
- A battery connector pigtail for connecting the Lilygo board battery input to the PCB
- A 433MHz or 915MHz antenna with a U.FL connection
- An SMD U.FL connector for the CC1101 antenna, like this link
- Use the solder mask to apply solder paste the the CC1101 and UF.L pads on the PCB, carefully place the CC1101 module and UF.L connector, and bake in the reflow oven at the temperature specified for your solder paste.
- Once the PCB is cool, use a multimeter to test for shorts between adjacent pads of the CC1101 module and between the U.FL center pin and ground, and for good connections from pads to the module.
- Solder the female pin headers, the battery holder, and the battery pigtail to the PCB. Pay attention to the polarity of the battery holder and pigtail.
- Plug in the Lilygo board. To avoid damage to the devices, before you power it up, be sure to connect antennas to both the CC1101 U.FL connection and the Lilygo LoRa antenna connection.
- Initial testing is best done without the battery or solar panel. Watch the polarity on the battery!
- To use a solar panel, solder it to a 5-pin Micro-USB connector and plug it in to the Lilygo board.
Run the Helium Bridge software
- Set up a new Device on a Helium or Chirpstack Console. Edit
keyfiles/lorawan-keys_example.hwith your keys and save it askeyfiles/lorawan-keys.h - Configure the PlatformIO project. In the
platformio.inifile, under[env:ttgo_lora32_v21_rtl433_cc1101]build flags =, specify
'-DOOK_MODULATION=true' '-DRF_MODULE_FREQUENCY=433.92'for 433MHz devices like the Acurite'-DOOK_MODULATION=false' '-DRF_MODULE_FREQUENCY=915.00'for 915MHz devices like the Fine Offset devices
- Upload and Monitor All using PlatformIO.
- If LoRaWAN is working correctly, you should see the device sucessfully joining on the Helium or Chirpstack Console.
- If the sensor decoding is working correctly, and you have one of the supported sensors up and running nearby, you should see JSON sensor data in the PlatformIO terminal
- Use our script as the decoder Function on the Helium Console or JavaScript Codec on the Chripstack Console (it should work on both without modification)
- Copy the content of
decoder.jsas the custom script. On Helium console, you can test the script with this example sensor data:de7044af0a81cc. You should see temperature and humidity. Save. - Connect the Function to the Device (Helium) or create an Application using the Device profile (Chripstack)
- If everything is working, you should see data packets received in the Console, and decoded data in the Console debugger
Using the device
- If desired, switch between 433MHz and 915MHz reception by sending a Downlink to the Device
- Downlink settings should be FPort: 100
- On Helium Console, use payload type: Text. For 433MHz, send a
4, for 915MHz, send a9 - On Chirpstack Console, use payload type: Hex. For 433MHz, send a
34, for 915MHz, send a39
- You will have to wait for an uplink to occur, and it may take several tries for the downlink to be received and acted on by the bridge.
- A limitation of LoRaWAN Class A devices like this one is that they can only receive a downlink if they have autonomously sent an uplink. You can make sure that uplinks happen periodically using
DO_WORK_INTERVAL_SECONDSinplatformio.ini. This is a heartbeat interval to ensure you can get a downlink command to the device even it it's not receiving & bridging any sensor packets. - When you are successful, the downlink will restart the device and will see JOIN requests in Console. If there are supported sensors nearby on the frequency you've switched to, you will see their data come in.
Parts
20| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | LOGO | LOGO | G***, G***, G***, G*** |
| 2 | Conn_01x13 | Connector_PinSocket_2.54mm:PinSocket_1x13_P2.54mm_Vertical | J1, J2 |
| 2 | GND | TestPoint:TestPoint_Pad_2.0x2.0mm | P10, P12 |
| 1 | ANT | TestPoint:TestPoint_Pad_2.0x2.0mm | P11 |
| 1 | BK-18650-PC2 | LoRaWan_Bridge:BAT_BK-18650-PC2 | BT2 |
| 1 | CSN | Library:TestPoint_Pad_1.2x2.0mm | TP8 |
| 1 | Conn_01x02 | Connector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_Vertical | J4 |
| 1 | GDO0 | Library:TestPoint_Pad_1.2x2.0mm | TP7 |
| 1 | GDO2 | Library:TestPoint_Pad_1.2x2.0mm | TP6 |
| 1 | GND | Library:TestPoint_Pad_1.2x2.0mm | TP2 |
| 1 | SCLK | Library:TestPoint_Pad_1.2x2.0mm | TP4 |
| 1 | SI | Library:TestPoint_Pad_1.2x2.0mm | TP3 |
| 1 | SO | Library:TestPoint_Pad_1.2x2.0mm | TP5 |
| 1 | U.FL-R-SMT(10) | U.FL-R-SMT_10_:HRS_U.FL-R-SMT(10) | J3 |
| 1 | VCC | Library:TestPoint_Pad_1.2x2.0mm | TP1 |
Questions
How big is the LoRaWan Bridge 18650 CC1101SMD PCB?
It measures 58 × 107 mm and has 2 copper layers, 1.6 mm thick.
What parts does the LoRaWan Bridge 18650 CC1101SMD use?
20 parts, built around the U.FL-R-SMT(10). 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 LoRaWan Bridge 18650 CC1101SMD KiCad files?
From the dirkbeer/Helium-Bridge repository on GitHub, at the commit this page was made from: the board is pcb/LoRaWan_Bridge_18650_CC1101SMD/LoRaWan_Bridge_18650_CC1101SMD.kicad_pcb and its schematic pcb/LoRaWan_Bridge_18650_CC1101SMD/LoRaWan_Bridge_18650_CC1101SMD.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the LoRaWan Bridge 18650 CC1101SMD design in my own project?
Its repository publishes it under the MIT 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
- 8 layers110 × 181.8 mm

- 2 layers52 × 29 mm

Cellular featherwing pcb
keenanjohnson/cellular-featherwing-pcb
The PCB Design for a Cellular Adafruit Featherwing based on the Quectel BG96 LTE Cat M1 & Cat NB1.
64 parts1 - 4 layers47 × 24 mm

MiniLFMv2 solderjoint smaller
vazirilab/MiniLFMv2
Miniature Light Field Microscope v2 (MiniLFMv2) open hardware design & docs
135 parts1 - 2 layers80 × 80 mm

VECTRON V1
arudhranpk/VECTRON_V1
This is a custom made flight computer designed for sounding rockets.
161 parts - 4 layers54 × 86 mm

- 2 layers35 × 53 mm

- 2 layers

- 2 layers206.3 × 91.3 mm
