{"id":17482207,"url":"https://github.com/petarsimonovic/sloworm","last_synced_at":"2025-07-12T19:37:49.430Z","repository":{"id":258359656,"uuid":"852091576","full_name":"PetarSimonovic/sloworm","owner":"PetarSimonovic","description":"A tool to interact with MicroPython controllers through the browser","archived":false,"fork":false,"pushed_at":"2024-10-17T15:01:27.000Z","size":155,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-19T20:22:44.028Z","etag":null,"topics":["microcontroller","micropython","pico","raspberryp","raspberrypipico","webapi"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PetarSimonovic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-09-04T07:57:40.000Z","updated_at":"2024-10-18T07:13:53.000Z","dependencies_parsed_at":"2024-10-18T16:36:25.692Z","dependency_job_id":"ec8f5659-9e7b-457e-85d8-4d9bb0be9f17","html_url":"https://github.com/PetarSimonovic/sloworm","commit_stats":null,"previous_names":["petarsimonovic/slow-worm"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PetarSimonovic%2Fsloworm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PetarSimonovic%2Fsloworm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PetarSimonovic%2Fsloworm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PetarSimonovic%2Fsloworm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PetarSimonovic","download_url":"https://codeload.github.com/PetarSimonovic/sloworm/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246035952,"owners_count":20713179,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["microcontroller","micropython","pico","raspberryp","raspberrypipico","webapi"],"created_at":"2024-10-18T23:04:34.750Z","updated_at":"2025-07-12T19:37:49.409Z","avatar_url":"https://github.com/PetarSimonovic.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SloWorm\n\nSloWorm is an in-browser tool that uses the [Web Serial API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Serial_API) to connect and code MicroPython boards.\n\nIt's a work in progress and has been developed using a Raspberry Pi Pico. No other types of board have been tested.\n\nThe Web Serial API itself is an exprimental feature that isn't compatible with all browsers.\n\nChrome is recommended.\n\n## Try it out\n\nYou'll need a MicroPython controller (the app has been tested only with a Raspberry Pi Pico).\n\nVisit https://petarsimonovic.github.io/sloworm/\n\nor run it locally\n\n```bash\n npm install\n\n npm run start\n```\n\nSloWorm should be available on http://localhost:5173/\n\n## Connecting a MicroPython board\n\nConnect your computer to a MicroPythobn board (SloWorm has been tested only with a Raspberry Pi Pico)\n\nClick the `connect` button.\n\nWhen prompted, select `Board in FS mode`.\n\nIf the connection is succesful the output pane will state that it's `Connected to MicroPython`.\n\n## Sending code to the board\n\nType a line of code in the input pane at the top of the screen then press return to send it to the connected MicroPython board.\n\nThe board's response will appear in the Output pane below.\n\nMaking a board's onboard LED blink is the MicroPython equivalent of \"Hello World\".\n\nHere's how to do it on a Pico.\n\n```python\nfrom machine import Pin\nled = Pin(25, Pin.OUT)\n\nled.toggle()\n```\n\nSubsequent calls to `led.toggle()` should make the light go on and off.\n\nMicroPython uses indentation to delineate blocks of code. SloWorm doesn't yet offer any formatting help here.\n\n## Disconnecting\n\nClick the disconnect button to disconnect from the board.\n\n## Forthcoming work\n\n- Formatting help to indent/unindent MicroPython code (string indentation works at the moment but it's tempremental)\n- More tests, refactoring etc\n- Flickering glowing effects, possibly to indicate errors\n- Accessibility testing/features to adjust colours\n- Maybe host it somewhere\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpetarsimonovic%2Fsloworm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpetarsimonovic%2Fsloworm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpetarsimonovic%2Fsloworm/lists"}