ESP8266 WiFi modules can be purchased for less than $3, while some STM8S 8-bit MCUs board sell for just above $1. A.I. Thinker decided to combine both by adding an STMicro STM8S003 micro-controller to ESP-12E module and called that ESP-14.
- WiSoC – Expressif ESP8266-EX WiSoC
- MCU – STMicro STM8S003F3P6 8-bit MCU @ 16 MHz with 1KB RAM, 8KB flash, and 128 bytes EEPROM
- Connectivity – 802.11 b/g/n WiFi
- I/Os –
- STM8: 15 GPIOs also supporting I2C, SPI, UART, and up to 5 10-bit ADC
- ESP8266: E_GPIO0 to select operating mode (running or download)
- Power Supply – 3.3V
- Power Consumption – System Standby mode 70 mA; 0.5 μA shutdown @3.3V
- Dimensions – 24 x 16 mm
STM8S controls ESP8266 by AT commands, and all but one of the I/Os are directly connected to STM8S. I can see at least two advantages: 5 ADC inputs are available, and for battery operated applications you should be able to completely turn off ESP8266 when not using WiFi. Electrodragon has a few more technical details regarding active power consumptions, or you can download ESP-14 product manual in Chinese for the full details.
ESP-14 module can be purchased on Electrodragon for $3.20 + shipping, or just under $5 on Aliexpress including shipping. If you are based on China, the module goes for 13.50 RMB.
Thank you Nanik!
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
Horrible, thanks for warning that whoever orders the thing may get this crap instead!
@anon
Is it for Allwinner V3 camera? Or did you mean to comment here? If the latter, why do you think it’s crap?
I kind of agree with anon here: This is a horrible idea, because this perpetrates the idiotic paradigm of having a tiny 8-bit micro in the center with a beefy 32-bit as a peripheral (a.k.a. ESP8266 Arduino shield).
I can understand having STM8 as I/O extender (and maybe low-power supervisor/scheduler, sort of like ARC core on intel motherboards [1]), but then you will need ESP8266 programming pins for that, and they are hidden under the RF shield here, so you are stuck with “AT command” firmware (buggy and horrible in its own right).
[1] https://en.wikipedia.org/wiki/ARC_(processor)
I guess there is a way to program the STM8 MCU. But is there a way to program the ESP MCU? Can we set the ESP in flash mode and send the new code to STM8 MCU which will redirect the code via UART to ESP?
@slaff
I’ve already played a little with an STM8s board in Linux @ http://www.cnx-software.com/2015/04/13/how-to-program-stm8s-1-board-in-linux/
They mention “支持远程固件升级(OTA)” -> Remote Firmware Update in the document. But without reading Chinese it’s difficult to find out all it actually works.
@Jan de Boer
Another person does not like it either @ https://esp8266hints.wordpress.com/2015/10/28/and-another-one-from-ai-thinker/, mostly because of all the work involved to make it work again.
I can see many designs with low power MCU coupled with more power processors, but it’s usually to take care of the power circuitry (power off, IR input…). STM8S does add multiple ADC pins which are not found on ESP8266 (only one). So I guess it may have its limited uses, and would require some work…
Also note, the ESP-14 pinout is on the right, the “12” on the left is irrelevant. Looks like arduino doesn’t have access to any GPIO pins. All the “M” pins above are STM, “E” is ESP.
How do I connect esp-14 to the arduino uno r3?
Does anyone has an idea how to program the stm8 through AT commands??? This would be really helpful.
@rose
I think it works the other way around. STM8 is the master here, and sends commands to ESP8266 to setup WiFi.
@cnxsoft
But this is limiting a lot the Usability. I found an UART bootloader. This could make this board useful.
https://github.com/Zepan/hairBoot
@rose
I think that module was created for people needing lower power consumption. You run STM8s all the time, and only enable WiFi when you need to transmit or receive data. But I think both ESP8266 and STM8 can be programmed, so you could always reverse the roles by creating a custom firmware for STM8 to control it by AT commands.
@cnxsoft
Thanks for your answer. I’m working on it 🙂 I see much more potential in this esp-14 if I could program both chips wirelessly.
I want to use the EPS-14 to send me temperatur on a webpage, so far I got it connected to me wifi and I see my codeline which I want to show me the temperatur as well.
Which pin do I put the temperatur/analog (TMP 36GZ) at, to get me some temperatur data, which pin should I use? And If I want too take out temperatur/digital instead, which should I use then?
@Claus
There is only pin0 available on the ESP-14.
@rose
Pin0 is pin #14 , E_GPIO0 ?
You can flash ESP-14’s ESP8266:
https://benjamindejong.com/flashing-an-esp8266-esp-14/
Yes, I hate ESP-14. Even the documentation doesn’t mention how to flash it.
Hey
Can you suggest a way to flash the STM8s chip. Interfacing is done and “chip reset… Application Stopped” is the error occurred