{"id":18099633,"url":"https://github.com/barafael/rc-receiver-interface","last_synced_at":"2025-06-24T04:07:38.924Z","repository":{"id":117812001,"uuid":"116514916","full_name":"barafael/RC-Receiver-Interface","owner":"barafael","description":"Read remote controlled receivers using arduino devices","archived":false,"fork":false,"pushed_at":"2021-01-13T13:37:18.000Z","size":15,"stargazers_count":5,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-16T14:40:38.448Z","etag":null,"topics":["interrupt","oop","ppm","remote-control","servo","teensy"],"latest_commit_sha":null,"homepage":"","language":"C++","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/barafael.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,"zenodo":null}},"created_at":"2018-01-06T20:55:06.000Z","updated_at":"2021-03-19T02:00:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"4f7a8bff-73f1-45b0-91dd-c89f9554d498","html_url":"https://github.com/barafael/RC-Receiver-Interface","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/barafael/RC-Receiver-Interface","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barafael%2FRC-Receiver-Interface","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barafael%2FRC-Receiver-Interface/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barafael%2FRC-Receiver-Interface/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barafael%2FRC-Receiver-Interface/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/barafael","download_url":"https://codeload.github.com/barafael/RC-Receiver-Interface/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barafael%2FRC-Receiver-Interface/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261601515,"owners_count":23183095,"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":["interrupt","oop","ppm","remote-control","servo","teensy"],"created_at":"2024-10-31T21:10:18.529Z","updated_at":"2025-06-24T04:07:38.916Z","avatar_url":"https://github.com/barafael.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RC-Receiver-Interface - A library for reading RC receivers\n\nDisclaimer: You should probably do this with Timers and/or DMA,\nbut for a quick solution this works fine...\n\nThis library provides a ```Receiver``` object from which you can read the input\nfrom an RC receiver. There are many sketches around the internet which achieve\nthe same result, but some of them use blocking functions (i.e. pulseIn()) or\nare just long C files. This library provides an object-oriented receiver\ninterface.  As input, PWM and CPPM signals are supported. For the latter, only\none pin is needed, but it uses the teensy-specific PulsePosition library.\n\n# Supported Devices\n\nThis library works fine on the Teensy 3.2 and Teensy LC. Please\n[let me know](rafael.bachmann.93@gmail.com) if you got it working on a\ndifferent board and feel free to open a PR.\n\nThe Arduino Uno is NOT supported for reading 4 channels because it only has 2\npins that can handle interrupts. You can easily  adapt the library to just use\n2 channels.\n\n# Notes on Interrupts\n\nPlease ensure that the pins you give the Receiver constructor are\ninterrupt-capable. On the Teensy 3.2, all digital pins can be used.\n\nIf your program disables interrupts for long stretches of time, then you will\nprobably notice inaccuracies from this library, since it relies on interrupts\nfor detecting receiver signals.\n\n# Example Sketch and Hardware Setup\n\nThe example sketch ```RC-Receiver-Interface.ino``` sets up the receiver such\nthat you can connect your receiver to pins 8, 9, 10, 11. Channel order is\nthrottle, aileron, elevator, rudder.  Make sure you choose the right signal\ntype (ppm, pwm) in the code and your receiver.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarafael%2Frc-receiver-interface","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbarafael%2Frc-receiver-interface","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarafael%2Frc-receiver-interface/lists"}