Home > Espressif, Hardware, STMICRO STM8 > ESP-14 WiFi Module Combines ESP8266 with STM8S MCU

ESP-14 WiFi Module Combines ESP8266 with STM8S MCU

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.

ESP-14ESP-14 specifications:

  • 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
ESP-12E and ESP-14 Pinouts

ESP-12E and ESP-14 Pinouts

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!

  1. anon
    October 27th, 2015 at 17:32 | #1

    Horrible, thanks for warning that whoever orders the thing may get this crap instead!

  2. October 27th, 2015 at 17:35 | #2

    @anon
    Is it for Allwinner V3 camera? Or did you mean to comment here? If the latter, why do you think it’s crap?

  3. Jan de Boer
    October 29th, 2015 at 00:01 | #3

    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)

  4. October 29th, 2015 at 16:17 | #4

    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?

  5. October 29th, 2015 at 17:11 | #5

    @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.

  6. October 29th, 2015 at 17:19 | #6

    @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…

  7. Donald Browne
    March 17th, 2016 at 05:30 | #7

    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.

  8. torquato
    April 20th, 2016 at 23:17 | #8

    How do I connect esp-14 to the arduino uno r3?

  9. rose
    October 1st, 2016 at 02:37 | #9

    Does anyone has an idea how to program the stm8 through AT commands??? This would be really helpful.

  10. October 1st, 2016 at 09:23 | #10

    @rose
    I think it works the other way around. STM8 is the master here, and sends commands to ESP8266 to setup WiFi.

  11. rose
    October 5th, 2016 at 01:17 | #11

    @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

  12. October 5th, 2016 at 09:15 | #12

    @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.

  13. rose
    October 11th, 2016 at 02:45 | #13

    @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.

  14. Claus
    October 21st, 2016 at 15:34 | #14

    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?

  15. rose
    October 23rd, 2016 at 04:40 | #15

    @Claus
    There is only pin0 available on the ESP-14.

  16. Claus
    October 23rd, 2016 at 04:57 | #16

    @rose

    Pin0 is pin #14 , E_GPIO0 ?

  1. October 27th, 2015 at 00:15 | #1
  2. October 27th, 2015 at 09:35 | #2
  3. October 28th, 2015 at 07:10 | #3
  4. November 15th, 2015 at 21:13 | #4