ESP8266: Test board review


Recently a test board for the ESP8266 ESP-12 arrived. I ordered it on AliExpress and took several weeks to arrive. Since the description was really bad I had to reverse engineers the functions and pins:

Pin layout of the test board

As you can see the board comes with a ready soldered ESP8266 ESP-12 soldered to it and all the pins are available to the left and right of the ESP-12 board. In addition the TX, RX and GND are available at the bottom of the board. There is also a jumper which you close for programming the firmware and open to run the firmware.

LEDs

There are also 6 red leds fixed with the necessary resistors connected to GPIO16, GPIO14, GPIO5, GPIO4, GPIO0 and GPIO2. A blue LED is always on if the board is powered. 
The GPIO13, GPIO12 and GPIO15 are connected to a RGB LED which allows you color mixing using PWM.

ADC

The analog-digital converter is also available on a pin but it is also connected to a light resistor. This lets you quickly test the ADC and you still can clip the resistor off if you want to measure another analog source.


Update: it took me a little while to figure out that the range of the ADC is not 0..3.3V but 0..1V, so make sure that the voltage you plan to measure is in this range.

Batterie pack

The test board comes with a batterie pack attached which takes 3 AA cells. In the following test scenario the board ran 39 hours: 
  • running nodemcu lua firmware
  • all but the blue power LEDs were off
  • a DHT11 connected to measure temperature and humidity
  • all 10minutes posting temperature and humidity to thingspeak.com
  • no deep sleep used
Test setup with DHT11 ran 39hours, posting
every 10min to thingspeak.com

Summary

The test board is a good and easy way to get started with the full range of available functions on the ESP8266. Especially to develop a firmware and check pin functions it comes in very handy. If you don’t want to use the light sensor or the LEDs you can simply clip them off. Then you’ll just have a priceworthy ESP8266 with 3xAA power supply, 9 available GPIO pins and one ADC.

Update – Pimp my power supply

If you prefer USB power supply over the battery pack then you can change that with just a little bit of soldering. Take an old USB wire and cut it with appropriate length. My wire had white, yellow, red and black wires. Assuming that red is +5V and black is GND I used my volt meter to check that it was correct. Then I removed the battery pack and soldered the black and red wire instead. Don’t worry about the 5V of the USB connector compared to the 4.5V of the serially connected batteries: There is a power regulator of type HT7333 which regulates the 5V down to a pleasant 3.3V.

Test board after replacing the battery pack
with a USB wire

Links

blank
Posted by Daniel Eichhorn

Daniel Eichhorn is a software engineer and an enthusiastic maker. He loves working on projects related to the Internet of Things, electronics, and embedded software. He owns two 3D printers: a Creality Ender 3 V2 and an Elegoo Mars 3. In 2018, he co-founded ThingPulse along with Marcel Stör. Together, they develop IoT hardware and distribute it to various locations around the world.

25 comments

  1. Have you tried to switched RX and TX? What kind of serial-to-usb are you using? What is the voltage level of the serial connection? 5V or 3.3V? Were you able to connect another type of ESP8266 succesfully with your serial-to-usb connector?

    • Try to connect with Lua loader ok 🙂
      module answers

      SENT: l = file.list()
      SENT: for k,v in pairs(l) do
      SENT: print("name:"..k..", size:"..v)
      SENT: end
      reconnect
      scandone
      no Ai-THINKER_9FC103 found, reconnect after 1s
      reconnect
      user_esp_platform_ap_is_changing
      current ap id =0
      current_router_id is 0
      scandone
      scandone
      no Ai-THINKER_9FC103 found, reconnect after 1s
      reconnect
      scandone
      no Ai-THINKER_9FC103 found, reconnect after 1s
      reconnect

      did you have module lua codes ?

  2. Looks like you are using the firmware from ai-thinker. if you find (and trust) to install the proper .apk on your android device you'll get a pretty interface to play with the hardware on the test board. But if you want to play with Lua you'll have to install one of two lua based firmwares. I describe it here: http://blog.squix.ch/2014/12/esp8266-flashing-lua-firmware-and.html
    and here: http://blog.squix.ch/2015/01/esp8266-update-over-air-nodelua-sparkio.html

  3. Dani – do you know how to get original fw from this board? I tried to connect to serial interface but it doesn' listen and send anything. Finally I'd like to have nodemcu like on my other ESP boards, but at some point if I wanted to return to original one having fw backup would be usefull.

  4. Dani – nice write up. Do you have an example of how to wire this board up to flash new firmware or program the lua? I've read/tried your other post about the 8 pin version but that doesn't work.

    Thansk!

  5. Hi Shankar

    The messages you are mentioning just mean that the programmer could not talk to the ESP8266. In my experience the following problems can lead to this:
    – not resetting the ESP after setting the jumper. The chip only goes into programming mode after a reboot
    – wrong wiring of the tx/rx lines. Try to switch them
    – wrong board defined in the Arduino IDE board manager
    – bad timing after the reset; try to start programming immediately after the reset, or 2 seconds, etc.
    – try different baud rates

    Please post here if you fixed it and how. this might help others!

    Cheers,
    Daniel

  6. Hi Dani,
    Thanks for replying.

    Okay, I am able to upload the program now. I made the following connections:
    TX to TX and RX to RX. GND to GND. I am using pl2203 for usb-serial conv.

    I tested the blink program. The code got uploaded into the esp8266 module.
    The led(GPIO2) starts blinking, and after 5-6 secs the board kind of resets, i.e. the gpio2 led gets switched off.

    I tried uploading the code using different baud rates, tried changing the gpio to 14,12,etc. the led blinks for a few times and then stops and returns back to normal.

    Also, while the program is running, the RGB led seems to glow very faintly. Once the program stops, It glows little brightly.

    I dont know why the program stops. Should I make connections like CH_PD to VCC and RST to GND?

    Also can you tell me what exactly is the jumper doing? is it shorting GPIO 0 to GND?

    Thanks in advance 🙂

    • UPDATE:
      Initially I was not able to receive the ready message from the ESP8266 in the arduino serial monitor. Also the programs, even though uploaded caused the module to reset continuously. After hours of searching, I found a way to update the firmware using this link:
      http://www.xess.com/blog/esp8266-reflash/

      I made the following connections for my ESP-12:
      ESP RX to Pl2303-TX
      ESP TX to Pl2303-RX
      ESP GND to Pl2303 GND
      powered my ESP8266, with 3 AA Batteries
      Supplied a separate line 3.3V and GND to a breadboard from Arduino connected to my laptops usb port.
      Connected GPIO2 and CH_PD to 3.3V
      GPIO15 to GND
      Placed the jumper(GPIO 0 to GND)

      for connections refer:http://blog.3mdeb.com/

      Now I am able to talk with the ESP8266 via AT commands!!

    • Hi

      Perhaps a bit late but …..

      The LED and its 470ohm provide a path to VCC so your circuit will need to sink approx. 3-4mA when low (and the LED will light of course).

      The DS18B20 expects to find a 4k7 pull-up not a 470 plus LED and its maximum sink current is specified as 1mA…

      So yes these LEDs might well affect your circuit.

      Regards

      Graham

  7. Hi

    Interesting review. Thanks.

    My board looks the same but has silk-screen pin annotations with RX and TX transposed (as your pic shows correctly).

    I find that if I blink GPIO5 the pin marked GPIO4 on my silk-screen and your pic blinks – and vice-versa.

    The photo-cell does it work? I find that it reads 5 irrespective of light level. I measure approx. 1mV on ADC pin. Resistors near GPIO14 and 15 set this voltage and are 1M and 470R, so ADC max is 1mV5. I'd be interested to know what values you have.

    I see the CH_PD pull-up is 100R which is probably better than 0R but it's a bit hard to disable the thing if I wanted to do so.

    Thanks and Regards

    Graham

  8. Hi I need help , there are three pins on the board TX GND RX , can I connect this to my laptop directly with a standard USB cable or do I need a a special module , I want to be able to programme the GPO,s on the board , but i first need to link to my laptop . Please help

    • I did some experiments: I clipped off the RGB LED and physically broke all other LEDs which emitted a faint light during deep sleep. Now the board is completely dark during deep sleep. According to my multimeter, the power consumption in deep sleep is still around 1.6 mA. I suppose the regulator draws that much.

      I have another plain EPS-12E with double AA batteries and a step-up board, and it’s now running for the fourth week on same batteries, measuring and sending the temperature every 15 minutes. I won’t be able to get that far with the yellow dev board and 1.6 mA unless anyone has a brilliant hack…

      It’s a pity since this dev board is so cheap and nicely pre-packaged with the battery holder.

Leave a Reply