{"id":22579451,"url":"https://github.com/raspiduino/uarm8266","last_synced_at":"2025-10-15T14:38:39.489Z","repository":{"id":113064997,"uuid":"383212979","full_name":"raspiduino/uARM8266","owner":"raspiduino","description":"Run Linux on esp8266.","archived":false,"fork":false,"pushed_at":"2024-04-17T11:39:36.000Z","size":1817,"stargazers_count":36,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-10T18:47:34.368Z","etag":null,"topics":["arm","emulator","esp8266","esp8266-arduino","linux","uarm","xtensa"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/raspiduino.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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}},"created_at":"2021-07-05T17:10:12.000Z","updated_at":"2024-12-11T08:07:12.000Z","dependencies_parsed_at":"2025-04-10T18:24:02.955Z","dependency_job_id":"ddb260e9-076c-48d2-9a1f-759fecac2b8d","html_url":"https://github.com/raspiduino/uARM8266","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/raspiduino/uARM8266","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raspiduino%2FuARM8266","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raspiduino%2FuARM8266/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raspiduino%2FuARM8266/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raspiduino%2FuARM8266/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raspiduino","download_url":"https://codeload.github.com/raspiduino/uARM8266/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raspiduino%2FuARM8266/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279085575,"owners_count":26100017,"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","status":"online","status_checked_at":"2025-10-15T02:00:07.814Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["arm","emulator","esp8266","esp8266-arduino","linux","uarm","xtensa"],"created_at":"2024-12-08T05:07:34.314Z","updated_at":"2025-10-15T14:38:39.462Z","avatar_url":"https://github.com/raspiduino.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# uARM8266\nReal Linux (Ubuntu 9) running on ARM emulator on esp8266. This thing **haven't been tested once**, so you have to expect to encounter errors. I planned to port `mini-rv32ima` to esp8266, but currently can't due to lack of time.\n\n## What is this?\nThis is a port of [Dmitry Grinberg](http://dmitry.gr/)'s project to run on esp8266. His original project is to [run Linux on AVR](http://dmitry.gr/?r=05.Projects\u0026proj=07.%20Linux%20on%208bit).\n\n## How?\nBecause there is no native Linux support for esp8266 (although it's based on xtensa architecture (particularly LX106), which is 32-bits and have MMU, and there is [Linux support for \u003cb\u003e*some*\u003c/b\u003e of the xtensa](http://www.linux-xtensa.org/)), so we have to find an architecture that Linux can run on. And I have found the super portable emulator on his project, and port it to esp8266.\n\n## Why?\nFor fun :)\n\u003cbr\u003eIt will be wonderful if we can run something like Linux on our tiny esp8266.\n\n## How to build?\nThe project have been written in Arduino-compatible format since esp8266's nonsdk (bare mental) is too complicated (especially the SDIO). So simply you can open the `uARM8266.ino` in the `uARM8266` folder and build it (and upload it) with Arduino IDE.\n\u003cbr\u003e You can also change the esp8266's freq in Arduino IDE from 80Mhz to 160Mhz for faster emulation.\n\n## Wiring\n![wiring](https://user-images.githubusercontent.com/68118236/124540105-f0915500-de48-11eb-84ea-e605d387a7e6.png)\nTo flash the module, connect GPIO0 to GND. To run connect to VCC.\n\u003cbr\u003eSD card's pin CS by default connect to GPIO4. but you can change it if you want in `config.h`\n\u003cbr\u003e\u003cb\u003eOptional:\u003c/b\u003eYou can enable print speed mode in `config.h`. After that you can connect a button to the pin you choosed and when you press it will print out current emulator's speed.\n\n## How to run?\nDownload the image file from [here](https://github.com/raspiduino/uARM-old/blob/main/jaunty.rel.v2.bz2?raw=true), extract it and when you got a file named `jaunty.rel.v2`, copy it to SD card's root directory (\u003cb\u003eDO NOT\u003c/b\u003e use `dd`, just copy it like a normal file!). Also, create a blank file named `uARMram.bin` also in the root directory of the SD card.\n\u003cbr\u003eConnect GPIO0 to VCC. Plug the RXD0 and TXD0 to the USB-to-serial. You might want to use a capacitor since Esp8266 require a lot of energy and an USB-to-serial cannot provide enough.\n\u003cbr\u003eOpen the terminal and connect to the right COM port with baudrate 115200. Enjoy your Linux!\n\n## Credit\n- 99% of the work was done by Dmitry Grinberg\n\n## License\nDmitry's license in LICENSE.txt:\n```\nThis code can be used for non-commercial purposes as long as you publish all code changes and this license file unmodified with them. If integrated in any hardware, the paperwork that comes with the hardware must include this notice.\nFor commercial use terms, contact me.\n\n--\nDmitry Grinberg\ndmtirygr@gmail.com\nhttp://dmitry.co/\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraspiduino%2Fuarm8266","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraspiduino%2Fuarm8266","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraspiduino%2Fuarm8266/lists"}