{"id":35128899,"url":"https://github.com/dankeboy36/boardlab","last_synced_at":"2026-02-26T16:23:13.523Z","repository":{"id":330301336,"uuid":"1121668927","full_name":"dankeboy36/boardlab","owner":"dankeboy36","description":"Vendor-independent board development for Visual Studio Code, powered by Arduino CLI","archived":false,"fork":false,"pushed_at":"2026-02-06T16:07:35.000Z","size":6174,"stargazers_count":1,"open_issues_count":8,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-06T23:48:38.348Z","etag":null,"topics":["arduino","arduino-ide","embedded","esp32","iot","sketch"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=dankeboy36.boardlab","language":"TypeScript","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/dankeboy36.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"notice":"NOTICE.md","maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-12-23T11:03:26.000Z","updated_at":"2026-01-07T20:33:51.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/dankeboy36/boardlab","commit_stats":null,"previous_names":["dankeboy36/boardlab"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/dankeboy36/boardlab","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dankeboy36%2Fboardlab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dankeboy36%2Fboardlab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dankeboy36%2Fboardlab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dankeboy36%2Fboardlab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dankeboy36","download_url":"https://codeload.github.com/dankeboy36/boardlab/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dankeboy36%2Fboardlab/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29284786,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-09T21:57:15.303Z","status":"ssl_error","status_checked_at":"2026-02-09T21:57:11.537Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["arduino","arduino-ide","embedded","esp32","iot","sketch"],"created_at":"2025-12-28T04:26:52.010Z","updated_at":"2026-02-26T16:23:13.517Z","avatar_url":"https://github.com/dankeboy36.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BoardLab\n\nVendor-independent board development for Visual Studio Code, powered by Arduino CLI.\n\n\u003e [!WARNING]\n\u003e **BoardLab is in early alpha.**\n\u003e\n\u003e APIs, UX details, and configuration may change without notice.\n\u003e If you need a production-stable Arduino IDE experience today, please use Arduino IDE 2.x.\n\u003e BoardLab is for early adopters, contributors, and power users who want to help shape the future of vendor-independent board development in Visual Studio Code.\n\u003e\n\u003e ---\n\u003e\n\u003e ### Community Feedback\n\u003e\n\u003e \u003e \"BoardLab\" is another extension that makes VS Code into a full Arduino IDE equivalent. It is a very young project still in the alpha development phase. However, it is quite notable because it was created by @dankeboy36, who is the same person who brought us the \"ESP Exception Decoder\" extension for Arduino IDE 2.x, as well as other very significant and high quality contributions to the Arduino ecosystem.\n\u003e \u003e\n\u003e \u003e — @ptillisch, [Arduino Forum](https://forum.arduino.cc/t/problems-installing-vscode-and-platformio/1424230/12#p-8356780-boardlab-7)\n\u003e\n\u003e BoardLab is being built in public. Early feedback — positive and critical — is welcomed.\n\n---\n\nBoardLab for Visual Studio Code aims to be feature-complete with Arduino IDE 2.x, while staying fully open, power-user friendly, and strictly native to VS Code's UX.\n\nAll builds, uploads, board management, library management, and metadata are handled by the official Arduino CLI.\n\nArduino libraries, board packages, and toolchain binaries are downloaded exclusively from official Arduino servers.\n\nBoardLab is **not affiliated with Arduino**. It uses the official Arduino CLI.\n\n![BoardLab](resources/static/boardlab.gif)\n\n---\n\n## Features\n\nBoardLab focuses on removing friction from Arduino development workflows inside VS Code.\n\nCurrent features include:\n\n- Board, port, and sketch management from Visual Studio Code\n- Compile, upload, and archive sketches using the Arduino CLI\n- **Multi-sketch support**:\n  - Discover and manage multiple sketches across all Visual Studio Code workspace folders\n  - Import and work with multiple sketches without opening more than one Visual Studio Code window\n- **Built-in serial monitor and plotter**:\n  - Implemented as custom text editors, allowing views to be detached from the main Visual Studio Code window\n  - Designed for multi-window workflows where editing, uploading, and monitoring happen in parallel\n  - Shared underlying HTTP server coordinating serial port access across windows\n  - Supports suspend/resume between uploads when multiple windows compete for the same sketch\n  - High-throughput output (tested up to ~150 MiB/s) to an Xterm.js terminal with ANSI control code support\n- **Profile-based workflows**:\n  - Visual Studio Code–native profile editor with both structured UI and YAML editors\n  - Profile validation with actionable diagnostics\n  - Every detected issue provides a Quick Fix to synchronize profiles with the local installation\n  - Profiles are portable and can be shared across projects and machines\n  - Profiles are not locked-in yet; current validation focuses on guiding users rather than enforcing restrictions\n  - Supports running separate Arduino CLI daemon instances per profile when needed\n- **Preview and discovery**:\n  - Preview built-in examples before importing them into a workspace or sketchbook\n  - Preview third-party and built-in libraries\n  - Inspect sketch contents before adding them to a project\n- Native Visual Studio Code commands, views, tasks, and diagnostics\n- **Ecosystem compatibility**:\n  - Fully compatible with the [Visual Studio Code Arduino API](https://github.com/dankeboy36/vscode-arduino-api)\n  - Extensions compatible with Arduino IDE 2.x can work with BoardLab without modification\n\nScreenshots and short animations will be added as the UI stabilizes.\n\n\u003e Tip: Short, focused animations are planned to demonstrate workflows once features are considered stable.\n\n---\n\n## Requirements\n\nNo Arduino IDE installation is required.\n\nAll required toolchains, board packages, and libraries are downloaded via the Arduino CLI from official Arduino servers.\n\n---\n\n## Extension Settings\n\nBoardLab contributes VS Code settings under the `boardlab.*` namespace.\n\nExamples:\n\n- `boardlab.cli.path`: Path to the Arduino CLI binary (optional)\n- `boardlab.cli.additionalUrls`: Additional board package index URLs\n- `boardlab.monitor.baudRate`: Default baud rate for the serial monitor\n- `boardlab.monitor.lineEnding`: Line ending configuration for the monitor\n\nSettings may evolve while the extension is in early preview.\n\n---\n\n## Known Issues\n\n- APIs, command IDs, and configuration keys may change\n- Some advanced Arduino IDE 2.x features are not yet integrated\n- UX and diagnostics are still being refined\n\nPlease check existing issues before reporting new ones.\n\n---\n\n## Roadmap\n\nThis roadmap is intentionally pragmatic and incremental.\n\n- Fix existing bugs and inconsistencies\n- Improve first-time setup and onboarding\n- Expand diagnostics and error reporting\n- **Truly self-hosted** workflows starting with the AVR core\n- UI **translations and accessibility** improvements\n- Improve monitor and plotter UX and performance\n- Incremental integration of Arduino language and editor features\n- Debugger integration where supported by platforms and the Arduino CLI\n- Improved and more predictable build profile handling\n- Compatibility updates for related extensions (e.g. LittleFS and the ESP Exception Decoder)\n\n---\n\n## Release Notes\n\nRelease notes are maintained in the [GitHub changelog](https://github.com/dankeboy36/boardlab/blob/main/CHANGELOG.md).\n\n---\n\n## License\n\nMIT\n\nThis extension includes third-party content. See [NOTICE.md](./NOTICE.md) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdankeboy36%2Fboardlab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdankeboy36%2Fboardlab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdankeboy36%2Fboardlab/lists"}