{"id":14963816,"url":"https://github.com/madskjeldgaard/platformio-arduino-template","last_synced_at":"2026-01-20T14:34:25.422Z","repository":{"id":248708387,"uuid":"829413885","full_name":"madskjeldgaard/platformio-arduino-template","owner":"madskjeldgaard","description":"The ⚡ULTIMATE⚡ Arduino starter template for Platformio  🐩 (Pico, ESP32, ESP8266, Teensy, etc)","archived":false,"fork":false,"pushed_at":"2025-12-14T12:45:27.000Z","size":31,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-16T18:14:08.681Z","etag":null,"topics":["adafruit-feather","arduino","esp32","esp32-arduino","esp8266","esp8266-arduino","platformio","raspberry-pi-pico","teensy","teensy40","teensy41","teensylc","template-repository"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/madskjeldgaard.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},"funding":{"custom":["https://ko-fi.com/madskjeldgaard"]}},"created_at":"2024-07-16T11:33:42.000Z","updated_at":"2025-12-14T12:45:31.000Z","dependencies_parsed_at":"2025-02-10T06:32:22.480Z","dependency_job_id":"9a74acef-2824-4ee8-bc2f-b39c8958e7fc","html_url":"https://github.com/madskjeldgaard/platformio-arduino-template","commit_stats":{"total_commits":17,"total_committers":1,"mean_commits":17.0,"dds":0.0,"last_synced_commit":"4ff6b7277c5dcf64cc4e237c23394ea1306923e1"},"previous_names":["madskjeldgaard/platformio-arduino-template"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/madskjeldgaard/platformio-arduino-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madskjeldgaard%2Fplatformio-arduino-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madskjeldgaard%2Fplatformio-arduino-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madskjeldgaard%2Fplatformio-arduino-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madskjeldgaard%2Fplatformio-arduino-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/madskjeldgaard","download_url":"https://codeload.github.com/madskjeldgaard/platformio-arduino-template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madskjeldgaard%2Fplatformio-arduino-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28604963,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T12:01:53.233Z","status":"ssl_error","status_checked_at":"2026-01-20T12:01:46.545Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["adafruit-feather","arduino","esp32","esp32-arduino","esp8266","esp8266-arduino","platformio","raspberry-pi-pico","teensy","teensy40","teensy41","teensylc","template-repository"],"created_at":"2024-09-24T13:32:10.917Z","updated_at":"2026-01-20T14:34:25.405Z","avatar_url":"https://github.com/madskjeldgaard.png","language":"Shell","funding_links":["https://ko-fi.com/madskjeldgaard"],"categories":[],"sub_categories":[],"readme":"[![PlatformIO CI](https://github.com/madskjeldgaard/platformio-arduino-template/actions/workflows/build.yml/badge.svg)](https://github.com/madskjeldgaard/platformio-arduino-template/actions/workflows/build.yml)\n\n# The ⚡ULTIMATE⚡ Arduino starter template for Platformio 🐩\n\nMaking electronics projects using the [arduino framework](https://www.arduino.cc/) in [platformio](https://platformio.org/) is amazingly fast, low-maintenance and wonderful. If you know how to set it up. Trying to get the right board matched with the right platform, matched with the right compiler flags to make USB work or getting the correct OSC library, etc.\n\nThis template makes it easier by providing a nice skeleton with some cool extra features and opinionated things to turbo charge your new project.\n\nIt has a lot of common things set up for some common boards used in the art/music/maker world, including a few optimizations and weird fixes. \n\nIt includes suggestions for libraries to use so you don't have to dig around too much for the common stuff. Just uncomment in the platformio.ini file and recompile.\n\n## Features\n\n- 🐩 Platformio-based – easy to compile and upload, gets dependencies automatically, also easy to extend with new boards\n- 🐩 Includes a lot of common libraries. Just comment/uncomment in [platformio.ini](platformio.ini) to your project's liking.\n- 🐩 Set up for C++17, allowing a lot of modern C++ tricks.\n- 🐩 A helper script is included in [.scripts/commands.sh](.scripts/commands.sh) to make tedious processes simpler.\n- 🐩 VSCode tasks are included making building easy in VSCode and in NeoVim (using the Overseer plugin)\n- 🐩 A Github Action which runs every time you push code to test if your firmware still compiles.\n\n## Supported boards\n\n- ✅ Raspberry Pi Pico\n- ✅ Raspberry Pi PicoW\n- ✅ Teensy 4.1\n- ✅ Teensy 4.0\n- ✅ Teensy LC\n- ✅ NodeMCUV2 ESP8266 \n- ✅ ESP32 dev boards\n- ✅ Adafruit Feather ESP32\n- ✅ Adafruit Feather ESP32 S2\n\n... And it's very easy to add more boards:\n\n### Adding new boards\n\nThe included script has a command to fuzzy search through available boards and automatically insert it into `platformio.ini` and auto update the vscode tasks as well.\n \nAdd new board using this command:\n```bash\n.scripts/commands.sh add_board\n```\n\nThen open `platformio.ini` and make any additional adjustments.\n\n## Usage\n\nTo make a project based on this template, you can click on the `Use this template` button at the top of the page. \n\n### Manually making a project based on this template\n\nIf you don't want to use github, you can clone this project manually (so you can use it on [Codeberg](https://codeberg.org/) or another git repository):\n\n```bash\ngit clone git@github.com:madskjeldgaard/platformio-arduino-template.git my-pio-arduino-project\ncd my-pio-arduino-project\ngit remote remove origin\ngit remote add origin \u003cyour_git_repo\u003e\n```\n\n### Compiling and uploading\n\nTo compile and upload your sketch, simply run this command, adjusted to one of the supported boards, eg for Teensy 4.0:\n\n```bash\n.scripts/commands.sh build teensy40\n```\n\nOr to build and then upload in one command:\n```bash\n.scripts/commands.sh upload teensy40\n```\n\nFinally, the project includes vscode tasks, which are the recommended way of running these commands. Either using vscode as an editor, or in neovim using the [overseer.nvim](https://github.com/stevearc/overseer.nvim) for NeoVim.\n\n### Installing dependencies\n\nYou need to have platformio installed to make use of this.\n\nInstall it on MacOS by running homebrew:\n\n```bash\nbrew install platformio\n```\nIf you want to use all the helper scripts' features for adding new boards to your project, you also need `fzf` and `jq`:\n\n```bash\nbrew install fzf jq\n```\n\n### Using the helper script\n\nSome additional features are packed into the included helper script, run it without arguments to get a list of commands:\n\n```bash\n.scripts/commands.sh\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmadskjeldgaard%2Fplatformio-arduino-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmadskjeldgaard%2Fplatformio-arduino-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmadskjeldgaard%2Fplatformio-arduino-template/lists"}