{"id":15626112,"url":"https://github.com/northernman54/rtl_433_esp","last_synced_at":"2025-05-15T08:05:37.477Z","repository":{"id":37359018,"uuid":"336125410","full_name":"NorthernMan54/rtl_433_ESP","owner":"NorthernMan54","description":"Trial port of the rtl_433 Library for use with OpenMQTTGateway on a ESP32 and a CC1101 Transceiver","archived":false,"fork":false,"pushed_at":"2025-02-01T22:56:53.000Z","size":5977,"stargazers_count":577,"open_issues_count":23,"forks_count":142,"subscribers_count":30,"default_branch":"main","last_synced_at":"2025-04-07T03:12:44.163Z","etag":null,"topics":["arduino","cc1101","esp32","openmqttgateway"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NorthernMan54.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":"https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=6V3MNYYR446EG"}},"created_at":"2021-02-05T01:01:04.000Z","updated_at":"2025-04-06T08:48:14.000Z","dependencies_parsed_at":"2024-01-04T00:55:09.912Z","dependency_job_id":"5a07f782-8b78-4338-8ccb-30a9ad8c7cea","html_url":"https://github.com/NorthernMan54/rtl_433_ESP","commit_stats":{"total_commits":88,"total_committers":15,"mean_commits":5.866666666666666,"dds":"0.28409090909090906","last_synced_commit":"91bd22a80d398de49fcc0af0375d187cdfb455dc"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NorthernMan54%2Frtl_433_ESP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NorthernMan54%2Frtl_433_ESP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NorthernMan54%2Frtl_433_ESP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NorthernMan54%2Frtl_433_ESP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NorthernMan54","download_url":"https://codeload.github.com/NorthernMan54/rtl_433_ESP/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248871132,"owners_count":21175161,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","cc1101","esp32","openmqttgateway"],"created_at":"2024-10-03T10:10:33.189Z","updated_at":"2025-04-14T11:28:17.347Z","avatar_url":"https://github.com/NorthernMan54.png","language":"C","funding_links":["https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=6V3MNYYR446EG"],"categories":[],"sub_categories":[],"readme":"This is an attempt at creating an Arduino library for use on ESP32 boards with a CC1101 transceiver or SX127X Transceivers with the device decoders from the [rtl_433](https://github.com/merbanan/rtl_433) package.  And be available for use with openMQTTGateway as an available module.\n\nInspiration for this came from the ESPiLight effort.  Kudos to puuu for this, and the awesome package.\n\nThis is the [LILYGO® LoRa32 V2.1_1.6.1 433Mhz](https://www.lilygo.cc/products/lora3?variant=42476923879605) board running [OpenMQTTGateway](https://github.com/1technophile/OpenMQTTGateway/blob/master/README.md).\n![image](https://user-images.githubusercontent.com/19808920/212491102-3ffd719b-9cb5-4494-b74f-49e7947c6887.png)\n\nThe initial port implements only enables a subset of the available modulations and device decoders, and is limited to devices I have access to and can test with.\n\n* One comment about the transceiver modules, I have found that the receiver is not as sensitive as a rtl_sdr and I only get about 1/2 the range or less.  And having the antenna oriented into a vertical position does improve reception.\n\n## Enabled rtl_433 Demodulation modules\n\n### OOK\n\n```plaintext\nOOK_MC_ZEROBIT\nOOK_PULSE_DMC\nOOK_PULSE_MANCHESTER_ZEROBIT\nOOK_PULSE_NRZS\nOOK_PULSE_PCM\nOOK_PULSE_PIWM_DC\nOOK_PULSE_PPM\nOOK_PULSE_PWM\nOOK_PULSE_PWM_OSV1\nOOK_PULSE_RZ\n```\n\n### FSK\n\n```plaintext\nFSK_PULSE_MANCHESTER_ZEROBIT\nFSK_PULSE_PCM\nFSK_PULSE_PWM\n```\n\nPlease note that FSK or OOK demodulation mode can not be used simultaneously, due the usage of the receiver chipset's signal demodulator.\n\n## Enabled Device Decoders from rtl_433 release 24.10\n\nThe current implementation is based on this version of rtl_433 - https://github.com/merbanan/rtl_433/tree/54a886bf9c11167fb6b8d068142e5ddae24a458c\n\n### OOK Signal Device Decoders\n\n```plaintext\nRegistering protocol [0] \"Amazon Basics Meat Thermometer\"\nRegistering protocol [1] \"Acurite 896 Rain Gauge\"\nRegistering protocol [2] \"Acurite 609TXC Temperature and Humidity Sensor\"\nRegistering protocol [3] \"Acurite 592TXR Temp/Humidity, 592TX Temp, 5n1 Weather Station, 6045 Lightning, 899 Rain, 3N1, Atlas\"\nRegistering protocol [4] \"Acurite 986 Refrigerator / Freezer Thermometer\"\nRegistering protocol [5] \"Acurite 606TX Temperature Sensor\"\nRegistering protocol [6] \"Acurite 00275rm,00276rm Temp/Humidity with optional probe\"\nRegistering protocol [7] \"Acurite 590TX Temperature with optional Humidity\"\nRegistering protocol [8] \"Acurite Grill/Meat Thermometer 01185M\"\nRegistering protocol [10] \"AlectoV1 Weather Sensor (Alecto WS3500 WS4500 Ventus W155/W044 Oregon)\"\nRegistering protocol [11] \"Ambient Weather F007TH, TFA 30.3208.02, SwitchDocLabs F016TH temperature sensor\"\nRegistering protocol [12] \"Ambient Weather TX-8300 Temperature/Humidity Sensor\"\nRegistering protocol [13] \"Atech-WS308 temperature sensor\"\nRegistering protocol [15] \"Auriol AFT 77 B2 temperature sensor\"\nRegistering protocol [16] \"Auriol AFW2A1 temperature/humidity sensor\"\nRegistering protocol [17] \"Auriol AHFL temperature/humidity sensor\"\nRegistering protocol [18] \"Auriol HG02832, HG05124A-DCF, Rubicson 48957 temperature/humidity sensor\"\nRegistering protocol [20] \"Blyss DC5-UK-WH\"\nRegistering protocol [22] \"Bresser Thermo-/Hygro-Sensor 3CH\"\nRegistering protocol [24] \"Burnhard BBQ thermometer\"\nRegistering protocol [25] \"Calibeur RF-104 Sensor\"\nRegistering protocol [26] \"Cardin S466-TX2\"\nRegistering protocol [27] \"Celsia CZC1 Thermostat\"\nRegistering protocol [28] \"Chuango Security Technology\"\nRegistering protocol [29] \"Clipsal CMR113 Cent-a-meter power meter\"\nRegistering protocol [30] \"Companion WTR001 Temperature Sensor\"\nRegistering protocol [31] \"Cotech 36-7959, SwitchDocLabs FT020T wireless weather station with USB\"\nRegistering protocol [32] \"Digitech XC-0324 / AmbientWeather FT005TH temp/hum sensor\"\nRegistering protocol [34] \"DSC Security Contact\"\nRegistering protocol [35] \"DSC Security Contact (WS4945)\"\nRegistering protocol [36] \"Ecowitt Wireless Outdoor Thermometer WH53/WH0280/WH0281A\"\nRegistering protocol [37] \"Eurochron EFTH-800 temperature and humidity sensor\"\nRegistering protocol [41] \"EMOS E6016 weatherstation with DCF77\"\nRegistering protocol [42] \"EMOS E6016 rain gauge\"\nRegistering protocol [44] \"ERT Interval Data Message (IDM)\"\nRegistering protocol [45] \"ERT Interval Data Message (IDM) for Net Meters\"\nRegistering protocol [46] \"ERT Standard Consumption Message (SCM)\"\nRegistering protocol [48] \"Esperanza EWS\"\nRegistering protocol [50] \"Fine Offset Electronics, WH2, WH5, Telldus Temperature/Humidity/Rain Sensor\"\nRegistering protocol [51] \"Fine Offset Electronics, WH0530 Temperature/Rain Sensor\"\nRegistering protocol [52] \"Fine Offset WH1050 Weather Station\"\nRegistering protocol [53] \"Fine Offset Electronics WH1080/WH3080 Weather Station\"\nRegistering protocol [54] \"Ford Car Key\"\nRegistering protocol [55] \"FS20 / FHT\"\nRegistering protocol [56] \"FT-004-B Temperature Sensor\"\nRegistering protocol [57] \"Funkbus / Instafunk (Berker, Gira, Jung)\"\nRegistering protocol [58] \"Gasmate BA1008 meat thermometer\"\nRegistering protocol [59] \"Geevon TX16-3 outdoor sensor\"\nRegistering protocol [60] \"Generic wireless motion sensor\"\nRegistering protocol [61] \"Generic Remote SC226x EV1527\"\nRegistering protocol [62] \"Generic temperature sensor 1\"\nRegistering protocol [63] \"Govee Water Leak Detector H5054, Door Contact Sensor B5023\"\nRegistering protocol [64] \"Govee Water Leak Detector H5054\"\nRegistering protocol [65] \"Globaltronics QUIGG GT-TMBBQ-05\"\nRegistering protocol [66] \"Globaltronics GT-WT-02 Sensor\"\nRegistering protocol [67] \"Globaltronics GT-WT-03 Sensor\"\nRegistering protocol [68] \"Microchip HCS200/HCS300 KeeLoq Hopping Encoder based remotes\"\nRegistering protocol [69] \"HIDEKI TS04 Temperature, Humidity, Wind and Rain Sensor\"\nRegistering protocol [70] \"Honeywell Door/Window Sensor, 2Gig DW10/DW11, RE208 repeater\"\nRegistering protocol [71] \"Honeywell ActivLink, Wireless Doorbell\"\nRegistering protocol [72] \"HT680 Remote control\"\nRegistering protocol [73] \"IBIS beacon\"\nRegistering protocol [74] \"inFactory, nor-tec, FreeTec NC-3982-913 temperature humidity sensor\"\nRegistering protocol [76] \"Interlogix GE UTC Security Devices\"\nRegistering protocol [78] \"Jasco/GE Choice Alert Security Devices\"\nRegistering protocol [79] \"Kedsum Temperature \u0026 Humidity Sensor, Pearl NC-7415\"\nRegistering protocol [80] \"Kerui PIR / Contact Sensor\"\nRegistering protocol [82] \"LaCrosse TX Temperature / Humidity Sensor\"\nRegistering protocol [83] \"LaCrosse TX141-Bv2, TX141TH-Bv2, TX141-Bv3, TX141W, TX145wsdth, (TFA, ORIA) sensor\"\nRegistering protocol [84] \"LaCrosse/ELV/Conrad WS7000/WS2500 weather sensors\"\nRegistering protocol [85] \"LaCrosse WS-2310 / WS-3600 Weather Station\"\nRegistering protocol [87] \"Markisol, E-Motion, BOFU, Rollerhouse, BF-30x, BF-415 curtain remote\"\nRegistering protocol [88] \"Maverick ET73\"\nRegistering protocol [89] \"Maverick ET-732/733 BBQ Sensor\"\nRegistering protocol [91] \"Linear Megacode Garage/Gate Remotes\"\nRegistering protocol [92] \"Missil ML0757 weather station\"\nRegistering protocol [93] \"Neptune R900 flow meters\"\nRegistering protocol [95] \"KlikAanKlikUit Wireless Switch\"\nRegistering protocol [96] \"Nexa\"\nRegistering protocol [97] \"Nexus, FreeTec NC-7345, NX-3980, Solight TE82S, TFA 30.3209 temperature/humidity sensor\"\nRegistering protocol [99] \"Norgo NGE101\"\nRegistering protocol [100] \"Oil Ultrasonic STANDARD ASK\"\nRegistering protocol [101] \"Opus/Imagintronix XT300 Soil Moisture\"\nRegistering protocol [102] \"Oregon Scientific Weather Sensor\"\nRegistering protocol [103] \"Oregon Scientific SL109H Remote Thermal Hygro Sensor\"\nRegistering protocol [104] \"OSv1 Temperature Sensor\"\nRegistering protocol [105] \"Philips outdoor temperature sensor (type AJ3650)\"\nRegistering protocol [106] \"Philips outdoor temperature sensor (type AJ7010)\"\nRegistering protocol [107] \"SmartFire Proflame 2 remote control\"\nRegistering protocol [108] \"Prologue, FreeTec NC-7104, NC-7159-675 temperature sensor\"\nRegistering protocol [109] \"Proove / Nexa / KlikAanKlikUit Wireless Switch\"\nRegistering protocol [110] \"Quhwa\"\nRegistering protocol [111] \"Radiohead ASK\"\nRegistering protocol [112] \"Sensible Living Mini-Plant Moisture Sensor\"\nRegistering protocol [113] \"RainPoint soil temperature and moisture sensor\"\nRegistering protocol [114] \"Regency Ceiling Fan Remote (-f 303.75M to 303.96M)\"\nRegistering protocol [115] \"Revolt NC-5642 Energy Meter\"\nRegistering protocol [117] \"Risco 2 Way Agility protocol, Risco PIR/PET Sensor RWX95P\"\nRegistering protocol [118] \"Rosstech Digital Control Unit DCU-706/Sundance/Jacuzzi\"\nRegistering protocol [119] \"Rubicson, TFA 30.3197 or InFactory PT-310 Temperature Sensor\"\nRegistering protocol [120] \"Rubicson 48659 Thermometer\"\nRegistering protocol [121] \"Rubicson Pool Thermometer 48942\"\nRegistering protocol [122] \"Conrad S3318P, FreeTec NC-5849-913 temperature humidity sensor, ORIA WA50 ST389 temperature sensor\"\nRegistering protocol [123] \"Schou 72543 Day Rain Gauge, Motonet MTX Rain, MarQuant Rain Gauge, TFA Dostmann 30.3252.01/47.3006.01 Rain Gauge and Thermometer, ADE WS1907\"\nRegistering protocol [124] \"Schrader TPMS\"\nRegistering protocol [125] \"Schrader TPMS EG53MA4, PA66GF35\"\nRegistering protocol [126] \"Schrader TPMS SMD3MA4 (Subaru) 3039 (Infiniti, Nissan, Renault)\"\nRegistering protocol [127] \"Standard Consumption Message Plus (SCMplus)\"\nRegistering protocol [128] \"Security+ (Keyfob)\"\nRegistering protocol [129] \"Silvercrest Remote Control\"\nRegistering protocol [130] \"SimpliSafe Home Security System (May require disabling automatic gain for KeyPad decodes)\"\nRegistering protocol [131] \"Skylink HA-434TL motion sensor\"\nRegistering protocol [133] \"Solight TE44/TE66, EMOS E0107T, NX-6876-917\"\nRegistering protocol [134] \"Somfy RTS\"\nRegistering protocol [135] \"Springfield Temperature and Soil Moisture\"\nRegistering protocol [136] \"Telldus weather station FT0385R sensors\"\nRegistering protocol [137] \"TFA Dostmann 30.3221.02 T/H Outdoor Sensor\"\nRegistering protocol [138] \"TFA Drop Rain Gauge 30.3233.01\"\nRegistering protocol [139] \"TFA pool temperature sensor\"\nRegistering protocol [140] \"TFA-Twin-Plus-30.3049, Conrad KW9010, Ea2 BL999\"\nRegistering protocol [141] \"Thermopro TP11 Thermometer\"\nRegistering protocol [142] \"ThermoPro TP08/TP12/TP20 thermometer\"\nRegistering protocol [145] \"Thermor DG950 weather station\"\nRegistering protocol [146] \"EezTire E618, Carchet TPMS, TST-507 TPMS\"\nRegistering protocol [147] \"TyreGuard 400 TPMS\"\nRegistering protocol [148] \"TS-FT002 Wireless Ultrasonic Tank Liquid Level Meter With Temperature Sensor\"\nRegistering protocol [149] \"Emos TTX201 Temperature Sensor\"\nRegistering protocol [150] \"Vaillant calorMatic VRT340f Central Heating Control\"\nRegistering protocol [151] \"Vauno EN8822C\"\nRegistering protocol [152] \"Visonic powercode\"\nRegistering protocol [153] \"Watts WFHT-RF Thermostat\"\nRegistering protocol [154] \"Waveman Switch Transmitter\"\nRegistering protocol [155] \"WEC-2103 temperature/humidity sensor\"\nRegistering protocol [156] \"WG-PB12V1 Temperature Sensor\"\nRegistering protocol [157] \"WS2032 weather station\"\nRegistering protocol [158] \"Hyundai WS SENZOR Remote Temperature Sensor\"\nRegistering protocol [159] \"WT0124 Pool Thermometer\"\nRegistering protocol [160] \"WT450, WT260H, WT405H\"\nRegistering protocol [161] \"X10 RF\"\nRegistering protocol [162] \"X10 Security\"\nRegistering protocol [163] \"Yale HSA (Home Security Alarm), YES-Alarmkit\"\n```\n\nThe gaps in the numbers are device decoders disabled by default.\n\n### FSK Signal Device Decoders \n\n```plaintext\nRegistering protocol [0] \"Ambient Weather WH31E Thermo-Hygrometer Sensor, EcoWitt WH40 rain gauge, WS68 weather station\"\nRegistering protocol [3] \"TBH weather sensor\"\nRegistering protocol [4] \"Arexx Multilogger IP-HA90, IP-TH78EXT, TSN-70E\"\nRegistering protocol [5] \"Badger ORION water meter, 100kbps (-f 916.45M -s 1200k)\"\nRegistering protocol [6] \"Bresser Weather Center 5-in-1\"\nRegistering protocol [7] \"Bresser Weather Center 6-in-1, 7-in-1 indoor, soil, new 5-in-1, 3-in-1 wind gauge, Froggit WH6000, Ventus C8488A\"\nRegistering protocol [8] \"Bresser Weather Center 7-in-1, Air Quality PM2.5/PM10 7009970, CO2 7009977, HCHO/VOC 7009978 sensors\"\nRegistering protocol [9] \"Bresser water leakage\"\nRegistering protocol [10] \"Bresser lightning\"\nRegistering protocol [11] \"Cavius smoke, heat and water detector\"\nRegistering protocol [13] \"Chamberlain CWPIRC PIR Sensor\"\nRegistering protocol [14] \"CurrentCost Current Sensor\"\nRegistering protocol [15] \"Danfoss CFR Thermostat\"\nRegistering protocol [16] \"DirecTV RC66RX Remote Control\"\nRegistering protocol [17] \"EcoDHOME Smart Socket and MCEE Solar monitor\"\nRegistering protocol [18] \"Efergy e2 classic\"\nRegistering protocol [19] \"Efergy Optical\"\nRegistering protocol [20] \"Emax W6, rebrand Altronics x7063/4, Optex 990040/50/51, Orium 13093/13123, Infactory FWS-1200, Newentor Q9, Otio 810025, Protmex PT3390A, Jula Marquant 014331/32, TechniSat IMETEO X6 76-4924-00, Weather Station or temperature/humidity sensor\"\nRegistering protocol [21] \"emonTx OpenEnergyMonitor\"\nRegistering protocol [22] \"ESIC EMT7110 power meter\"\nRegistering protocol [23] \"Fine Offset Electronics, WH25, WH32, WH32B, WN32B, WH24, WH65B, HP1000, Misol WS2320 Temperature/Humidity/Pressure Sensor\"\nRegistering protocol [24] \"Fine Offset Electronics/ECOWITT WH51, SwitchDoc Labs SM23 Soil Moisture Sensor\"\nRegistering protocol [25] \"TFA 30.3151 Weather Station\"\nRegistering protocol [26] \"Fine Offset Electronics WH1080/WH3080 Weather Station (FSK)\"\nRegistering protocol [27] \"Ambient Weather WH31L (FineOffset WH57) Lightning-Strike sensor\"\nRegistering protocol [28] \"Fine Offset Electronics WH45 air quality sensor\"\nRegistering protocol [29] \"Fine Offset Electronics WH46 air quality sensor\"\nRegistering protocol [30] \"Fine Offset / Ecowitt WH55 water leak sensor\"\nRegistering protocol [31] \"Fine Offset Electronics WN34S/L/D and Froggit DP150/D35 temperature sensor\"\nRegistering protocol [32] \"Fine Offset Electronics WS80 weather station\"\nRegistering protocol [33] \"Fine Offset Electronics WS90 weather station\"\nRegistering protocol [34] \"Flowis flow meters\"\nRegistering protocol [35] \"GE Color Effects\"\nRegistering protocol [36] \"GEO minim+ energy monitor\"\nRegistering protocol [37] \"Microchip HCS200/HCS300 KeeLoq Hopping Encoder based remotes (FSK)\"\nRegistering protocol [38] \"AOK Weather Station rebrand Holman Industries iWeather WS5029, Conrad AOK-5056, Optex 990018\"\nRegistering protocol [39] \"Holman Industries iWeather WS5029 weather station (older PWM)\"\nRegistering protocol [41] \"Honeywell CM921 Wireless Programmable Room Thermostat\"\nRegistering protocol [42] \"Honeywell ActivLink, Wireless Doorbell (FSK)\"\nRegistering protocol [43] \"IKEA Sparsnas Energy Meter Monitor\"\nRegistering protocol [44] \"Inkbird ITH-20R temperature humidity sensor\"\nRegistering protocol [45] \"Insteon\"\nRegistering protocol [46] \"LaCrosse Technology View LTV-WSDTH01 Breeze Pro Wind Sensor\"\nRegistering protocol [47] \"LaCrosse Technology View LTV-R1, LTV-R3 Rainfall Gauge, LTV-W1/W2 Wind Sensor\"\nRegistering protocol [48] \"LaCrosse Technology View LTV-TH Thermo/Hygro Sensor\"\nRegistering protocol [49] \"LaCrosse TX31U-IT, The Weather Channel WS-1910TWC-IT\"\nRegistering protocol [50] \"LaCrosse TX34-IT rain gauge\"\nRegistering protocol [51] \"LaCrosse TX29IT, TFA Dostmann 30.3159.IT Temperature sensor\"\nRegistering protocol [52] \"LaCrosse TX35DTH-IT, TFA Dostmann 30.3155 Temperature/Humidity sensor\"\nRegistering protocol [53] \"LaCrosse Technology View LTV-WR1 Multi Sensor\"\nRegistering protocol [54] \"Wireless M-Bus, Mode C\u0026T, 100kbps (-f 868.95M -s 1200k)\"\nRegistering protocol [55] \"Wireless M-Bus, Mode T, 32.768kbps (-f 868.3M -s 1000k)\"\nRegistering protocol [56] \"Wireless M-Bus, Mode S, 32.768kbps (-f 868.3M -s 1000k)\"\nRegistering protocol [59] \"Marlec Solar iBoost+ sensors\"\nRegistering protocol [60] \"Maverick XR-30 BBQ Sensor\"\nRegistering protocol [61] \"Mueller Hot Rod water meter\"\nRegistering protocol [62] \"Oil Ultrasonic SMART FSK\"\nRegistering protocol [63] \"Oil Ultrasonic STANDARD FSK\"\nRegistering protocol [64] \"Watchman Sonic / Apollo Ultrasonic / Beckett Rocket oil tank monitor\"\nRegistering protocol [65] \"Watchman Sonic Advanced / Plus, Tekelek\"\nRegistering protocol [66] \"RojaFlex shutter and remote devices\"\nRegistering protocol [67] \"Sharp SPC775 weather station\"\nRegistering protocol [68] \"SimpliSafe Gen 3 Home Security System\"\nRegistering protocol [69] \"Somfy io-homecontrol\"\nRegistering protocol [70] \"SRSmith Pool Light Remote Control SRS-2C-TX (-f 915M)\"\nRegistering protocol [71] \"Steelmate TPMS\"\nRegistering protocol [72] \"TFA Dostmann 14.1504.V2 Radio-controlled grill and meat thermometer\"\nRegistering protocol [73] \"TFA Dostmann 30.3196 T/H outdoor sensor\"\nRegistering protocol [74] \"TFA Marbella Pool Thermometer\"\nRegistering protocol [75] \"ThermoPro TP28b Super Long Range Wireless Meat Thermometer for Smoker BBQ Grill\"\nRegistering protocol [76] \"ThermoPro Meat Thermometers, TP828B 2 probes with Temp, BBQ Target LO and HI\"\nRegistering protocol [77] \"ThermoPro Meat Thermometers, TP829B 4 probes with temp only\"\nRegistering protocol [78] \"Abarth 124 Spider TPMS\"\nRegistering protocol [79] \"AVE TPMS\"\nRegistering protocol [80] \"BMW Gen4-Gen5 TPMS and Audi TPMS Pressure Alert, multi-brand HUF/Beru, Continental, Schrader/Sensata, Audi\"\nRegistering protocol [81] \"BMW Gen3 TPMS\"\nRegistering protocol [82] \"Citroen TPMS\"\nRegistering protocol [83] \"Elantra2012 TPMS\"\nRegistering protocol [84] \"Ford TPMS\"\nRegistering protocol [85] \"Hyundai TPMS (VDO)\"\nRegistering protocol [87] \"Jansite TPMS Model Solar\"\nRegistering protocol [88] \"Kia TPMS (-s 1000k)\"\nRegistering protocol [90] \"PMV-107J (Toyota) TPMS\"\nRegistering protocol [91] \"Porsche Boxster/Cayman TPMS\"\nRegistering protocol [92] \"Renault TPMS\"\nRegistering protocol [93] \"Renault 0435R TPMS\"\nRegistering protocol [94] \"Toyota TPMS\"\nRegistering protocol [95] \"Unbranded SolarTPMS for trucks\"\nRegistering protocol [96] \"Vevor Wireless Weather Station 7-in-1\"\n```\n\n## Sensors I use as part of Testing\n\nThese are the sensors that are part of my personal collection, and can confirm that they work correctly.  Other sensors devices are on a best effort basis as I have no method to test and confirm functionality.\n\n```\nAcurite Tower - Acurite 592TXR Temp/Humidity, 592TX Temp, 5n1 Weather Station, 6045 Lightning, 899 Rain, 3N1, Atlas\nLaCrosse-TX141Bv3 - LaCrosse TX141-Bv2, TX141TH-Bv2, TX141-Bv3, TX141W, TX145wsdth, (TFA, ORIA) sensor\nAcurite-986 - Acurite 986 Refrigerator / Freezer Thermometer\nSkylink_HA-434TL_motion - Skylink HA-434TL motion sensor\nFineOffSet WH51\n```\n\n## Transceiver Modules Supported\n\n### CC1101 433 Mhz Transceiver Module\n\nDatasheet for the CC1101 board I'm using\n\n[CC1101 datasheet](docs/E07-M1101D-TH_Usermanual_EN_v1.30.pdf)\n\n### SX127X - Heltec WiFi LoRa 32v2 and LILYGO® LoRa32\n\nThis is the [Heltec SX127X](https://heltec.org/project/wifi-lora-32v2/) board I used for development. I used the 433 Mhz Board with the SX127X chipset.\n\nThis is the [LILYGO® LoRa32 V2.1_1.6.1 433](https://www.lilygo.cc/products/lora3?variant=42476923879605) board I used for development. I used the 433 Mhz Board with the SX127X chipset.\n\nWhen your purchasing one of these, please watch out for similar boards that do not use the SX127X chipset.  These others boards will not work, as the required receiver mode is not available in the chipset.\n\n### SX1278 - external to ESP32 DOIT DevKit V1\n\nThis is the [AI-Thinker R01 - SX1278](https://docs.ai-thinker.com/en/lora/man) module I used for development. I used the Ra-01 433 Mhz Board\n\nThis is the [ESP32 DOIT DevKit V1](https://docs.platformio.org/en/latest/boards/espressif32/esp32doit-devkit-v1.html) board I used for development.\n\nWiring for ESP32 DOIT DevKit V1 and AI-Thinker R01 - SX1278\n\n![image](https://github.com/diepeterpan/rtl_433_ESP/blob/master/docs/Ai-Thinker-Ra-01-Schematic-Diagram.png)\n\n## Wiring and Building the Example\n\nDetails are [here](example/OOK_Receiver/README.md)\n\n## Projects using the library\n\n* OpenMQTTGateway - https://github.com/1technophile/OpenMQTTGateway\n  - Currently available in the production branch\n\n* Acurite 5n1 to Weather Services Forwarder - https://github.com/shchuko/acurite-bridge\n\n## Roadmap / Next Steps\n\n* [x] Firmware size tuning\n* [x] Further heap usage tuning\n* [x] Find stack leak when running all devices\n* [x] Enable additional pulse demod functions\n* [x] Simplify the process to update from the rtl_433 source\n\n# Signal detection and reception approach\n\nTo determne that a signal is available for reception, the library watches the current RSSI reported by the transceiver module and when it crosses a predetermined RSSI threshold it enables the signal receiver function.   End of signal is determined when the signal drops below the predetermined RSSI threshold for a minimum of 150,000 micro seconds.\n\n## RSSI Threshold Automatic Setting\n\nThe RSSI Threshold for signal detection is automatically determined based on the average RSSI signal level received aka RSSI floor level with a delta ( RSSI_THRESHOLD ) added to it.  The average RSSI signal level is calculated over RSSI_SAMPLES.\n\n## SX127X OOK RSSI FIXED Threshold\n\nFor background see section 2.1.3.2. of SX127X Data sheet\n\nTo tune the SX127X OOK RSSI FIXED Threshold two values are used to determine if the threshold needs to be increased or decreased.  The first is the noise received between signals.  If the number of noise bits received between signals is greater than 100, then the threshold is incremented.  Second is the unparsed signals.  If an unparsed signal is received, but it has less than 20 pulses, the threshold is decremented.\n\nThe first approach is what is recommended in the SX127X datasheet, and the second is a control to lower the threshold if it is too high and incomplete signals are received.\n\n# Compile definition options\n\n```plaintext\nDEMOD_DEBUG           ; enable verbose debugging of signal processing\nDEVICE_DEBUG          ; Validate fields are mapped to response object ( rtl_433 )\nMEMORY_DEBUG          ; display heap usage information\nRESOURCE_DEBUG        : Monitor HEAP and STACK usage and report large jumps\nMY_DEVICES            ; Only include my personal subset of devices\nNO_DEAF_WORKAROUND    ; Workaround for issue #16 ( by default the workaround is enabled )\nPUBLISH_UNPARSED      ; Enable publishing of MQTT messages for unparsed signals, e.g. {model\":\"unknown\",\"protocol\":\"signal parsing failed\"…\nRAW_SIGNAL_DEBUG      ; display raw received messages\nRSSI_SAMPLES          ; Number of rssi samples to collect for average calculation, defaults to 50,000\nRSSI_THRESHOLD        ; Delta applied to average RSSI value to calculate RSSI Signal Threshold, defaults to 9\nRTL_DEBUG             ; Enable RTL_433 device decoder verbose mode for all device decoders ( 0=normal, 1=verbose, 2=verbose decoders, 3=debug decoders, 4=trace decoding. )\nRTL_VERBOSE=##        ; Enable RTL_433 device decoder verbose mode, ## is the decoder # from the appropriate memcpy line in signalDecoder.cpp\nRTL_ANALYZER          ; Enable pulse stream analysis ( note is very resource intensive and will not work with other modules )\nRTL_ANALYZE=##        ; Enable pulse stream analysis for decoder ##\nSIGNAL_RSSI           ; Enable collection of per pulse RSSI Values during signal reception for display in signal debug messages\nRF_MODULE_INIT_STATUS ; Display transceiver config during startup\nDISABLERSSITHRESHOLD  ; Disable automatic setting of RSSI_THRESHOLD ( legacy behaviour ), and use MINRSSI ( -82 )\nOOK_MODULATION        ; Enable OOK Device Decoders, setting to false enables FSK Device Decoders \n```\n\n## RF Module Wiring\n\n```plaintext\nONBOARD_LED           ; GPIO pin to toggle during signal reception ( Typically onboard LED )\n```\n\n### SX1276 Module Options\n\n```plaintext\nRF_SX1276             ; Enable support for SX1276 Transceiver\nOOK_FIXED_THRESHOLD   ; Initial OOK threshold ( See 2.1.3.2. of datasheet ), defaults to 90\nAUTOOOKFIX            ; Set to enable automatic setting of OOK_FIXED_THRESHOLD based on noise level between signals\n```\n\n### SX1276 Module Wiring ( Required if not using standard configuration )\n\n```plaintext\nRF_MODULE_CS          ; SX1276 SPI Chip select\nRF_MODULE_DIO0        ; SX1276 DIO0 PIN\nRF_MODULE_RST         ; SX1276 RST PIN\nRF_MODULE_DIO1        ; SX1276 DIO1 PIN\n```\n\n### SX1278 Module Options\n\n```plaintext\nRF_SX1278 - Enable support for SX1276\nOOK_FIXED_THRESHOLD   ; Initial OOK threshold ( See 2.1.3.2. of datasheet ), defaults to 90\nAUTOOOKFIX            ; Set to enable automatic setting of OOK_FIXED_THRESHOLD based on noise level between signals\n```\n\n### SX1278 Module Wiring ( Required if not using standard configuration )\n\n```plaintext\nRF_MODULE_CS          ; SX1278 SPI Chip select\nRF_MODULE_DIO0        ; SX1278 DIO0 PIN\nRF_MODULE_RST         ; SX1278 RST PIN\nRF_MODULE_DIO1        ; SX1278 DIO1 PIN\n```\n\n### CC1101 Module Options\n\n```plaintext\nRF_CC1101             ; Enable support for CC1101 Transceiver\nNO_DEAF_WORKAROUND    ; Workaround for issue #16 ( by default the workaround is enabaled )\n```\n\n### CC1101 Module Wiring\n\n```plaintext\nRF_MODULE_CS          ; CC1101 SPI Chip select\nRF_MODULE_GDO0        ; CC1101 GDOO PIN\nRF_MODULE_GDO2        ; CC1101 GDO2 PIN\n```\n\n## RF Module SPI Wiring ( Required if not using standard configuration )\n\nWhen using a non standard SPI configuration ( Standard config is SCK - 18, MISO - 19, MOSI - 23, CS - 5)\n\n```plaintext\nRF_MODULE_SCK         ; SPI Clock\nRF_MODULE_MISO        ; SPI Serial Output\nRF_MODULE_MOSI        ; SPI Serial Input\nRF_MODULE_CS          ; SPI Chip select\n```\n\n## Porting approach\n\nCopying src files\n\n```plaintext\nCopying rtl_433/src abuf.c to src/rtl_433\nCopying rtl_433/src bitbuffer.c to src/rtl_433\nCopying rtl_433/src compat_time.c to src/rtl_433\nCopying rtl_433/src data.c to src/rtl_433\nCopying rtl_433/src decoder_util.c to src/rtl_433\nCopying rtl_433/src list.c to src/rtl_433\nCopying rtl_433/src logger.c to src/rtl_433\nCopying rtl_433/src output_log.c to src/rtl_433\nCopying rtl_433/src pulse_data.c to src/rtl_433\nCopying rtl_433/src r_util.c to src/rtl_433\nCopying rtl_433/src util.c to src/rtl_433\n```\n\nThese src files need copying and updating\n\n```shell\ncp ../rtl_433/src/pulse_analyzer.c ../src/rtl_433\ncp ../rtl_433/src/pulse_slicer.c ../src/rtl_433\ncp ../rtl_433/src/r_api.c ../src/rtl_433\n```\n\nCopying include files\n\n```plaintext\nCopying rtl_433/include abuf.h to include\nCopying rtl_433/include bitbuffer.h to include\nCopying rtl_433/include compat_time.h to include\nCopying rtl_433/include decoder.h to include\nCopying rtl_433/include decoder_util.h to include\nCopying rtl_433/include fatal.h to include\nCopying rtl_433/include list.h to include\nCopying rtl_433/include logger.h to include\nCopying rtl_433/include optparse.h to include\nCopying rtl_433/include output_log.h to include\nCopying rtl_433/include pulse_analyzer.h to include\nCopying rtl_433/include pulse_detect.h to include\nCopying rtl_433/include pulse_slicer.h to include\nCopying rtl_433/include r_api.h to include\nCopying rtl_433/include r_device.h to include\nCopying rtl_433/include r_util.h to include\nCopying rtl_433/include rfraw.h to include\nCopying rtl_433/include util.h to include\n```\n\nThese include files need copying and updating\n\n```shell\ncp ../rtl_433/include/data.h ../include\ncp ../rtl_433/include/pulse_data.h ../include\ncp ../rtl_433/include/r_private.h ../include\ncp ../rtl_433/include/rtl_433.h ../include\n```\n\n## Codebase conflicts\n\n* ESPiLight and rtl_433 conflict on silvercrest\n\n```plaintext\n.platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/5.2.0/../../../../xtensa-esp32-elf/bin/ld: Warning: size of symbol `silvercrest' changed from 4 in .pio/build/rtl_433-9e0770/libb28/libESPiLight.a(protocol.c.o) to 76 in .pio/build/rtl_433-9e0770/lib395/librtl_433_ESP.a(silvercrest.c.o)\n```\n\n## Supporting Additional Devices etc\n\nAs support for devices is limited to what we have personally available, donations for additional devices is encouraged.\n\n[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=6V3MNYYR446EG)\n\n## Thanks\n\n* Tks to the rtl_433 team for a great codebase\n* @diepeterpan for testing and showing that the OOK_PULSE_MANCHESTER_ZEROBIT decoder works, and adding support for Oregon-CM160 ( oregon_scientific.c)\n\n## Media Mentions\n\nJanuary 2023\n* [Hackaday - ARDUINO LIBRARY BRINGS RTL_433 TO THE ESP32](https://hackaday.com/2023/01/13/arduino-library-brings-rtl_433-to-the-esp32)\n* [CNX Software - 433 MHz is not dead! Using an ESP32 board with LoRa module to talk to 433 MHz sensors](https://www.cnx-software.com/2023/01/14/esp32-board-with-lora-433-mhz-sensors/)\n* [RTL_433 PORTED TO ESP32 MICROCONTROLLERS WITH CC1101 OR SX127X TRANSCEIVER CHIPS](https://www.rtl-sdr.com/rtl_433-ported-to-esp32-microcontrollers-with-cc1101-or-sx127x-transceiver-chips/)\n* [RTL 433 ON ESP32 DEVICE - MQTT HOME ASSISTANT](https://youtube.com/watch?v=H-JXWbWjJYE\u0026feature=shares)\n* [Using low-cost wireless sensors in the unlicensed bands](https://lwn.net/Articles/921497/)\n\nFebruary 2023\n* [OpenMQTTGateway Connects Many Things to Your Home Automation](https://www.youtube.com/watch?v=_gdXR1uklaY)\n\nJanuary 2024\n* [LilyGO 433MHz Lora Board - Sensordaten per openMQTTGateway an HA übertragen](https://www.youtube.com/watch?v=KbRNd1DyRbg)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnorthernman54%2Frtl_433_esp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnorthernman54%2Frtl_433_esp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnorthernman54%2Frtl_433_esp/lists"}