The project is still very much in its beta phase, so many of the functionalities that are built into MicroPython aren’t available on the ESP8266. Several months ago, a group of MicroPython fans decided to port the framework so that it would run on an ESP8266. As such, the vast majority of Python libraries aren’t compatible with MicroPython, but the syntax is familiar to those that have used Python. MicroPython is, broadly, a stripped-down implementation of Python 3 that’s been built for embedded systems. They’ve also provided a flashing tool that’s relatively popular. The last open version they released is v0.20_14_11_28 and can be downloaded on their forum. įairly recently, Espressif made the decision to close their source code. After a ton of searching, I finally found a “developer zone” forum that they use to release new updates and provide documentation. However, if you’re not a native Chinese speaker, you’re probably going to have a difficult time using their tools efficiently. They’ve provided plenty of tools, including an SDK, for developing firmware for their product. Official Espressifĭon’t forget, the actual manufacturer of the ESP8266 is the Chinese company Espressif.
This allows you to upload Lua scripts that can be run, rather than flashing a new firmware every time you want to change something. It functions a little bit differently than the Ai-thinker firmware in that it includes a filesystem. NodeMCU was written specifically to run Lua scripts, and gives the developer access to all the ESP8226’s microcontroller functionalities – PGIO/i2c/spi/etc in addition to more advanced networking capabilities. This is one of the popular firmwares out there for the ESP8266, likely because the documentation is well written and there are plenty of examples. If you take a close look at the cover on my ESP8266 ESP-12, you’ll see that it’s branded as an Ai-thinker (under the cover is the actual ESP8266 with the Espressif markings).Īdditionally, from the last post, you’ll notice that when I requested my chip’s firmware version, it reported back that my firmware was created by Ai-thinker. This list isn’t exhaustive, but I’ll do my best here to summarize some of the more popular releases. Released FirmwaresĪs of September 2015, there are a handful of companies/individuals that have released firmware to the public. You can even write your own firmware as if the ESP8266 were an Arduino! I don’t want to bury the lede too much here, but if you’d like to skip the background information and get right to writing/uploading custom firmware, jump down here. Similarly, MicroPython allows you to run a stripped-down version of Python. NodeMCU was built to provide a framework that would run Lua scrips. For example, the stock firmware was build specifically to facilitate AT commands and completing simple wireless tasks. Firmware are generally released for specific purposes. It’s probably easiest for you to think about firmware in terms of it being a simple operating system. Here’s where things get a little murky, particularly for new developers. To take advantage of the chip’s really cool general purpose input/output (GPIO) pins, or some of its more advanced networking capabilities, you’re going to have to replace the stock firmware through a process known as flashing. But if you remember, AT commands are only used for wireless functionalities. Now it’s time to have some fun with the ESP8266! In the last post, we talked about AT commands and how they’re used to interact with the ESP8266 more specifically, how they’re used to interact with its stock firmware.