As already introduced my article in Elektor 1/2016 and on this project site (WiFi for MCUs using ESP8266), the ESP8266 is a very useable chip in order to attach MCUs to WiFi. But you can use it as well without MCU in a standalone way, because it contains the 32 bit MCU Tensilica-L106 running with a 80 or 160 Mhz clock. And 17 I/O lines, which can be configured as GPIO-, UART-, SPI-, I2C- or PWM-interfaces. This is enough for small or middle sized WiFi projects without an additional MCU.
In this project, the same tasks should be performed as in the one with the STM32 coprocessor: Switch a red LED in off-, on-, blink- and flash-mode and control the intensity of a white and blue LED via soft-slider. The solution is compatible with the STM32 version, so the same clients (PC, Android tablet, iPhone) can be used. The schematic is pretty simple, four LEDs connected to the ESP via a driver module L293B. This driver can handle higher loads like motors or power LEDs. For easy flashing, a USB/RS232 converter is on the board too. The proper power comes from a switching supply. Look at the schematics and board picture for further details.
Eclipse and C are used as development platform. The ESP-maker named Cherts has assembled a package for Windows, which contains Eclipse, Compiler and the System Development Kit. Base of control is the real time operating system freeRTOS. The programs under freeRTOS have to consider some rules, like no delay loops, short CPU use, etc. The C-program of the author is structured in multiple state machines communicating with several call-back functions of the SDK. The complete Eclipse project is attached. Have a look on the code.
The introduced solution works well in the standalone mode, controlled by the different clients. More details of ESP8266 standalone usage will be published in one of the next Elektor journals.
Development system can be downloaded from:
Have fun with your projects!