{"id":15170257,"url":"https://github.com/vpayno/microbit-workspace","last_synced_at":"2026-01-24T18:02:20.433Z","repository":{"id":239258765,"uuid":"798921380","full_name":"vpayno/microbit-workspace","owner":"vpayno","description":"Personal workspace for learning to use the Microbit with Rust, TinyGo and Python","archived":false,"fork":false,"pushed_at":"2024-05-24T17:15:35.000Z","size":197,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-13T17:39:44.266Z","etag":null,"topics":["microbit-v2","micropython","rust","tinygo"],"latest_commit_sha":null,"homepage":"","language":"Python","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/vpayno.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":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-10T19:03:26.000Z","updated_at":"2024-05-24T17:15:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"a063207e-15e7-43aa-8d6c-99d70ba35eae","html_url":"https://github.com/vpayno/microbit-workspace","commit_stats":null,"previous_names":["vpayno/microbit-workspace"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vpayno/microbit-workspace","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vpayno%2Fmicrobit-workspace","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vpayno%2Fmicrobit-workspace/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vpayno%2Fmicrobit-workspace/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vpayno%2Fmicrobit-workspace/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vpayno","download_url":"https://codeload.github.com/vpayno/microbit-workspace/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vpayno%2Fmicrobit-workspace/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28733310,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T17:51:25.893Z","status":"ssl_error","status_checked_at":"2026-01-24T17:50:48.377Z","response_time":89,"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":["microbit-v2","micropython","rust","tinygo"],"created_at":"2024-09-27T08:01:10.253Z","updated_at":"2026-01-24T18:02:20.418Z","avatar_url":"https://github.com/vpayno.png","language":"Python","readme":"# microbit-workspace\n\n[![rust](https://github.com/vpayno/microbit-workspace/actions/workflows/rust.yml/badge.svg?branch=main)](https://github.com/vpayno/microbit-workspace/actions/workflows/rust.yml)\n[![actionlint](https://github.com/vpayno/microbit-workspace/actions/workflows/gh-actions.yml/badge.svg?branch=main)](https://github.com/vpayno/microbit-workspace/actions/workflows/gh-actions.yml)\n[![spellcheck](https://github.com/vpayno/microbit-workspace/actions/workflows/spellcheck.yml/badge.svg?branch=main)](https://github.com/vpayno/microbit-workspace/actions/workflows/spellcheck.yml)\n\nPersonal workspace for learning to use the Microbit with Rust, TinyGo and Python.\n\n## Links\n\n- [Microbit GitHub](https://github.com/bbcmicrobit)\n- [Microbit Adafruit](https://learn.adafruit.com/category/micro-bit)\n- [Rust](https://github.com/nrf-rs/microbit)\n- [TinyGo](https://tinygo.org/docs/reference/microcontrollers/microbit/)\n- [MicroPython](https://github.com/bbcmicrobit/micropython)\n\n## Experiments\n\n- [Rust](./rust/README.md)\n- [TinyGo](./tinygo/README.md)\n- [MicroPython](./python/README.md)\n\n## RunMe Playbook\n\nThis and other readme files in this repo are RunMe Playbooks.\n\nUse this playbook step/task to update the [RunMe](https://runme.dev) CLI.\n\nIf you don't have RunMe installed, you'll need to copy/paste the command. :)\n\n```bash { background=false category=runme closeTerminalOnSuccess=true excludeFromRunAll=true interactive=true interpreter=bash name=setup-install-runme promptEnv=true terminalRows=10 }\ngo install github.com/stateful/runme/v3@v3\n```\n\nInstall Playbook dependencies:\n\n```bash { background=false category=runme closeTerminalOnSuccess=true excludeFromRunAll=true interactive=true interpreter=bash name=setup-runme-deps promptEnv=true terminalRows=10 }\ngo install github.com/charmbracelet/gum@latest\n```\n\n## Installing Tools\n\nInstall generic tools dependencies.\n\n```bash { background=false category=setup closeTerminalOnSuccess=true excludeFromRunAll=true interactive=true interpreter=bash name=setup-install-tools-generic promptEnv=true terminalRows=10 }\n# install generic tool dependencies\n\nset -e\nset -x\n\nprintf \"\\n\"\n\nsudo nala install --no-autoremove -y gcc-arm-none-eabi\n\nset +x\n```\n\nInstall Rust language dependencies.\n\n```bash { background=false category=setup closeTerminalOnSuccess=true excludeFromRunAll=true interactive=true interpreter=bash name=setup-install-tools-rust promptEnv=true terminalRows=10 }\n# install rust language dependencies\n\nset -e\nset -x\n\nprintf \"\\n\"\n\nsudo nala install --no-autoremove -y gcc-arm-none-eabi\n\ncargo install probe-rs\ncargo install flip-link\n\nset +x\n```\n\nInstall TinyGo language dependencies.\n\n```bash { background=false category=setup closeTerminalOnSuccess=true excludeFromRunAll=true interactive=true interpreter=bash name=setup-install-tools-tinygo promptEnv=true terminalRows=10 }\n# install tinygo language dependencies\n\nset -e\nset -x\n\nprintf \"\\n\"\n\nsudo nala install --no-autoremove -y gcc-arm-none-eabi\n\ngo install github.com/tinygo-org/tinygo@latest\n\nset +x\n```\n\nFor [MicroPython Package Management](https://docs.micropython.org/en/latest/reference/packages.html), learning to use `mip` and `mpremote`.\n\nAdafruit MicroPython tutorials:\n\n- [Firmware Loading](https://learn.adafruit.com/micropython-basics-how-to-load-micropython-on-a-board)\n\nInstall Python/MicroPython language dependencies.\n\n```bash { background=false category=setup closeTerminalOnSuccess=true excludeFromRunAll=true interactive=true interpreter=bash name=setup-install-tools-micropython promptEnv=true terminalRows=10 }\n# install python/micropython language dependencies\n\nset -e\nset -x\n\nprintf \"\\n\"\n\nsudo nala install --no-autoremove -y gcc-arm-none-eabi cmake ninja-build srecord libssl-dev yotta\nprintf \"\\n\"\n\npython --version\npip install --upgrade mpremote\n\nif [[ ! -d .venv ]]; then\n    latest_python_version=\"$(pyenv versions --bare | grep '^3[.]' | sort -V | tail -n 1)\"\n    pyenv local \"${latest_python_version}\"\n    pyenv local\n    printf \"\\n\"\n\n    latest_mp_version=\"$(pyenv versions --bare | grep micropython | sort -V)\"\n    if ! pyenv versions | grep -q \"${latest_mp_version}\"; then\n        pyenv install \"${latest_mp_version}\"\n        pyenv versions\n    fi\n    printf \"\\n\"\n\n    # can't use pdm with micropython\n    # pyenv local \"${latest_mp_version}\"\n    # pyenv local\n    # printf \"\\n\"\n\n    pyenv versions\n    printf \"\\n\"\n\n    # instead of pip use\n    # micropython -m mip install pkgname\n\n    pdm venv create -w virtualenv --with-pip python\n    printf \"\\n\"\n\n    pdm use python\n    printf \"\\n\"\nfi\n\n# create lock file\npdm lock\nprintf \"\\n\"\n\n# use lock file to update .venv\npdm sync\nprintf \"\\n\"\n\nset +x\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvpayno%2Fmicrobit-workspace","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvpayno%2Fmicrobit-workspace","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvpayno%2Fmicrobit-workspace/lists"}