{"id":16239757,"url":"https://github.com/nopnop2002/esp-idf-irsend","last_synced_at":"2025-03-19T16:31:39.813Z","repository":{"id":108987721,"uuid":"192508468","full_name":"nopnop2002/esp-idf-irSend","owner":"nopnop2002","description":"M5Stick and M5StickC(+) as a remote control transmitter","archived":false,"fork":false,"pushed_at":"2023-06-29T06:50:42.000Z","size":138,"stargazers_count":17,"open_issues_count":0,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-28T19:53:24.611Z","etag":null,"topics":["esp-idf","esp32","ir","m5stack","m5stick","m5stickc","nec","remote-control"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nopnop2002.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2019-06-18T09:26:18.000Z","updated_at":"2024-11-21T17:56:46.000Z","dependencies_parsed_at":"2023-07-11T00:46:29.207Z","dependency_job_id":null,"html_url":"https://github.com/nopnop2002/esp-idf-irSend","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nopnop2002%2Fesp-idf-irSend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nopnop2002%2Fesp-idf-irSend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nopnop2002%2Fesp-idf-irSend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nopnop2002%2Fesp-idf-irSend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nopnop2002","download_url":"https://codeload.github.com/nopnop2002/esp-idf-irSend/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244006259,"owners_count":20382441,"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":["esp-idf","esp32","ir","m5stack","m5stick","m5stickc","nec","remote-control"],"created_at":"2024-10-10T13:45:04.398Z","updated_at":"2025-03-19T16:31:39.808Z","avatar_url":"https://github.com/nopnop2002.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# esp-idf-irSend\nM5Atom, M5Stick and M5StickC(+) have internal IR Transmitter.   \nYou can use these as Remote control transmitter.   \n\n# Software requirements\nesp-idf v4.4/v5.0.   \n\n__Note for esp-idf v5.0__   \nesp-idf v5.0 gives this warning, but work.   \n\n```\n#warning \"The legacy RMT driver is deprecated, please use driver/rmt_tx.h and/or driver/rmt_rx.h\"\n```\nThis is because the specifications of the RMT driver have changed significantly with esp-idf v5.   \nPresumably, esp-idf v5.1 will completely obsolete the legacy RMT driver.   \n\n\n# How to get IR code.\nYou can get IR code using esp-idf-irAnalysis.   \n\n```\ngit clone https://github.com/nopnop2002/esp-idf-irSend\ncd esp-idf-irSend/esp-idf-irAnalysis/\nidf.py set-target esp32\nidf.py menuconfig\nidf.py flash monitor\n```\n\nConnect the IR receiver to GPIO19.   \nI used the TL1838, but you can use anything as long as it is powered by 3.3V.   \nIR transmitter don't use.   \nWhen changing GPIO19, you can change it to any GPIO using menuconfig.   \n\n```\n IR Receiver (TL1838)               ESP Board\n+--------------------+       +-------------------+\n|                  RX+-------+GPIO19             |\n|                    |       |                   |\n|                 3V3+-------+3V3                |\n|                    |       |                   |\n|                 GND+-------+GND                |\n+--------------------+       +-------------------+\n```\n\nBuild the project and flash it to the board, then run monitor tool to view serial output.   \nWhen you press a button of the remote control, you will find there output:   \n```\nI (86070) main: Scan Code  --- addr: 0xff00 cmd: 0xe718\nI (86120) main: Scan Code (repeat) --- addr: 0xff00 cmd: 0xe718\n```\naddr and cmd is displayed as below:   \naddr: 0xff00 --\u003e {0xff-addr} \u003c\u003c 8 + addr   \ncmd: 0xe718 --\u003e {0xff-cmd} \u003c\u003c 8 + cmd   \n\nThis shows addr as 0x00 and cmd as 0x18.\n\n**Note:**   \nYou can get only NEC format IR code using this.   \nYou can't get other format IR code.   \n\n\n# Setup this project.\nYou have to edit Display.def in font directory.   \nDisplay.def have IR code which you want to fire.   \nAnd Display.def have information text which you want to view.   \nAfter which, Build this project and flash it to board.   \n\nexample of Display.def.   \n```\n#This is define file for isp-idf-irSend\n#Text,cmd,addr;comment\nPlay,0x18,0x00; cmd:0xe718 addr:0xff00\nStop,0x1C,0x00; cmd:0xe31c addr:0xff00\nNext,0x5A,0x00; cmd:0xa55a addr:0xff00\nPrev,0x08,0x00; cmd:0xf708 addr:0xff00\n```\n\n**Note:**   \nEach line terminated by semicolon.\n\n\n# NEC IR Code Specification\nSpecification is [here](https://user-images.githubusercontent.com/6020549/59671633-f7fd4b80-91f8-11e9-9bc6-45ab6e18ebc8.jpg).   \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnopnop2002%2Fesp-idf-irsend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnopnop2002%2Fesp-idf-irsend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnopnop2002%2Fesp-idf-irsend/lists"}