ISM_Emulator is a C++ prototyping program and demonstration microcontroller transmission programs for creating ISM-band transmission protocols for remote sensors.
The ISM_Emulator.cpp
program includes class
definitions for structures and procedures to create and play back ISM-band signaling patterns for remote sensing devices on a desktop or laptop computer.
The base class
code was used to implement Arduino-IDE-compatible .ino
microcontroller code to demonstrate how to create rtl_433
-recognizable communications transmissions compatible with the Acurite 609THC, the Lacrosse TX141TH-BV2, and the Lacrosse WS7000-20 remote temperature/humidity(/pressure) sensor protocols. Guidance is offered as to how other sensor protocols might be prototyped and implemented on similar microcontrollers. Transmissions are recognized by rtl_433
, and if published by rtl_433
via MQTT, can be monitored and reported using an MQTT client, rtl_watch, or DNT.
The .ino
code examples execute on Arduino Uno R3, Sparkfun SAMD21, and Raspberry Pi Pico 2 microcontrollers and should be readily adaptable to similar microcontrollers. The code is written to use the Bosch BME68x temperature/humidity/pressure/VOC sensor but can be easily adapted to use other sensors.