{"id":16482509,"url":"https://github.com/f/idiot","last_synced_at":"2025-07-21T17:33:04.776Z","repository":{"id":140370620,"uuid":"80402404","full_name":"f/idiot","owner":"f","description":"Easier NodeMCU Environment - IoT Made Simple","archived":false,"fork":false,"pushed_at":"2017-01-31T05:38:41.000Z","size":555,"stargazers_count":19,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-28T22:41:29.442Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"MoonScript","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/f.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":"2017-01-30T07:46:40.000Z","updated_at":"2023-05-10T13:58:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"81f6722d-a883-43b7-a095-6d4315fc59e4","html_url":"https://github.com/f/idiot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/f/idiot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f%2Fidiot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f%2Fidiot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f%2Fidiot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f%2Fidiot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/f","download_url":"https://codeload.github.com/f/idiot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f%2Fidiot/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266342809,"owners_count":23914262,"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","status":"online","status_checked_at":"2025-07-21T11:47:31.412Z","response_time":64,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-10-11T13:11:03.154Z","updated_at":"2025-07-21T17:33:04.749Z","avatar_url":"https://github.com/f.png","language":"MoonScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg width=\"800\" src=\"./assets/idiot-logo.png\" alt=\"idIoT\"\u003e\n---\n\u003cimg width=\"800\" src=\"./assets/screenshot.png\" alt=\"IoT Made Simple\"\u003e\n\nidIoT is an IoT environment based on [NodeMCU + ESP8266](http://nodemcu.com/index_en.html).\nNodeMCU is an open-source firmware and development kit that helps \nyou to prototype your IoT product within a few Lua script lines.\n\n**idIoT** tries to make **NodeMCU** environment easier to develop using\nMoonScript and the **idiot framework**.\n\n## Overview\n\nidIoT uses **MoonScript** to make coding easier for NodeMCU development.\n\n**Writing a blinking LED is _THAT_ easy:**\n```moonscript\nevery second!, -\u003e toggle pin 4\n```\n\n**Or listening a button press:**\n```moonscript\nled = pin 0\non button(5), (pressed)-\u003e toggle led, to: pressed\n```\n\n**Or you can descriptively create a buzzer beeper:**\n```moonscript\nbuzzer = pin 1\nbeep = -\u003e close pin 1, for: seconds(1)\n```\n\n## Install (OS X Development Environment)\n\n### 1. Download Driver\nFirst, you need to download [SiLabs Serial Driver](https://www.silabs.com/Support%20Documents/Software/Mac_OSX_VCP_Driver.zip)\nto connect, send and receive data from/to NodeMCU.\n\n### 2. Install Dependencies\n```bash\nbrew install lua      # Install Lua via Homebrew\nsudo easy_install pip # You need to have Python PIP\npip install esptool   # Install ESPTool to interact with NodeMCU\nluarocks install moonscript --local # Install MoonScript\n```\n\n### 3. Download idIoT\n\nidIoT is where the magic starts:\n\n```bash\ngit clone http://github.com/f/idiot.git\ncd idiot\nmake install\n```\n\n## Firmware\n\n\u003cimg width=\"500\" src=\"./assets/nodemcu.png\" alt=\"idIoT\"\u003e\n\n### Enabled Modules\n`cjson` `cron` `encoder` `enduser_setup` `file` `gpio`\n`mdns` `net` `node` `tmr` `uart` `websocket` `wifi`\n\nTo bundle more modules, please use [NodeMCU Builder](https://nodemcu-build.com).\n\n**_Please replace `firmware/firmware.bin` with if you build custom firmware._**\n\n### Install Firmware\n\nRun following command to install new firmware.\n\n```bash\nmake reset\n```\n### Upload Code\n\n```bash\nmake\n```\n\n## API\n\nIdiot has simplified API to take control of your board.\n\n### Timer\n\n#### `every delay, function`\n\n```moonscript\nevery second!, -\u003e toggle pin 4\n```\n\n#### `wait delay, function`\n\n```moonscript\nwait second!, -\u003e open pin 4\n```\n\n### `second`\n\n```moonscript\nsecond! -- 1 second\nsecond(0.5) -- half second\nsecond 2 -- 2 seconds\n```\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ff%2Fidiot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ff%2Fidiot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ff%2Fidiot/lists"}