ESP8266 Development/Breakout board Arrived

Warning: do not connect the DHT11 temperature sensor as indicated in the eBay pictures, it is the wrong way around and will fry your board!

I’ve just received my ESP8266 development/SDK board in the post and am now starting to try and work out what everything on it does.

With Relay, RGB LED, Serial to USB chip, DHT11 temperature and humidity sensor, buzzer, and switches

With Relay, RGB LED, Serial to USB chip, DHT11 temperature and humidity sensor, buzzer, and switches


I have managed to connect to the board using the on-board USB to Serial interface (CH340 chip).

Plugging in to the USB mini port seems to power the board through the on-board 3.3V Voltage regulator (AMS1117 3.3) and the red LED on the ESP8266 daughter board itself powers on, along with a red LED on the main board.

Plugging in to the USB micro port, however, doesn’t appear to correctly power the board. Both of the same LEDs come on, but slowly fade out over a couple of seconds.

The CH340 drivers seemed to automagically install on Windows 8 and create a new COM port. I wasn’t able to send AT commands using Putty and believe that there are some versions of firmware which don’t like Putty, so I used Coolterm instead and was able to connect on COM8 (check in device manager for which COM port gets assigned) and at baud rate 115200. Sending some AT commands seemed to work fine and I was able to connect to my home WiFi network and then ping the device.

Below is a screenshot of Coolterm with NodeMCU installed on the ESP8266 and running some custom lua code to serve a webpage and switch the relay.

Window showing ESP8266 running NodeMCU in coolterm

Window showing ESP8266 running NodeMCU in coolterm

ESP8266 Development Board pinout and internal connections

Additionally, there is an on-board 10k potentiometer which appears to be connected to the ‘ADC’ pin on the ESP8266 although currently I don’t seem to be able to read this as a variable input.

The switch controls are as follows:

  • R – RGB LED Red to pin ‘IO15’ (must be on to boot to application mode)
  • G – RGB LED Green to pin ‘IO13’
  • B – RGB LED Blue to pin ‘IO12’
  • W – White LED to pin ‘IO14’
  • J – Relay coil to pin ‘IO16’
  • B – Buzzer to pin ‘IO5’
  • K1 – GND to pin ‘IO15’ (same as Red RGB LED – holding ON while powering is same as R off i.e. will not enter application mode)
  • K2 – GND to pin ‘IO0’ (Same as S2 – switch ON when powering to enter reprogramming mode)
  • S2 – GND to pin ‘IO0’
  • S3 – GND to pin ‘IO2’

For the board to boot correctly into application mode, it looks like the DIP switch ‘R’ has to be On, which pulls pin IO15 high. To enter reprogramming mode to reflash the ESP, K2 must be On or switch S2 can be pushed.

By default (at least in the firmware that came with the board and the latest NodeMCU firmware) most of the pins are configured as inputs, which causes them to float or be pulled high and so with the DIP switches ON the RGB LED elements are all lit, the white LED will light, and the Relay and green indicator will be on. IO5 does not have this behaviour so the buzzer is off by default.

I notice that the images from Ebay (above) show the DHT11 to face outwards, but this actually appears to be incorrect as the pinout is the opposite, and so the DHT11 should be inserted facing inwards. Apart from this, it seems to be a pretty well produced and reasonable quality board.

There are more bits of useful information on this version of the ESP8266 board itself over at http://blog.squix.ch/2015/02/esp8266-esp-201-breakout-board-review.html

Many thanks to jwbr who has created a schematic of the board here: http://www.bpower.nl/

Thanks to jwcr at http://www.bpower.nl/

Thanks to jwcr at http://www.bpower.nl/




23 thoughts on “ESP8266 Development/Breakout board Arrived

  1. Pingback: ESP8266 Development/SDK Board | An Engineer's Blog

  2. chard

    Hi, this is cool. I ordered this exact same item but I can’t seem to get a proper response from coolterm. can you send me a screenshot of your coolterm window and your options? Thanks

    Reply
    1. Scott Snowden Post author

      I have put a screenshot to Coolterm in this post.

      Note the Baud is set to 9600 here because I am running NodeMCU, but it seems by default my ESP came with baud 115200. I believe others have had them default on other settings too so it’s worth trying all.

      Thanks

      Reply
  3. Daniel

    Cool, I was looking exactly for some insight about the parts of this board, especially the flash mode settings for the K2 switch, which I suspected, but it’s nice to have it confirmed beforehand.

    Intuitively I would guess that “B” stands for Buzzer 😉

    BR
    Daniel

    Reply
    1. Scott Snowden Post author

      So it appears that you can enter reprogramming mode with either K2 or S2, although I’m not sure if IO0 should be held low for the whole time flashing (probably not).

      You are indeed correct, I have confirmed that ‘B’ does stand for buzzer which is connected to IO5.

      Reply
      1. Daniel

        Sadly I fried my board, because I wasn’t paying attention and I just connected the DHT11 as shown in the picture here. It basically melted away and the PC won’t recognize the device anymore ;-(

        Well I have a bunch of other esp modules, but this board seems really handy for tinkering around.

        Reply
        1. Scott Snowden Post author

          Oh no! That’s a shame, it might just be the onboard voltage regulator, you could try desoldering it and putting 3.3V to the esp directly, or have you already tried pulling it off and powering it?

          Reply
          1. chard

            i am on the same boat probably that’s why I am not getting any response. i tried flashing it outside of this board, it seems to be blinking fine but it seems it can’t be flash anymore.

            do you think the board still usable? I have ordered just the esp8266-201 module to check it out. hopefully it will as I like the dev board for thinkering.

          2. Daniel

            I got the new unit today, everything seems to work as intended.
            As for the old broken one, I’ve ordered a separate transceiver module because I suspect that just the esp8266 module is fried, but the board itself should be fine since all components are still working manually.

  4. Pingback: ESP8266 Lua DHT11 Temperature and Humidity Sensor | An Engineer's Blog

  5. kamiel

    Hi All,

    Some ‘code cut and paste’ resulted in this little relay and led control ‘site’

    Cheers

    Kamiel

    file.remove(“relay_server.lua”)
    file.open(“relay_server.lua”,”w”)
    file.writeline([[status=0]])
    file.writeline([[pin=0]])
    file.writeline([[gpio.mode(0,gpio.OUTPUT)]])
    file.writeline([[gpio.mode(5,gpio.OUTPUT)]])
    file.writeline([[srv=net.createServer(net.TCP) srv:listen(80,function(conn)]])
    file.writeline([[conn:on(“receive”,function(conn,payload)]])
    file.writeline([[print(payload)]])

    file.writeline([[if string.find(payload,”relay_off”) ~= nil then gpio.write(0,gpio.LOW) end]])
    file.writeline([[if string.find(payload,”relay_on”) ~= nil then gpio.write(0,gpio.HIGH) end]])
    file.writeline([[if string.find(payload,”light_off”) ~= nil then gpio.write(5,gpio.LOW) end]])
    file.writeline([[if string.find(payload,”light_on”) ~= nil then gpio.write(5,gpio.HIGH) end]])

    file.writeline([[if string.find(payload,”favicon.ico”) == nil then]])
    file.writeline([[conn:send(”)]])

    file.writeline([[conn:send(”)]])

    file.writeline([[end]])

    file.writeline([[end)]])

    file.writeline([[conn:on(“sent”,function(conn) conn:close() end)]])

    file.writeline([[end)]])

    file.close()

    dofile(“relay_server.lua”)

    file.remove(“init.lua”)
    file.open(“init.lua”,”w”)
    file.writeline([[wifi.setmode(wifi.STATION)]])
    file.writeline([[wifi.sta.config(“–SSID–“,”pasword”)]])
    file.writeline([[print(“Hallo Kamiel, welcome. Code starting . . “)]])
    file.writeline([[dofile(“relay_server.lua”)]])
    file.close()
    node.restart()

    Reply
  6. Pingback: Preparation for start of experiments with ESP8266 | ESP8266

  7. somchai

    I faced another issue while trying to test something on this board. during the test I power it from the only usb cable included from the board i bought from ebay the flashing went smoothly but it will not run. after a few re-flash and still not successfully run my code, I unplug usb cable from my Mac and plug it on to my iPhone charger suddenly my code was running so I guess this is cause by insufficient power from usb port to power the board.

    Reply
    1. Scott Snowden Post author

      Yes – this is a common problem with these ESP8266 chips, they do draw a surprising amount of power – as much as 500mA I believe on full Wifi power.

      Reply
    1. Scott Snowden Post author

      You’re right, there doesn’t appear to be a place to connect 5V, you would have to use the USB port – you could cut up a USB cable.

      Reply
  8. Pingback: ESP8266 활용 가이드 - ESP8266 SDK 로 펌웨어 만들기 | Hard Copy Arduino

  9. HG Butte

    Hello,

    And just for your information – if you want to use deepsleep with the board, the reset pin from the ESP-Board is not allowed to be connected to the SDK-board. But is has to be connected to the IO16. It took some time to find it out.

    If u leave the reset connected to the board, it reboots with
    … rst cause:5, boot mode:( 3,7)

    ets_main.c

    and freeze

    i realised that with adding a female connector strip between Chip and SDK-Board an bend the reset-pin of the strip. Take a look at the fotos.
    https://www.dropbox.com/sc/9qv6b1yi0ehqkmq/AADEE2C4sUoAbqwjBaaKHR04a

    So i hope i help some ppl

    Best regards

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *