{"id":20316073,"url":"https://github.com/lupyuen/stm32bluepill-makecode","last_synced_at":"2026-02-03T09:41:42.434Z","repository":{"id":87767224,"uuid":"163121935","full_name":"lupyuen/stm32bluepill-makecode","owner":"lupyuen","description":"MakeCode visual programming tool for STM32 Blue Pill based on libopencm3","archived":false,"fork":false,"pushed_at":"2019-01-19T20:38:09.000Z","size":42,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-17T18:17:21.809Z","etag":null,"topics":["bluepill","libopencm3","makecode","stm32","stm32f103c8t6"],"latest_commit_sha":null,"homepage":null,"language":null,"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/lupyuen.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}},"created_at":"2018-12-26T01:16:35.000Z","updated_at":"2020-12-03T03:34:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"1f102038-fa43-4443-8f9c-da51f0dc3c72","html_url":"https://github.com/lupyuen/stm32bluepill-makecode","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lupyuen/stm32bluepill-makecode","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lupyuen%2Fstm32bluepill-makecode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lupyuen%2Fstm32bluepill-makecode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lupyuen%2Fstm32bluepill-makecode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lupyuen%2Fstm32bluepill-makecode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lupyuen","download_url":"https://codeload.github.com/lupyuen/stm32bluepill-makecode/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lupyuen%2Fstm32bluepill-makecode/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29039824,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T09:33:44.148Z","status":"ssl_error","status_checked_at":"2026-02-03T09:33:43.343Z","response_time":96,"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":["bluepill","libopencm3","makecode","stm32","stm32f103c8t6"],"created_at":"2024-11-14T18:24:09.461Z","updated_at":"2026-02-03T09:41:42.415Z","avatar_url":"https://github.com/lupyuen.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# stm32bluepill-makecode: MakeCode for STM32 Blue Pill\nMakeCode visual programming tool for STM32 Blue Pill based on libopencm3\n\nThis is an experimental code editor for STM32 Blue Pill - try it at https://lupyuen.github.io/pxt-maker\n\n* See https://medium.com/@ly.lee/work-in-progress-stm32-blue-pill-visual-programming-with-makecode-codal-and-libopencm3-422d308f252e\n* [Read the docs](https://maker.makecode.com/about)\n\n### Setup\n\n1. Make sure you installed the GNU Toolchain for Windows / Mac / Linux: https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads\n\n1. On Windows, use the Windows Ubuntu bash shell: https://docs.microsoft.com/en-us/windows/wsl/about\n\n1. Install [Node.js](https://nodejs.org/) 8.9.4 or higher.\n\n1. Install [ninja](https://ninja-build.org/). For Ubuntu and Windows Ubuntu, run `sudo apt install ninja-build`\n\n1. For Mac and Linux: Install [Docker](https://www.docker.com/). For Ubuntu (but not Windows Ubuntu), run `sudo apt install docker.io`. Do not install Docker for Windows.\n\n1. Clone the `stm32bluepill-makecode` super-repository, which includes `pxt, pxt-common-packages` and `pxt-maker`.\n\n       git clone --recurse-submodules https://github.com/lupyuen/stm32bluepill-makecode\n       cd stm32bluepill-makecode\n\n1. Install the dependencies of ``pxt`` and build it\n\n       cd pxt\n       npm install\n       npm run build\n       cd ..\n\n1. Install the ``pxt-common-packages`` repository\n\n       cd pxt-common-packages\n       npm install\n       cd ..\n\n1. Install the pxt-maker dependencies.\n\n       cd pxt-maker\n       npm install\n\n1. Install the PXT command line\n\n       npm install -g pxt\n\n1. Link pxt-maker back to base pxt repo\n\n       npm link ../pxt\n       npm link ../pxt-common-packages\n       \nNote the above command assumes the folder structure of   \n\n```\n       stm32bluepill-makecode\n          |\n  ----------------------------------\n  |       |                        |\n pxt      pxt-common-packages  pxt-maker\n```\n\n### Running\n\nRun this command from inside `pxt-maker` to open a local web server\n```\npxt serve --localbuild \n```\nIf the local server opens in the wrong browser, make sure to copy the URL containing the local token. \nOtherwise, the editor will not be able to load the projects.\n\nWhile fixing the build you may suppress the browser like this:\n```\npxt serve --localbuild --no-browser\n```\n\nBecause Docker is not supported on Windows Ubuntu, and the build runs on faster on macOS without Docker, set the following environment variables to disable Docker:\n\n```\nexport PXT_DEBUG=1          # - display extensive logging info\nexport PXT_FORCE_LOCAL=1    # - compile C++ on the local machine, not the cloud service\nexport PXT_NODOCKER=1       # - don't use Docker image, and instead use host's arm-none-eabi-gcc (doesn't apply to Linux targets)\nexport PXT_RUNTIME_DEV=     # - DISABLED: always rebuild the C++ runtime, allowing for modification in the lower level runtime if any\nexport PXT_ASMDEBUG=1       # - embed additional information in generated binary.asm file\n```\n\nYou may find these build and debugging scripts useful:\n\nhttps://github.com/lupyuen/pxt-maker/tree/master/scripts\n\nThe build scripts are also accessible as Visual Studio Code tasks when you open the workspace files `stm32bluepill-makecode/build.code-workspace` (for faster builds, with Intellisense disabled) or `stm32bluepill-makecode/workspace.code-workspace` (for easier coding, with Intllisense enabled):\n\nhttps://github.com/lupyuen/stm32bluepill-makecode/blob/master/.vscode/tasks.json\n\n### Building the Blink sample\n\nIn the `pxt-maker` folder enter these commands:\n\n```\ncd projects/blink\n./build.sh\ncd ../..\n```\n\nThis creates a ROM file `projects/blink/built/flash.bin` that contains the ROM image of the Blink executable.  You may flash the Blue Pill to run it, or run it with the `qemu_stm32` emulator.\n\nThe ELF file (before linking with the Blink code) is located in `pxt-maker/projects/blink/built/codal/build/STM32_BLUE_PILL`. To dump the contents of the file:\n\n```\narm-none-eabi-objdump -t -S projects/blink/built/codal/build/STM32_BLUE_PILL \u003eSTM32_BLUE_PILL.dump\n```\n\n### Updates\n\nMake sure to pull changes from all repos regularly. More instructions are at https://github.com/Microsoft/pxt#running-a-target-from-localhost\n\n## Repos \n\nThis pxt target for STM32 Blue Pill depends on several other repos. The main ones are:\n- https://github.com/lupyuen/pxt-maker, MakeCode target for STM32 Blue Pill\n- https://github.com/lupyuen/codal-libopencm3, CODAL framework ported to libopencm3 for STM32 Blue Pill\n- https://github.com/Microsoft/pxt, the PXT framework\n- https://github.com/Microsoft/pxt-common-packages, common APIs accross various MakeCode editors\n- https://github.com/lancaster-university/codal-core, CODAL core project\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flupyuen%2Fstm32bluepill-makecode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flupyuen%2Fstm32bluepill-makecode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flupyuen%2Fstm32bluepill-makecode/lists"}