$3 Compact ESP8266 Board Includes RGD LED, Photo Resistor, Buttons and a USB to TTL Interface

In case you need a cheap and compact ESP8266 board with integrated USB to TTL debug interface, a photo resistor, and/or some buttons, a white brand board based on ESP-12F could be interesting.

ESP8266_Board_USB_to_TTL_Debug“Witty cloud” development board specifications:

  • ESP-12F module with Espressif ESP8266EX SoC
  • Connectivity – WiFi 802.11 b/g/n
  • 2x 8-pin headers with GPIOs, VCC, GND, Reset, ADC, and UART
  • USB – 2x micro USB port (one for power, one for debugging ?)
  • Misc – Photo resistor, RGB LED, three buttons for power, reset and firmware upgrade (I think)
  • Dimensions – Small

RGB_Thermistor_ESP8266Witty cloud might not be the same of the board itself, but could be a cloud service launched in China, as some of the screenshot on Aliexpress could imply. All I could find are some websites vaguely mentioning GoKit 3.0 and Witty Cloud 3.0, but it does not make much sense.  If Chinese readers could provide some insights here it would be nice.

Witty_cloudThe board sells for as low as $3 + shipping on Aliexpress, which amounts to $4.85 in total in my case.

Via Pete Scargill

33 Replies to “$3 Compact ESP8266 Board Includes RGD LED, Photo Resistor, Buttons and a USB to TTL Interface”

  1. Finally some price going down. I mean those cp2102 usb dongles adaptors sell for 1EUR, and adding an esp8266 should not make the price climb to 10EUR, like it is the case for some nodemcu boards. With some minimal soldering, you could make your own adaptor for ESP01: http://www.zoobab.com/cp2102-esp8266. I still have to make improvements, but you get the idea.

  2. “Witty cloud” is the name of the cloud service, but seems like they may be deliberately naming it that way to differentiate the board from other ESP8266 boards.

    This board looks rather similar to Oak by Digistump, funded on kickstarter some 6 months back, and which you’ve also covered on this blog. Both are manufactured by AI-Thinker, and similarly based on ESP-12. The Oak will come with 4MB flash memory, there’s no indication what amount this board will come with. Finally, Oak (not shipping yet) will be using Particle cloud, so I guess they’re trying to do something similar using “witty cloud”.

  3. @milkboy
    Thanks! I just wanted to find out what Witty Cloud was exactly, and where it could be found. So I guess everything must be handled by gizwits.
    They support quite a few others boards apart from that ESP8266 board… including some I’ve never heard of…

    1. TinyCon2005-a – http://www.ralinwi.com/product.aspx?info_lb=54&flag=1
    2. Nufront NL6621 – http://www.nufrontsoft.com/index.php/project/index/id/16.html. Some source on Github for Yeelink lightbulbs -> https://github.com/NufrontIOT/NL6621-Yeelink?from=codefrom.com
    3. HFLPB100 -> http://www.hi-flying.com/products_detail/&productId=68f4fd7b-39f8-4995-93ab-53193ac5cf22.html
    4. G510-Q50-00 -> http://www.fibocom.com/product/2-1-2-1.html
    5. IOE65 -> Update of IEO20 http://www.ittim.cn/products.php?pid=5 . Company name: I think therefore I am 🙂

    All Chinese companies and Espressif’s competitors. I wonder if any of these are news worthy. Quite tough to find much info without reading Chinese.

  4. @zoobab
    I thought Bluetooth 3.0 and greater could use the WiFi link to transfer data at higher speeds -> http://www.cnx-software.com/2013/06/05/bluetooth-versions-walkthrough-and-bluetooth-4-0-low-energy-development-resources/

    Version 3.0 + HS of the Bluetooth Core Specification adopted by the Bluetooth SIG on April 21, 2009. provides theoretical data transfer speeds of up to 24 Mbit/s thanks to the HS (High Speed) in its name. This feat is not achieved over the Bluetooth link itself, but via an 802.11 link, usually Wi-Fi. Bluetooth is used for pairing.

    It’s optional though, and I guess it’s not enabled in my phone, and transfer pictures over Bluetooth is always very slow for me.

  5. Hi
    Does someone has documentation for that ? Vcc is 3.3 or 5v? What are the mappings of gpio ?


  6. @milkboy
    BBT5 sells for $6 shipped on AliExpress, 30Yuan on TaoBao. From the photos, it has DHT11, CP1202 USB/TTL, 3 RGB LEDs and relay, plus buzzer. It uses the newer ESP-13 (AKA ESP Wroom-2) form factor module. If you need all the sensors and relay, it’s a very good deal, assembling it from parts will cost you much more (DHT11 itself is $1).
    TiSan is more expensive ($14> on Ali-X), seems to have about same sensors, but larger PCB (uses ESP-12E), and CH340G USB/TTL (doesn’t matter much).


  7. Just received mines today. They are really great for the price, I will try the esp-link firmware on those.

    The only minor point is that you have to unplug the USB board to make it breaboard friendly. I am working on a small hack to solve that.

  8. @cnxsoft
    Interesting list. Things are really happening out of China nowadays, not Silicon Valley…
    I don’t think any of these will fly in the western market though, although the chinese market could be enough to sustain them.
    Espressif has been one of the first on that market, with a very low price point, and somehow they relased some material in English (by pure chance I think), which allowed the community to start and since then has been key to ESP’s success. Espressif owes a lot to Noce-MCU folks and the community.
    IMHO, there is not enough bandwidth in the community for this to happen again, unless another compelling system comes out (i.e. ARM-based, dirt-cheap, wifi+BLE+GPS+GPRS, ADCs, …) that would make ESP8266 obsolete. If ESP-32 can be kept cheap enough, given Espressif’s openess towards the existing community, it could work out.


  9. @Beobachter
    Well, a bit extreme I’d say. AI Thinkers probably has good reasons to produce this board (and the ESP-14 for that matter), you cannot dismiss those behind the ESP-xx range of boards, they are not idiots at all. They probably have other markets in mind that mere hobbysists, although I have a hard time figuring out which…
    If they were interested in the hobbyist market only, they would have produced only one board with 1/10″ pins a la NodeMCU, not a full range of integratable boards.

  10. @Greg Ware
    Well, sure, that’s why I had the “unless” in my comment…

    There is nothing wrong with the basic concept of the BBT5: If you want to run a battery-operated application, it is actually a very good idea to put an ESP8266 under “adult supervision” (completely removing its power when you don’t need the power-hungry WiFi). It’s just that having an 8051 as that supervising adult is not generally very useful in 2016; in this case it is exacerbated by the fact that all those nice transducers are connected to the 8051 and not the ESP8266. So ESP8266 hackers can do exactly nothing with this board until they whip out the soldering iron.

  11. @Beobachter
    Well, okay, it is weird for an architecture. Same goes for ESP-14.
    I would go with trying to reflash the ESP and use the other mcu just for I/O.
    It seems that gizwits has a model of driving their boards from Wifi directly somehow, through some bespoke ESP firmware, as for this ESP Witty Board (see posts on http://www.esp8266.com about this).

  12. Another thing I’m wondering is why they sell both boards (USB+main) together.
    Once you have one or two USB/TTL underboards, you don’t need more, the main board would be enough.

  13. I tried Arduino IDE with it and it works great!
    RGB LED:

  14. This makes a RED led blink:

    // the setup function runs once when you press reset or power the board
    void setup() {
    // initialize digital pin 15 as an output.
    pinMode(15, OUTPUT);

    // the loop function runs over and over again forever
    void loop() {
    digitalWrite(15, HIGH); // turn the LED on (HIGH is the voltage level)
    delay(1000); // wait for a second
    digitalWrite(15, LOW); // turn the LED off by making the voltage LOW
    delay(1000); // wait for a second

  15. This uses RGB LED as output for ambient light sensor.
    Analog input, analog output, serial output

    Reads an analog input pin, maps the result to a range from 0 to 255
    and uses the result to set the pulsewidth modulation (PWM) of an output pin.
    Also prints the results to the serial monitor.

    The circuit:
    * potentiometer connected to analog pin 0.
    Center pin of the potentiometer goes to the analog pin.
    side pins of the potentiometer go to +5V and ground
    * LED connected from digital pin 9 to ground

    created 29 Dec. 2008
    modified 9 Apr 2012
    by Tom Igoe

    This example code is in the public domain.

    Modified by Jo Muller to run on the nodemcu from ‘Witty cloud’ using optical sensor as input instead of potentiometer and using built in RGB LED as output.
    All 3 colours are possible as the blue LED is used to give a signal on change of light.
    1 Feb, 2016


    // These constants won’t change. They’re used to give names
    // to the pins used:
    const int analogInPin = A0; // Analog input pin that the potentiometer is attached to
    const int analogOutPinGREEN = 12; // Analog output pin that the LED is attached to
    const int analogOutPinBLUE = 13; // Analog output pin that the LED is attached to
    const int analogOutPinRED = 15; // Analog output pin that the LED is attached to

    int sensorValue = 0; // value read from the pot
    int outputValue = 0; // value output to the PWM (analog out)
    int lastValue =0;

    void setup() {
    // initialize serial communications

    void loop() {
    // read the analog in value:
    sensorValue = analogRead(analogInPin);
    // map it to the range of the analog out:
    outputValue = map(sensorValue, 200, 700, 0, 255);
    // change the analog out value:
    analogWrite(analogOutPinRED, outputValue);
    analogWrite(analogOutPinGREEN, 255-outputValue);
    analogWrite(analogOutPinBLUE, lastValue-outputValue);

    // print the results to the serial monitor:
    Serial.print(“sensor = ” );
    Serial.print(“\t output = “);

    // wait 2 milliseconds before the next loop
    // for the analog-to-digital converter to settle
    // after the last reading:


  16. @Sun2steam: the push button below the antenna is mapped to GPIO 4, and reports either 0 or 1 (0 when pushed)

  17. @Sun2steam
    The upper push button appears to be connected to GPIO4 and GND.
    There also is a 10k pullup from GPIO4 to VCC.
    So it seems to me that this is a button that can serve an application function:
    button not pressed ➔ GPIO4 = high, button pressed ➔ GPIO4 = low.

  18. Hi

    I have read that the LDR is connected to the ADC (A0). Has anyone been able to use the ADC for something else? @Sun2steam you seem to have successfully read your potentiometer from A0. Did you have to do something special to ensure this is not the onboard LDR?



  19. Ordered 2, coming on the way from China to India.
    Can someone confirm whether it works with 5v Micro USB port, strange to find it support 3.3 v, I like to use these boards like no-brainer as I do with other NodeMCUs.

    Any one tried connecting Witty with Micro USB direct computer ie 5V?

Leave a Reply

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