The ESP8226 is a very cheap Wi-Fi microcontroller with a complete TCP/IP stack and a 32 bit microcontroller and is made by the Chinese manufacturer Espressif Systems. The chip came to attention in 2014 by a small board (ESP-01) as a cheap Wi-Fi module that could be controlled via a serial interface and through a form of Hayes commands. Soon the chip came to the attention of hackers, mainly due to its low cost, to find other uses. For the low amount of money, the specifications are impressive: a 32-bit RISC CPU (Tensilica Xtensa LX106) with an 80 MHz clock frequency, 64 Kb instruction RAM, 96 KB data RAM, external QSPI flash (512 Kb to 4 Mb), built-in IEEE 802.11 Wi-Fi stack, WEP and WPA/WPA2 authentication, 16 GPIO pins, SPI, I2C, UART and a 10-bit ADC. There are some nice cheap DIY boards for sale with this microcontroller and this page contains information about these boards, documentation, links and specifications, and development tooling. Also a full working sourcecode of a WIFI led controller. Sincerely, Hein Pragt
Wemos D1 mini
A relatively small manufacturer by the name of Wemos brings out nice new developments with the ESP-8266 family on Arduino type shields. One of these fun boards to experiment with yourself is the Wemos D1 mini, a small board equipped with a full Wi-Fi and network stack, a nice number of I/O ports, power supply, a USB connection, serial communication, bootloader, Flash memory and a 32 bit processor with an 80 MHz clock frequency. As in all very nice specifications for a board that costs less than 10 dollar. When you are already used to the standard Arduino IDE and programming environment, you can also use this for the Wemos D1. The correct boards have to be installed in the board manager of the IDE, but then it works almost immediately. There are already many libraries specifically for the ESP-8266 family available for the Wemos D1 mini but I find that many of the standard libraries written for the Arduino also work fine on the Wemos D1 mini. Because I2C and SPI also work standard, many of the boards and shields that are made for the Arduino can also be connected, please note that everything must work on 3v3, but this can also be solved with a level adjustment board or a resistance network. But a standard LCD display or a relay board can easily be connected. Sometimes a few I/O pins have to change definitions and often it works fine. But with 4 Mb of code space and 35 Kb of ram and a 32 bit processor at 80 MHz which is a huge improvement over the 16 MHz 8 bit Arduino processor with 1 to 2 Kb sram. The possibilities of the Wemos D1 mini are therefore very extensive, partly due to the built-in Wi-Fi that you can use ready-to-use.
Wemos OLED display
The first display I used is the WeMos D1 mini OLED shield 64x48 of 0.66 inch with an I2C interface. The shield has many more pins because it can also be controlled differently but of course we like to use I2C because it only uses two I/O lines. At 0.66inch it is quite a small display but is very easy to read as it has a high contrast. It uses the SSD1306 as the interface chip and uses the I2C address 0x3C or 0x3D which can be selected by a solder bridge on the back of the PCB. Very small, so I don't dare and leave them at the default value. The device was delivered with separate header pins and since you only have 4 connections If you need it, you can also solder the wires directly to the PCB.
Code and example
Download: HERE my library for the Wemos D1 OLED display and install it via the IDE in your
Arduino environment. Restart the IDE and look at the examples and see it says "oledtest64.ino". The library works for the combination
Wemos D1 and the Wemos OLED display. I also use this library myself and develop it further. With these basic functions you can create
extensions in your own code.
The displays can actually show only a little text, with a font of 5x7 this is the division on the screen and a resolution of 64 x 48 pixels, this gives ten columns and 5 rows, so you can effectively lose 50 characters on the screen.
Sourcecode Wi-Fi led control
This piece of sample code clearly shows the tremendous power of the Wemos D1 mini. The example uses my OLED library and otherwise only use standard supplied / built-in parts. Through this piece of code you can use your mobile phone via the web browser to find an output pin of the Wemos D1 mini module (read: connected relay) on and off. In this example I control the built-in LED. Since the more complete Wi-Fi stack and network stack are in the module as far as we don't write our own code for this. First you make on your phone to a mobile hotspot and gives it a name and a password, you enter this name and password at const char* ssid and const char* password after which you can compile the code and upload it in the Wemos module. After turning on of the module, it will try to contact your mobile hotspot and then display its IP address on the screen. You then only need to enter this address in the address bar of the browser on your mobile phone and the Wemos module will now behave like an HTTP server and send you a page with the status of the led. Then you can click on a click on the links or switch the LED on the Wemos module on and off by means of a URL parameter. This is just a small example that can be food for many ideas, but I leave that to your imagination. kind regards, Hein Pragt.
ESP8226 download and links
Last update: 14-05-2022