Teapot BWLR3D is an Asset Tracker and Environmental Sensor with Solar Energy Harvesting. The device is capable of sensing temperature, humidity, air pressure, air quality, light intensity using the on-board BME688 plus VEM7700, and calculate device's AHRS using the LSM6DSOX as accelerometer and gyrometer with LIS3MDL as magnetometer. Equiped with low-power L86-M33 GNSS module, the device is capable to locate itself anywhere in the world. With STM32WLE MCU as it's core and AEM10941 for solar charging, the device is capable ultra-low power operation with the possibility of indefinite battery-life by utilizing the solar charging capability.Teapot BWLR3D is part of Teapot open-hardware project.SpecificationRAK3172: An STM32WLE5CC moduleAEM10941: Solar energy harvesting chip3.3V only power/pin.12uA Deep-SleepSwitchable TX Power. 14 dBm(50mA) or 22 dBm(140mA) ( on 915MHz frequency )Supports LoRaWAN 1.0.31KM+ RangeUART2 breakout for Arduino progammingSWD breakout for Mbed OS/STM32Cube programmingIPEX antenna connector3.7 Volts LiPo BatteryOn-board sensors:L86-M33: GNSS moduleLSM6DSOX: Accelerometer and GyrometerLIS3MDL: MagnetometerVEML7700: Ambient Light Intensity meterBME688: Environmental sensorSchematicsSchematic revisions:Revision 1: Initial designRevision 2: Swap BATT_MEAS and IMU_INT pin, and add 0.1uF to voltage dividerBoardsBuilt using KiCAD, the board is design to be as small as possible with all components placed on both side of the PCB. The following design are based on the latest revision.CaseBuilt using TinkerCAD, the cases are available with 2 variant, with or without the programming port. The cases are 3D printable with any generic 3D printer with/without suppport (depends on the orientation). The STL files are available hereCase OpenThe case is design to be as small as possible with an additional magnets in the back to ease the placement of the sensor. The following are the list of material used at the time of testing:3.7v LiPo Battery, 500 mAh 50mm x 22mm x 48mm4 piece of 8mm x 2mm neodymium magnetSensor Placement with MagnetMeasurementPower consumption and solar charging current are measured using Nordic PPK2 and CurrentRanger. The following are the summary of the measurement:Transmit 102 bytes @ 14dBm: 225ms @ 48mADeep-Sleep : 12 uAGNSS Fix - Cold Start: 15s @ 38mAGNSS Fix - Hot Start: 5s @ 35mASensor Read: 1.36s @ 9mADirect Sunlight Solar Charge: 12mAIndirect Sunlight Solar Charge: 454uALoRa TransmitDeep-SleepGNSS Fix - Cold StartGNSS Fix - Hot StartSensor ReadMore measurement can be found hereProgrammingBoard can only be powered using the LiPo BatteryProgramming the device can be done over the UART2 or SWD, available on the right side of the board. 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 firmwareProgramming with ArduinoProgramming with STM32CubeProgramming with MbedOSFor 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.Sparkfun USB-to-UART BridgeBe sure to only use 3.3V module. Do not 5V moduleFor 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 BoardHere are some good tutorial to convert a Nucleo to an external ST-Link v2:https://www.radioshuttle.de/en/turtle-en/nucleo-st-link-interface-en/https://jeelabs.org/book/1547a/index.htmlAdditional NotesThere are some issue, notes, and behavior that was discovered at the time of testing and development. The following are those discovery:Soldering the solar cell is better to be done manually using a soldering iron. Without proper reflow oven, it may damage the solar cell and reduces it's efficiencyPRIMIN is available to use as the input for AEM10941 Primary Battery input. See schematic for more detailReferenceThe project won't be possible without the amazing work from people across the globe. The following are the reference to those awesome projects:LoRa e5 TinyAERQ - Air Quality MonitoringTSEM