{"id":18193088,"url":"https://github.com/anarsoul/esp-rf-ook","last_synced_at":"2026-04-28T18:34:22.325Z","repository":{"id":260825058,"uuid":"882448845","full_name":"anarsoul/esp-rf-ook","owner":"anarsoul","description":"Decoder for Nexus-TH signal for ESP32 written in Rust","archived":false,"fork":false,"pushed_at":"2025-01-25T03:56:57.000Z","size":18,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-13T18:52:55.227Z","etag":null,"topics":["433mhz","esp32","ook","rust","rxb6"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anarsoul.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2024-11-02T19:58:57.000Z","updated_at":"2025-01-25T03:57:00.000Z","dependencies_parsed_at":"2024-11-02T21:18:05.390Z","dependency_job_id":"449d0ac6-4f95-497a-92d5-bb84eff19e40","html_url":"https://github.com/anarsoul/esp-rf-ook","commit_stats":{"total_commits":5,"total_committers":1,"mean_commits":5.0,"dds":0.0,"last_synced_commit":"693990e2f150aacfff4f04cfd9de7ea8a95de542"},"previous_names":["anarsoul/esp-rf-ook"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anarsoul%2Fesp-rf-ook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anarsoul%2Fesp-rf-ook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anarsoul%2Fesp-rf-ook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anarsoul%2Fesp-rf-ook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anarsoul","download_url":"https://codeload.github.com/anarsoul/esp-rf-ook/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247692158,"owners_count":20980385,"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":["433mhz","esp32","ook","rust","rxb6"],"created_at":"2024-11-03T07:04:23.503Z","updated_at":"2026-04-28T18:34:22.321Z","avatar_url":"https://github.com/anarsoul.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"**This repo is deprecated. Please use [esp-rf-ook2](https://github.com/anarsoul/esp-rf-ook2) instead**\n\nThis is an app for ESP32 to decode the signal from Nexus-TH 433MHz thermal\nsensor.\n\nRXB6 RF receiver is connected to GPIO21 (change it in the code if you need a\ndifferent pin). RXB6 outputs high level when it detects carrier, low level when\nit detects no carrier.\n\nThat app uses a busy-loop in main to sample GPIO, using interrupts is not\nfeasible since you'd need to service at least 4000 interrupts/second to\ndetect pulses of 500uS.\n\nNexus-TH uses OOK modulation at 433MHz, basic params:\n* pulse is 400-600uS (carrier present)\n* preamble is \u003e2000 uS (no carrier)\n* end of payload is \u003e3000 uS (no carrier)\n* zero is 800-1000 uS (no carrier)\n* one is 1650-2150 uS (no carrier)\n\nSignal looks like:\n```\n   |--|                  |--|       |--|                 |--|                             |--|\n   |  |                  |  |       |  |                 |  |                             |  |\n---|  |------------------|  |-------|  |-----------------|  |-----------------------------|  |\n   PULSE    PREAMBLE     PULSE ZERO PULSE    ONE              END OF PAYLOAD\n```\n\nPayload is transmitted several times and consists of 36 bits (preamble and EOP\nare not counted)\n\n\nAAAAAAAA BX CC DDDDDDDDDDDD EEEE FFFFFFFF, where:\n\n* A - ID\n* B - 1 if battery is OK, 0 if battery low\n* X - always zero\n* C - channel, zero based (0 for channel 1)\n* D - temperature * 10 in C. E.g. 123 for 12.3C\n* E - Unknown\n* F - Humidity. Clamp to 100\n\nCreate cfg.toml (see cfg.toml.example) to specify your credentials for WiFi and MQTT\n\nThe app will publish JSON with temperature and humidity data, example:\n```\n{\"time\" : \"2024-11-02 12:05:31 UTC\", \"model\" : \"Nexus-TH\", \"id\" : 174, \"channel\" : 1, \"battery_ok\" : 1, \"temperature_C\" : 10.100, \"humidity\" : 91}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanarsoul%2Fesp-rf-ook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanarsoul%2Fesp-rf-ook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanarsoul%2Fesp-rf-ook/lists"}