This project features RAKWireless boards and modules (mini base board with solar and LiPo power, soil moisture probe, temperature/humidity sensor) that publishes state over MQTT. Designed for integration with Home Assistant.
- RAK11200 ESP32-WROVER WisBlock WiFi Module
- RAK19003 WisBlock Mini Base Board
- RAK1901 WisBlock Temperature and Humidity Sensor
- RAK12023 WisBlock Soil Moisture Sensor Connector Module
- May be replaced by RAK12028
- RAK12035 WisBlock Soil Moisture Sensor Module
- Solar Board
- Battery connector wires
- 18650 Battery Holder Case
- Reconditioned 18650 cells
Add these URLs to the "Additional board manager URLs" in the Arduino IDE preferences:
https://raw.githubusercontent.com/RAKwireless/RAKwireless-Arduino-BSP-Index/main/package_rakwireless_index.json
https://raw.githubusercontent.com/RAKwireless/RAKwireless-Arduino-BSP-Index/main/package_rakwireless.com_rui_index.json
Following this you can search for "RAKwireless ESP32 Modules" (or keyword: RAK11200) in the board manager, then install.
- knolleary/PubSubClient (download & import .zip)
- SparkFun SHTC3 Humidity and Temperature Sensor Library (install from library manager)
- Install Arduino boards via manager
- Install Arduino libraries via manager (or download and import .zip)
- Solder male header pins into BOOT and GND
The RAK11200 ESP32 module has a BOOT pin that must be pulled to GND to enable upload/programming mode. The RAK19003 Mini Base Board exposes this pin on the edge headers. A wire may be used to short BOOT and GND, or you can solder male header pins and use a jumper (provided with the base board kit) to enable boot mode. A small SPST tactile pushbutton switch can be soldered to leads of female headers, creating a dedicated boot switch.
Programming sequence:
- Hold BOOT switch / short BOOT pin to GND
- Press reset button
- Release BOOT switch / disconnect BOOT-GND short
- Click "upload" from Arduino IDE
- Wait for
Hard resetting via RTS pin...
log line - Press reset button again
Now your ESP32 module should be running your code. Open the Arduino IDE serial monitor at 115200 baud to view printed output.
- https://github.com/RAKWireless/WisBlock/tree/master/examples/RAK11200/solutions/mqtt_subscribe_publish
- https://docs.rakwireless.com/Product-Categories/WisBlock/RAK11200/Datasheet/#hardware
- https://github.com/knolleary/pubsubclient
- Cleaner MQTT publishing method (wrap string formatting and serial printing)
- Low-power operation
- Soil moisture sensor
- Improved battery measurement curve
- MQTT topic updatable from MQTT message
- Linting & tests