HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
esp8266
Arduino
C++2015–2022
esp8266 / Arduino

Arduino

ESP8266 core for Arduino

20Distinct people
22Mentions
0Explicit recommenders
16.7KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

ESP8266 core for Arduino

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year22 dated mentions

Observed mentions: 2015-05-18 17:54:20 UTC to 2022-12-21 16:22:32 UTC.

024682015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 8 mentions; 1 submissions, 7 comments20152016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 7 mentions; 1 submissions, 6 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC817
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC716
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC000
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC101
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC505
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC000
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Arduino core for ESP8266 WiFi chip Quick links Latest release documentation Current "git version" documentation Install git version (sources) Arduino on ESP8266 This project brings support for the ESP8266 chip to the Arduino environment. It lets you write sketches, using familiar Arduino functions and libraries, and run them directly on ESP8266, with no external microcontroller required. ESP8266 Arduino core comes with libraries to communicate over WiFi using TCP and UDP, set up HTTP, mDNS, SSDP, and DNS servers, do OTA updates, use a file system in flash memory, and work with SD cards, servos, SPI and I2C peripherals. Contents Installing options: Using Boards Manager Using git version Using PlatformIO Building with make Documentation Issues and support Contributing License and credits Installing with Boards Manager Starting with 1.6.4, Arduino allows installation of third-party platform packages using Boards Manager. We have packages available for Windows, Mac OS, and Linux (32 and 64 bit). Download and install Arduino IDE 1.x or 2.x Start Arduino and open the Preferences window Enter https://arduino.esp8266.com/stable/package_esp8266com_index.json into the File>Preferences>Additional Boards Manager URLs field of the Arduino IDE. You can add multiple URLs, separating them with commas. Open Boards Manager from Tools > Board menu and install esp8266 platform (and don't forget to select your ESP8266 board from Tools > Board menu after installation). Latest release Boards manager link: https://arduino.esp8266.com/stable/package_esp8266com_index.json Documentation: https://arduino-esp8266.readthedocs.io/en/3.1.2/ Using git version Also known as latest git or master branch. When using Arduino IDE, follow our instructions here. When using PlatformIO, refer to platformio/espressif8266 platform documentation. Using PlatformIO PlatformIO is an open source ecosystem for IoT development with a cross-platform build system, a library manager, and full support for Espressif (ESP8266) development. It works on the following popular host operating systems: macOS, Windows, Linux 32/64, and Linux ARM (like Raspberry Pi, BeagleBone, CubieBoard). What is PlatformIO? PlatformIO IDE PlatformIO Core (command line tool) Advanced usage - custom settings, uploading to SPIFFS, Over-the-Air (OTA), staging version Integration with Cloud and Standalone IDEs - Cloud9, Codeanywhere, Eclipse Che (Codenvy), Atom, CLion, Eclipse, Emacs, NetBeans, Qt Creator, Sublime Text, VIM, Visual Studio, and VSCode Project Examples Building with make makeEspArduino is a generic makefile for any ESP8266 Arduino project. Using make instead of the Arduino IDE makes it easier to do automated and production builds. Documentation Documentation for latest development version: https://arduino-esp8266.readthedocs.io/en/latest/ Issues and support ESP8266 Community Forum is a well-established community for questions and answers about Arduino for ESP8266. Stackoverflow is also an alternative. If you need help, have a "How do I..." type question, have a problem with a 3rd party library not hosted in this repo, or just want to discuss how to approach a problem, please ask there. If you find the forum useful, please consider supporting it with a donation. If you encounter an issue which you think is a bug in the ESP8266 Arduino Core or the associated libraries, or if you want to propose an enhancement, you are welcome to submit it here on Github: https://github.com/esp8266/Arduino/issues. Please provide as much context as possible, as well as the information requested in the issue template: ESP8266 Arduino core version which you are using (you can check it in Boards Manager) your sketch code; please wrap it into a code block, see Github markdown manual when encountering an issue that happens at run time, attach the serial output. Wrap it into a code block, just like the code. for issues that happen at compile time, enable verbose compiler output in the IDE preferences, and attach that output (also inside a code block) ESP8266 development board model IDE settings (board choice, flash size) etc Contributing For minor fixes of code and documentation, please go ahead and submit a pull request. A gentle introduction to the process can be found here. Check out the list of issues that are easy to fix — easy issues pending. Working on them is a great way to move the project forward. Larger changes (rewriting parts of existing code from scratch, adding new functions to the core, adding new libraries) should generally be discussed by opening an issue first. PRs with such changes require testing and approval. Feature branches with lots of small commits (especially titled "oops", "fix typo", "forgot to add file", etc.) should be squashed before opening a pull request. At the same time, please refrain from putting multiple unrelated changes into a single pull request. License and credits Arduino IDE is developed and maintained by the Arduino team. The IDE is licensed under GPL. ESP8266 core includes an xtensa gcc toolchain, which is also under GPL. Esptool.py was initially created by Fredrik Ahlberg (@themadinventor, @kongo), and is currently maintained by Angus Gratton (@projectgus) under GPL 2.0 license. Espressif's NONOS SDK included in this build is under Espressif MIT License. ESP8266 core files are licensed under LGPL. SPI Flash File System (SPIFFS) written by Peter Andersson is used in this project. It is distributed under the MIT license. umm_malloc memory management library written by Ralph Hempel is used in this project. It is distributed under the MIT license. SoftwareSerial library and examples written by Peter Lerup. Distributed under LGPL 2.1. BearSSL library written by Thomas Pornin, built from https://github.com/earlephilhower/bearssl-esp8266, is used in this project. It is distributed under the MIT License. LittleFS library written by ARM Limited and released under the BSD 3-clause license. uzlib library written and (c) 2014-
Read the full README on GitHub

What Hacker News says

22 sources
The ESP8266 has 5 sleep modes, as summarized by this README.md in the Arduino ESP8266 Core: https://github.com/esp8266/Arduino/tree/master/libraries/esp... The `delay(1)` triggers the "Automatic Modem Sleep" mode, which keeps the WiFi connection alive. It should draw about 15-16 mA, which is pretty close to the 18-24 mA measured in the TFA. The WiFi radio consumes a lot of power. During initialization, I believe it can consume 500 mA or more. In normal usage, WiFi apparently has a continuous drain of ~70 mA. If WiFi is not needed, the ESP8266 can be placed into "Forced Deep Sleep" mode, with an idle current of 0.02 mA. Using a ~2000 mAh battery (e.g. 3xAA NiMh, or 1x18650 Li-Ion), that means over 11 years on battery, if no other work is performed. The lowest current that I have measured personally is 0.04 mA on various ESP-01 modules. But
Read the rest
that still means about 5.5 years on a single charge. If the WiFi is needed only intermittently, the ESP8266 can be placed into "Forced Deep Sleep" mode, with the internal RTC configured to wake it up after a certain time, e.g. 15-30 minutes. It can then connect to WiFi, transmit the data payload, then go back to Deep Sleep again. Unfortunately, the ESP-01 module does not support this (without hardware hacking), because it does not expose the GPIO16/D0 pin necessary to trigger the RESET. Other ESP8266 dev boards (e.g. D1 Mini, NodeMCU) do support waking up from Deep Sleep. But these dev boards often contain a voltage regulator which consumes a quiescent current. On my D1 Mini boards, I get about 0.22 mA in Forced Deep Sleep mode. In theory, that's enough for 1 year of life on a single charge of a 2000 mAh battery. But waking it up every 15 minutes, for 5-6 seconds of WiFi time, reduces the battery life to about 4-5 months. At this point, the active power usage during the 5-6 seconds of WiFi is already 2X the power consumption of the 15 minutes of Deep Sleep, so I have not attempted to reduce the idle consumption any further.
In Saving power on an ESP8266 web server using delays
The term "Arduino" is for the ecosystem; it doesn't refer to any singular microcontroller. At one time, long ago, it did - mainly the ATMega8 platform that was at the heart of the Wiring project, which ultimately begat the original Arduino (and Processing). But the ecosystem expanded; first via different Atmel microcontrollers (many which became so-called "official" platforms), then eventually to other microcontroller platforms (and Microchip, maker of the venerable PIC microcontroller platform, eventually purchased Atmel). The ESP8266 is a part of that ecosystem today, along with other so-called "ESP" controllers: https://github.com/esp8266/Arduino https://www.esp8266.com/wiki/doku.php?id=start-with-esp-12-a... https://github.com/espressif/arduino-esp32 It wouldn't surprise me to find out there is a core available for the Raspberry Pi -
Read the rest
or at least for the SOC on the board... Hmm: https://github.com/me-no-dev/RasPiArduino I looked to see if I could find any kind of "real" core for the Raspberry Pi or Broadcom SOCs but I didn't find anything other than the above, which seems to be in active development. Honestly, though, you wouldn't really use a Raspberry Pi that way; more likely you would use the Raspberry Pi as a development platform for an Arduino ecosystem platform, that would likely be attached to the Pi via USB or some other method. People, especially beginners, are often confused by what the name "Arduino" means; as I've noted, today it's an ecosystem composed of many different platforms, some "official", but many more that are not. ...and this of course doesn't get into the whole "real" vs "knockoff" vs "counterfeit" debate (which is a whole 'nother story).
In Pi-Top 4
It turns out 40K isn't much if you want a TLS stack that supports modern standards and keysizes, and interoperates with most servers out there [1]. Once you have 16K transmit and receive buffers (the default fragment length) and enough space to do the math needed for a 4096-bit RSA key, you're pretty much out of RAM. And that's just the system library for a single TLS connection - the programmer will probably want to use some memory too :) [1] https://github.com/esp8266/Arduino/issues/1375#issuecomment-... https://github.com/esp8266/Arduino/issues/43#issuecomment-16...
In The ESP32 has been released
I feel like the title is a misnomer given the article is called "ESP8266: This $5 Microcontroller with Wi-Fi is now Arduino-Compatible," and on that front it's really easy to get started with these [0]! ESP8266 boards abound on AliExpress, the easiest of which to get started with are NodeMCU variants. One example with seemingly good documentation is the Wemos D1 Mini [1] that comes with a USB-to-serial chip onboard. Here's another decent reference I found to getting started with them [2]. [0] GitHub repo for plugging into the Arduino IDE: https://github.com/esp8266/Arduino [1] http://www.wemos.cc/wiki/doku.php?id=en:d1_mini [2] http://www.averagemanvsraspberrypi.com/2015/11/esp8266-node-...
In ESP8266: A $5 microcontroller with wi-fi that runs Python
I just bought 2 nodemcu 0.9 boards and tested then with http://www.nodemcu.com/index_en.html and https://github.com/esp8266/Arduino and both of then have problems when tested with the board as webserver (panic/reset and memory leaks/freeze). The ESPWebFramework was the only one so far that works and stay alive with the apache benchamrk tool: ab -n 1000 -c 20 http://192.168.4.1/confwifi This is ApacheBench, Version 2.3 <$Revision: 1528965 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking 192.168.4.1 (be patient) Completed 100 requests Completed 200 requests Completed 300 requests Completed 400 requests Completed 500 requests Completed 600 requests Completed 700 requests Completed 800 requests Completed 900 requests Completed 1000 reque
Read the rest
sts Finished 1000 requests Server Software: Server Hostname: 192.168.4.1 Server Port: 80 Document Path: /confwifi Document Length: 3770 bytes Concurrency Level: 20 Time taken for tests: 44.099 seconds Complete requests: 1000 Failed requests: 0 Total transferred: 3855000 bytes HTML transferred: 3770000 bytes Requests per second: 22.68 [#/sec] (mean) Time per request: 881.980 [ms] (mean) Time per request: 44.099 [ms] (mean, across all concurrent requests) Transfer rate: 85.37 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 1 160 1296.8 3 31044 Processing: 49 226 145.4 216 2104 Waiting: 13 165 121.4 159 2097 Total: 51 385 1321.4 222 31876 Percentage of the requests served within a certain time (ms) 50% 222 66% 240 75% 251 80% 259 90% 284 95% 1211 98% 2107 99% 3235 100% 31876 (longest request)
In A Web Framework for ESP8266

Showing the 15 most recent of 22 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.