{"id":16320421,"url":"https://github.com/v923z/micropython-builder","last_synced_at":"2026-05-17T08:11:13.488Z","repository":{"id":41146427,"uuid":"454909509","full_name":"v923z/micropython-builder","owner":"v923z","description":"Ready-to-run firmware files with micropython and ulab","archived":false,"fork":false,"pushed_at":"2025-10-16T20:46:37.000Z","size":50,"stargazers_count":41,"open_issues_count":4,"forks_count":23,"subscribers_count":4,"default_branch":"master","last_synced_at":"2026-04-02T07:37:51.715Z","etag":null,"topics":["firmware","micropython","numpy","ulab"],"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/v923z.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-02-02T19:36:02.000Z","updated_at":"2026-02-13T13:54:26.000Z","dependencies_parsed_at":"2024-03-11T04:31:11.494Z","dependency_job_id":"1024a1bb-5350-4b5c-b87c-9dbae3405faa","html_url":"https://github.com/v923z/micropython-builder","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/v923z/micropython-builder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/v923z%2Fmicropython-builder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/v923z%2Fmicropython-builder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/v923z%2Fmicropython-builder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/v923z%2Fmicropython-builder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/v923z","download_url":"https://codeload.github.com/v923z/micropython-builder/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/v923z%2Fmicropython-builder/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32081125,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-21T06:27:27.065Z","status":"ssl_error","status_checked_at":"2026-04-21T06:27:21.250Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["firmware","micropython","numpy","ulab"],"created_at":"2024-10-10T22:44:16.639Z","updated_at":"2026-04-21T07:05:38.818Z","avatar_url":"https://github.com/v923z.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# micropython-builder\n\nBleeding edge `micropython` firmware with `ulab` included.\n## Contents\n\n1. [Overview](#overview)\n1. [Platforms and firmware](#platforms-and-firmware)\n1. [Compiling locally](#compiling-locally)\n1. [Contributing and issues](#contributing-and-issues)\n    1. [Testing the build process on github](#testing-the-build-process-on-github)\n\n## Overview\n\nThis project aims to bring [ulab](https://github.com/v923z/micropython-ulab/)\nto those microcontrollers that are supported by `micropython`. Every second day, the github CI automatically\nclones the latest `micropython`, and `ulab` repositories, compiles the firmware, and uploads the binary files to\n[Releases](https://github.com/v923z/micropython-builder/releases).\n\nThe github [workflow file](https://github.com/v923z/micropython-builder/blob/main/.github/workflows/build.yml)\nsimply calls the platform-specific [build scripts](https://github.com/v923z/micropython-builder/tree/main/scripts)\none after the other, and contains no other steps. This approach results in build steps that can easily be\nreproduced on any linux computer. We hope that by offering the community build scripts that are proven\nto run on a freshly installed system, we can significantly lower the threshold to firmware customisation.\n\n[Contents](#contents)\n\n## Platforms and firmware\n\nUnless otherwise specified, firmware is built with default settings (i.e., those given in the `mpconfigboad.h` file),\nand with support for 2-dimensional complex arrays. On platforms, where flash size is a concern, the dimensionality\nmight be reduced, complex support might be switched off, and certain functions might be excluded from the firmware.\nCompilation details, pre-processor switches etc., can always be read out of the corresponding build script. Again,\nthe build scripts are the only place holding information on the binary output.\n\nEach firmware file is named after the board on which it is supposed to run, and, in addition, the binary contains\nthe short git hash of `micropython` (in `micropython`'s welcome prompt), and the short git hash of `ulab`\n(in the `ulab.__sha__` variable). Hence, it is always possible to determine,\nwhich [micropython](https://github.com/micropython/micropython/commits/master), and\n[ulab](https://github.com/v923z/micropython-ulab/commits/master) commits, respectively, are included by looking at the \n`micropython` welcome prompt, and then \n\n```python\nimport ulab\nulab.__sha__\n```\n\n[Contents](#contents)\n\n## Compiling locally\n\nIf you would like to compile (or customise) the firmware on a local machine, all you have to do is clone this repository\nwith\n\n```bash\ngit clone https://github.com/v923z/micropython-builder.git\n```\n\nthen\n\n```bash\ncd micropython-builder\n```\n\nand there run\n\n```bash\n./scripts/some_port/some_board.sh\n```\n\nThe rest is taken care of.\n\n[Contents](#contents)\n\n## Contributing and issues\n\nIf your board is not listed, but you would like to see it here, you can submit a build script by means of a\n[pull request](https://github.com/v923z/micropython-builder/pulls). Alternatively, you can open an\n[issue](https://github.com/v923z/micropython-builder/issues) with the specifications of your board. Note that,\nby definition, only those boards can be included in the CI that are supported by `micropython`.\n\nIssues concerning `micropython`, or `ulab` themselves should be opened in their respective repositories, i.e.,\n[micropython issues](https://github.com/micropython/micropython/issues), and\n[ulab issues](https://github.com/v923z/micropython-ulab/issues).\n\n### Testing the build process on github\n\nIf you have a script that compiles the firmware on the local computer, you can easily test it on github.\nAll you have to do is fork this repository, and create a branch called `testing` on your copy. In\n`.github/workflows/template.yml`, add a section with a link to your script, and create a pull request\nagainst your `master` branch. Make sure you go to the Actions tab and enable workflows including binary \nbuilds first. Otherwise, the job will not automatically trigger when you creat the pull request. Your \nscript should complete without errors, and at the end of the workflow run, you should see the artifacts \nlisted. Once you are satisfied with the results, you can modify the `.github/workflows/build.yml` file \nto include the new section, and open a pull request against this repository.\n\n\n[Contents](#contents)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fv923z%2Fmicropython-builder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fv923z%2Fmicropython-builder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fv923z%2Fmicropython-builder/lists"}