Teapot BWLR1B is a wireless LoRa environmental sensor capable of sensing temperature, humidity, air pressure and air quality using the on-board BME680. By using an STM32WLE MCU, the device is capable of multi-year operation before changing the batteries
Teapot BWLR1B is part of Teapot open-hardware project.
We sincerely thank PCBWay for their sponsorship and support. Their high-quality rapid-prototyping services, including PCB Board manufacturing, PCB Assembly, and 3D Printing, have been a great asset to our work. We truly appreciate their attention to detail in helping us:
- Identify design issues
- Verify our BOM (Bill of Materials)
- Verify the final product after assembly
On top of their technical expertise, their customer support has been responsive, and easy to work with.
- The 1KM+ range have not been verified yet
- The position of the BME680 sensor on the board might not be the most efficient
- Change
SW4
wiring from GND to 3V3, to allow booting to STM32WLE USART Bootloader. This enable the user to flash the RAK3172 module using STM32CubeProgrammer without ST-Link.
- RAK3172: An STM32WLE5CC module
- 3.3V only power/pin.
- 2uA Deep-Sleep
- BME680 for Environmental Sensing
- Switchable TX Power. 14 dBm(50mA) or 22 dBm(140mA) ( on 915MHz frequency )
- Supports LoRaWAN 1.0.3
- 1KM+ Range
- UART2 breakout for Arduino progamming
- SWD breakout for Mbed OS/STM32Cube programming
- SMA antenna connector
- CR2450 battery holder xor AA battery holder
- Capacitor ( optional to prolong CR2450 usage )
Based-on TI's White Paper, using coin-cell to draw short high-power pulses (~40mA) is possible, but will reduce the effective capacity of the battery. The White Paper proposed a solution to increase the effective capacity
Built using KiCAD v6, the board is design to be as small as possible when operated using CR2450 coin-cell batteries
The device designed to be operable using 2x CR2450 coin cell batteries xor the standard 2x AA batteries. By using the RAK3172 module, it is possible to use the IPEX variant of the module and use a PCB antenna connected to the IPEX port on the RAK3172 module.
Top Board | Bottom Board with AA or CR2450 Battery |
---|---|
The cases are available for the CR2450 variant and the AA variant, 3D printable with any generic 3D printer with/without suppport (depends on the orientation). The STL files are available here
Power consumption and solar charging current are measured using Nordic PPK2. The following are the summary of the measurement:
- Transmit 14dBm: 446ms @ 43mA
- Deep-Sleep : 2 uA
BME688 Measure and LoRa Transmit
More measurement can be found here
Most of the components are generic and can be bought from any electornics/semi-conductor distributor. RAK3172 is the only component available in RAKwireless store.. The bill of materials can be downloaded here
⚠️ Be sure to buy the RAK3172 variant without IPEX to use the SMA connector
Id | Designator | Package | Quantity | Designation | Supplier and ref | Notes |
---|---|---|---|---|---|---|
1 | BT2 | BatteryHolder_Keystone_2462_2xAA | 1 | 2x AA | Mutual Exclusive with BT3 and BT1 | |
2 | BT3,BT1 | BatteryHolder_Keystone_3008_1x2450 | 2 | CR2450 | Mutual Exclusive with BT2 | |
3 | C5,C12,C11,C3 | C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | 4 | 100nF | ||
4 | C9,C8,C10,C2,C4,C13,C14,C6,C1,C7 | CP_EIA-3528-15_AVX-H_Pad1.50x2.35mm_HandSolder | 10 | 330uF | Optional | |
5 | J3 | SMA_Amphenol_132289_EdgeMount | 1 | 915MHz SMA | ||
6 | Q1 | SOT-23 | 1 | AO3407 | ||
7 | R5 | R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | 1 | 1K | ||
8 | R7,R2,R3,R6 | R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | 4 | 10K | ||
9 | SW3 | SW_SPST_Omron_B3FS-100xP | 1 | RESET | ||
10 | SW4 | SW_SPST_Omron_B3FS-100xP | 1 | BOOT | ||
11 | U1 | BME680-PSON80P300X300X100-8N | 1 | BME680 | ||
12 | U2 | RAK3172 without IPEX | 1 | RAK3172 | RAKwireless |
Programming the device can be done over the UART2 or SWD, available next to the SMA antenna port. Out of the factory, the RAK3172 chip ships with an AT firmware that can be tested by connecting a USB-to-UART bridge to the UART2 port.
The following are some very good tutorial to start developing with the device:
- Communicating with the AT firmware
- Programming with Arduino
- Programming with STM32Cube
- Programming with MbedOS
For connecting to the UART2 port, use any USB-to-UART bridge module. In testing, the Sparkfun board is used for communication with AT firmware and programming over Arduino.
⚠️ Be sure to only use 3.3V module. Do not 5V module
For connecting to the SWD port, use ST-Link v2 in-circuit debugger and programmer from STM. In testing, ST-Link v2 clone will not work. The ST-Link v2 should atleast be reconizeable by the STM32CubeProgrammer. A cheap and alternative way to get an authorized ST-Link is to buy a Nucleo board, cut the top part which contain the ST-Link and use it as an external programmer.
ST-Link v2 from a Nucleo Development Board
- https://www.radioshuttle.de/en/turtle-en/nucleo-st-link-interface-en/
- https://jeelabs.org/book/1547a/index.html
The project won't be possible without the amazing work from people across the globe. The following are the reference to those awesome projects:
The product is open-source! However, some part of library used under src, might have it's own license. Please reach out or create a ticket to report any license violation.