{"id":16516680,"url":"https://github.com/eadf/esp8266_buildenv","last_synced_at":"2026-05-13T09:06:02.108Z","repository":{"id":27028493,"uuid":"30493229","full_name":"eadf/esp8266_buildenv","owner":"eadf","description":"Work in progress","archived":false,"fork":false,"pushed_at":"2015-02-20T20:26:03.000Z","size":248,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-13T05:28:24.802Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Arduino","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eadf.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}},"created_at":"2015-02-08T14:20:34.000Z","updated_at":"2018-04-24T18:34:19.000Z","dependencies_parsed_at":"2022-08-03T06:30:36.353Z","dependency_job_id":null,"html_url":"https://github.com/eadf/esp8266_buildenv","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eadf%2Fesp8266_buildenv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eadf%2Fesp8266_buildenv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eadf%2Fesp8266_buildenv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eadf%2Fesp8266_buildenv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eadf","download_url":"https://codeload.github.com/eadf/esp8266_buildenv/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241549116,"owners_count":19980476,"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":[],"created_at":"2024-10-11T16:26:04.533Z","updated_at":"2026-05-13T09:05:57.023Z","avatar_url":"https://github.com/eadf.png","language":"Arduino","funding_links":[],"categories":[],"sub_categories":[],"readme":"# esp8266_buildenv\nBuild environment for Raspberry Pi or Beaglebone Black i also added an arduino pro mini script.\n \n **I don't expect this to be useful for anybody but myself.**\n \nThis is the build environment i use to compile, flash and test esp8266 applications on the Pi/BB platforms running linux.\n\n### Install\n* First install the toolchain as described [here.](http://www.esp8266.com/wiki/doku.php?id=toolchain)\nYou can place the git repository anywhere you like. But /opt/local seemed like a good place to me.\nThis will take several hours to compile.\n* copy or softlink the content of pi_bin or bb_bin to your (pi or bb) ~/bin folder .\n* adjust the content of ~/bin/esp_test.sh so that the variables point to the right places (sdk and tty).\n* connect the GPIO pins of your Raspberry Pi or Beaglebone Black to the relays as described below.\n* connect the esp8266 pins as described below.\n* on your Pi/BB: cd into the root directory of the project you want to build.\n* call ~/bin/esp_test.sh and see the project compile \u0026 flash. A screen console will be opened as well.\n\n### Circuit\nThe intention is to be able to disconnect the esp8266 from whatever hardware you are using, and setting it up so that the esp enters flash mode when the flash script resets it. For this purpose i used some old Arduino relays i had in my junk drawer.\n\n#### normal mode\nThe inactive state of the relays connects whatever gadgets you are using to the GPIO0, GPIO2 and RX pins of the esp8266.\n\n#### bypass mode\nThe active state of the relays connects GPIO0 and GPIO2 to 3V3 via pullups. Esp8266 RX pin should be connected to the TX pin of the Pi/BB via a resistor.\n\nRaspberry Pi Pins| Destination\n----------------|-------------\nRX (ttyAMA0)    | Esp8266 TX\nTX (ttyAMA0)    | relay input -\u003e esp RX \nGPIO.BCM.7      | controls all 3 relays\nGPIO.BCM.8      | Esp8266 Reset\n\nor\n\nBeaglebone Black Pins| Destination\n----------------|-------------\nRX (ttyO0)    | Esp8266 TX\nTX (ttyO0)    | relay input -\u003e esp RX\nP9_12      | controls all 3 relays\nP9_14      | Esp8266 Reset\n\n\nAll other esp pins should be connected as per usual (Vcc, GND, CHIP_EN etc etc)\n\n\n###Why use an underpowered computer as a build platform?\n* When you are a bit rusty on the electronics, like I am, it feels much safer to only risk a now obsolete Raspberry Pi B instead of a $1000 PC. Specially when you're dabbling with [mains power](https://github.com/eadf/esp8266_bitseq).\n* Pi and BB already have the correct 3V3 voltage, no need for any level shifters and crud like that.\n* The actual development can be done on a 'real' computer, with a full fledged IDE. It's just the flashing part i delegate to the Pi/BB via ssh.\n* The Pi and BB have easy access, programmable GPIOs that i use to control relays. These relays temporarily disconnects any hardware from the esp while i flash it. So i don't have to manually disconnect any cables each time i want to flash the esp. Very useful if you are using the RX pin of the esp as a GPIO.\n\nThere are lots of other small details i won't get into now. Like:\n* you will have to setup a file share if you want to run an IDE on your local computer. \n* Rasbyan uses ttyAMA0 as a console by default, google knows how to disable that.\n* to compile the sdk you will need a few packages installed - use your google-fu\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feadf%2Fesp8266_buildenv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feadf%2Fesp8266_buildenv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feadf%2Fesp8266_buildenv/lists"}