SparkFun ESP32 Thing

The SparkFun ESP32 Thing is a comprehensive development platform for Espressif’s ESP32, their super-charged version of the popular ESP8266. Like the 8266, the ESP32 is a WiFi-compatible microcontroller, but to that it adds support for Bluetooth low-energy (i.e BLE, BT4.0, Bluetooth Smart), and nearly 30 I/O pins. The ESP32’s power and versatility will make it the foundation of IoT and connected projects for many years to come.

Why the name? We lovingly call it the “Thing” because it’s the perfect foundation for your Internet of Things project. The Thing does everything from turning on an LED to posting data with phant.io, and can be programmed just like any microcontroller. You can even program the Thing through the Arduino IDE by installing the ESP32 Arduino Core.

The SparkFun ESP32 Thing equips the ESP32 with everything necessary to program, run and develop on the wonderchip. In addition to the WiFi/BLE SoC, the Thing includes an FTDI FT231x, which converts USB to serial, and allows your computer to program and communicate with the microcontroller. It also features a LiPo charger, so your ESP32 project can be battery-powered and truly wireless. Additionally, the board includes a handful of LEDs and buttons to aid in your development.

Note: To use the Bluetooth or BLE functionality of the ESP32, you will need to use the Espressif IDF not the Arduino IDE. Currently, there is no time frame on when the Arduino IDE support is going to be released.

Get Started with the ESP32 Thing Guide

  • Dual-core Tensilica LX6 microprocessor
  • Up to 240MHz clock frequency
  • 520kB internal SRAM
  • Integrated 802.11 BGN WiFi transceiver
  • Integrated dual-mode Bluetooth (classic and BLE)
  • 2.2 to 3.6V operating range
  • 2.5 µA deep sleep current
  • 28 GPIO
  • 10-electrode capacitive touch support
  • Hardware accelerated encryption (AES, SHA2, ECC, RSA-4096)
  • 4MB Flash memory
  • Integrated LiPo Battery Charger

SparkFun ESP32 Thing Product Help and Resources

ESP32 Thing Hookup Guide

October 27, 2016

An introduction to the ESP32 Thing's hardware features, and a primer on using the WiFi/Bluetooth system-on-chip in Arduino.

ESP32 Thing Motion Shield Hookup Guide

November 16, 2017

Getting started with the ESP32 Thing Motion Shield to detect movements using the on-board LSM9DS1 IMU and adding a GPS receiver. Data can be easily logged by adding an microSD card to the slot.

ESP32 Environment Sensor Shield Hookup Guide

July 6, 2017

SparkFun's ESP32 Environment Sensor Shield provides sensors and hookups for monitoring environmental conditions. This tutorial will show you how to connect your sensor suite to the Internet and post weather data online.

IoT Power Relay

May 21, 2018

Using the ESP32 to make a web-configured timed relay.

IoT Weight Logging Scale

May 9, 2018

This tutorial will show you how to make a scale that logs your weight to a custom website on the Internet. The principles can be extrapolated to any type of data.

Internet of Things Experiment Guide

November 23, 2016

The SparkFun ESP8266 Thing Dev Board is a powerful development platform that lets you connect your hardware projects to the Internet. In this guide, we show you how to combine some simple components to remotely log temperature data, send yourself texts and control lights from afar.

WiFi Controlled Robot

May 2, 2018

This tutorial will show you how to make a robot that streams a webcam to a custom website that can be remotely controlled.

Using Artnet DMX and the ESP32 to Drive Pixels

March 29, 2018

In this tutorial, we'll find out how to use Resolume Arena, a popular video jockey software, to control custom-made ArtNet DMX fixtures.

1 of 1 found this helpful:

Make sure you have pyserial installed.

In addition to the standard python module (version 2.7+) you will also need to make sure to install the pyserial module as well.

http://pyserial.readthedocs.io/en/latest/pyserial.html#installation


1 of 1 found this helpful:

Issues uploading code?

If you’re having issues uploading code, you might try grounding GPIO 0 and then uploading code. After you successfully upload you will need to restart the ESP32 Thing.


Human Assistant Robot

RishaldyPrisly

This is a robot who can see, listen, talk, and move freely to help us do many activities, much like a friend.

Rotary Quadrature Encoder: Let's Make A Digital...

Tyeth

Build a treasure chest or use an existing storage box, attach a push-button quadrature rotary encoder (endless spinning dial) and...

Is the Garage Door Open?

Matthew Eshleman

Garage doors hard to see? Need to know if they are open or closed? This project may be of use to you.

Publish Any Event to Wia Using Your SparkFun...

Spivey

Learn how to set up your SparkFun ESP32 thing and post an event to Wia in a few easy steps.

Core Skill: Soldering

This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.

1 Soldering

Skill Level: Noob - Some basic soldering is required, but it is limited to a just a few pins, basic through-hole soldering, and couple (if any) polarized components. A basic soldering iron is all you should need.
See all skill levels


Core Skill: Programming

If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.

3 Programming

Skill Level: Competent - The toolchain for programming is a bit more complex and will examples may not be explicitly provided for you. You will be required to have a fundamental knowledge of programming and be required to provide your own code. You may need to modify existing libraries or code to work with your specific hardware. Sensor and hardware interfaces will be SPI or I2C.
See all skill levels


Core Skill: Electrical Prototyping

If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.

2 Electrical Prototyping

Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels


Customer Comments

  • Well that sold out quickly. Any ETA on the next batch?

  • No U.FL antenna connector?

    • Honestly … a U.FL connector is something big that has been missing on these kind of dev boards.

  • Has anyone used one of these ESP-32 “Thing"s (or the Adafruit "Feather HUZZAH 32”) to talk to Neo-Pixels (aka WS2812) addressable LEDs? (Unfortunately, the DotStar LEDs are not available in formats appropriate to the project I have in mind.)

    • Happened to find something of an answer over on the Adafruit Forums: it seems that there’s a timing issue if you try to drive more than 33 Neo-Pixels from an ESP-32, but it looks like it will work for shorter strings, and there may be a work-around for that limitation. (Fortunately, my project requires fewer LEDs than that!)

  • Minor typo in the graphical datasheet. Pin “HSP_ID” should be “HSPI_D” (temporarily baffled me, but I got over it. :-))

    • Thanks, so many letters! So many acronyms! I’m pretty sure every one of the graphical datasheets has a typo somewhere. Thanks for the heads up though, I’ll fix it one day.

  • Very exciting… I have two questions :

    • Is there a clever way to achieve more than 10 capacitive touch pins through the chip’s internal pin multiplexing feature without additional components?

    • Can I connect a single 2200mah 18650 Lithium Battery to the battery terminals to power my project with capability to recharge through USB?

    • aspz / last year / 1

      I don’t know about your first question. To answer your second question, yes you can connect your battery to the VBAT and GND terminals. Plugging a power source into the usb port will charge the battery (the charge light will turn on).

  • So if your wanting to do Bluetooth work with is using arduino IDE….you cant.

    • Brad10 / last year / 1

      The lack of support for BT/BLE via Arduino IDE is a bummer. For Arduino folks like me, it means this board essentially doesn’t have BT/BLE.

      • And no analog I/O in the Arduino support yet? Ouch. I think I may put this board back in the “to give away” box until the Arduino IDE support is closer to ready. To reiterate: If a feature isn’t supported in the Arduino IDE, it essentially doesn’t exist for me.

  • If it has Li-Po charge, can it measure the battery level so to warn the owner to recharge it?

    • aspz / last year / 1

      No it cannot. You have to create a voltage divider and wire it into one of the ADCs. Otherwise, the Adafruit HUZZAH32 – ESP32 Feather DOES have an onboard voltage divider hardwired into one of the ADCs.

  • hi, it´s been 8 months since the last update on the Github library, I bought 5 of these 4 months ago and still no news on one of the main features … NO BLE support.

    When is it going to be available via Arduino libraries provided by developer (you guys) ? Because I still feel like I was ripped of with a product that doesn’t provide what it promised … BLE + WIFI Support.

  • Are there dimensions available? I’d like to make a small PCB around this.

  • Hey, I’m getting an issue with the ESP32 (https://github.com/espressif/esp32-at/issues/12) and Espressif told me to “erase all flash and try again.” I’m using the Arduino IDE. Can anyone point me in the right direction?

  • I was looking at the layout and I don’t think C23 serves any purpose. It looks like it was left behind from an older design? Can someone confirm that this is unnecessary?

  • What’s the max current per I/O pin?

  • I’m seeing an issue where the processor falls back into interpreter mode when I connect something to pin 12. After looking at the schematic it looks like this is an MTDI pin which has some special startup purpose? Is there anything I can do to allow me to use this pin?

  • Does anyone know how to fix this error when uploading to the ESp32 Thing with the Arduino IDE.

    “A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header”

    thanks for any help

    • I had the same error among others. I am using the Arduino IDE on Windows 10 per the instructions on Git. Uploading works by holding down the Pin0 button (or use a switch) until the flashing begins (may be difficult to tell exactly when that is). Then let go (or unswitch) and it should be fine until it’s done flashing.

  • The Espressif CEO mentioned in a Facebook post (https://www.facebook.com/groups/1499045113679103/permalink/1731855033731442/?hc_location=ufi) that the ESP32 and ESP8266 have 5v tolerant GPIO. Can you confirm that this is the case on the ESP32 Thing and a 5V input won’t fry anything?

  • There appears to be a typo on the graphical datasheet with GPIO2 labeled as GPIO21.

  • Does anyone else have trouble with the ESP32 chip getting very hot (I’ve measured at about 46 C max – painful to the touch within a few seconds) and possibly having flaky behavior because of this? I’ve had this experience and seen some other anecdotal evidence of this on the ESP32 forums. Thanks, -c

    • TRON / last year / 1

      I’m posting this comment in case anybody else tries their ESP32 Thing and wondering the same thing after powering up the board for the first time. It appears to just be the program that’s already flashed to the SPI flash chip that is causing the heat issues.

      Once I’ve tried out any of the examples in the esp-idf repository the chip no longer heats up, even when using wifi for a long duration. I’ve experienced this with the two boards I’ve ordered.

      Also best to enable the external 32KHz oscillator (disabled by default) in the make menuconfig and set SPI flash to 80MHz with qio (quad input/output) as default is just 40MHz with dio (dual input/out).

  • Has anyone tried capacitive touch?

  • I have the ESP32 Thing and got it working in Arduino IDE. I can down load blink and other Sketches. When I wrote a Sketch for the WS2812B and use getCycleCount(void) for timing cycles it looks like the ESP32 is running at 160MHz instead of 240MHz that is in the default in the Espressif’s esp-idf GitHub repository. I selected ESP32 DEV MODULE in Arduino IDE.

    Any suggestions on how to switch to the faster speed?

    My Sketch stops executing after about 45 seconds of running my application. Resetting start it back up for about 45 seconds. The problem looks like it is in the Arduino delayMicroseconds(100); which I call every 1ms. If I replace this with delay(1); or use _getCycleCount() spin delay I do not have a problem.

    When i am outputting the Neopixel BitBanger I lock interrupts during the high state to insure timing. I notice that the CPU looks like it stops executing every 1ms for about 8.5us. It does not matter if interrupts are locked or not. This is a show stopper for outputting to Neopixels. Could this have something to do with the second CPU servicing WIFI beacon (every 1ms) and locking I/O inhibiting my CPU from doing GPIOs?

  • Just checking - do these come with male headers for breadboarding?

    • Because of the various uses (male headers for breadboarding, female headers for plugging jumper wires in directly, or just soldering wires and parts directly on the board) we do not include headers on most of our boards.

  • GPIOs 7–11 (SDIO) aren’t broken out? Can I not use an SD card in 4-bit mode with this board?

    • If you solder wires to the onboard flash chip’s legs then you get the GPIO6-11 :) But there’s the HS2/SDIO2 interface which can be used for 4-bit SD cards, and those pins are broken out.

  • Hello I tried to hook up a serial LCD on the RX/TX pin but it seem the 32Thing doesn’t like that I get this error and so far I tried to tweak the libraries but no luck so far. It’s also the case for the SPI too.

    fatal error: avr/interrupt.h: No such file or directory #include <avr/interrupt.h> compilation terminated. exit status 1 Error compiling for board ESP32 Dev Module.

    • According to GIT SPI and Serial are implemented in the Arduino Core. Can you post the code so we can try it out ourselves?

      • Sure I tried both code from the tutorial over here adjusting the pins (I post the link to avoid polluting the thread with code too much.) https://www.sparkfun.com/tutorials/246

        Thanks for the help :)

        • Ok it might be a day or so b4 I get to it. I have a lot of cooking to prep for tomorrow.

  • When using a single cell LiPo, how do you set the charging? I assume it’s like the Sparkfun LiPo charger (PRT-12711) where you cut through a trace, connect two jumper pads or use resistors to set the charging system output.

    I’m planning on using the 110mA LiPo battery, PRT-13853.

    Exact specs for that cell would be greatly appreciated. :-)

  • I got one of this in a group buy with a friend, and it’s a wonderful little board. The only issue is that you can’t put a switch between the battery/charge system and the rest of the board. So it keeps discharging unless you unplug the battery. Is there a solution to this other than to splice a switch into the battery connector? That’s not an ideal solution, since you’d still need to have the board powered while charging, which slows the process down.

    Edit: Adding a switch between RST and GND does the trick!

  • I just received this and got it working fine. If you follow the instructions on Github (Sparkfun links to it) everything sets up fine for me. There were a couple of ‘gotchas’

    1. First time I went to build there was a python error (it appears the build process uses python). The error was on the line “import serial” and it was because pyserial was not installed on my machine. If you run into this, try running the following on a command line: pip install pyserial

    2. Sparkfun didn’t say this but one you compile and upload the program doesn’t automatically run (at least for me). The blue led will be dim. Just hit reset and the code will then execute.

    Unlike the ESP8266 you do not need put it in bootloader mode at all. At least… that is how it worked for me :-)

    If I see any other gotchas I’ll post them here.

    • I also think this thing has power consumption ‘features’ like the ESP8266. It is why I need to reset the board on occasion.

      Also SSL doesn’t appear implemented yet. Bummer.

  • Anybody managed to get the install for Arduino on Windows 10? After installing phython 2.7 and downloading the core files, the python get.py simply gives SSL errors and does nothing. (Also tried on 3.? but did not work either.)

    On the Mac I managed to get it to install but I need it running on a Windows laptop.

    • I just followed the instructions and I had no problems except when building in the Arduino IDE I got an error saying that python could not import the serial library but I easily fixed that.

      • Did you got this error by any chance ? “ESP32 Dev Module, 80MHz, 921600” arduino isp programmer

        exec: “python.exe”: executable file not found in %PATH% Error compiling for board ESP32 Dev Module.

        I’m not sure if I’ve missed something. Thanks

        • You either did not install Python 2.7 (not Python 3) or you did but it is not set in your PATH variable. If you installed it you should set your system PATH variable to reflect the directory where it.

  • Does anyone know how to make this RELIABLY load programs from the arduino IDE? It does not work unless you time it VERY EXACTLY (and I am not sure when exactly…) pressing the reset button. I only succeed in uploading once every 20 attempts. This is highly frustrating. Also: there should be a way to get this to load a program and then run without having to press reset so many times. I imagine the scenario where this device is in a box and the reset button hard to reach. Not very convenient so far.

    • I’m sort of seeing a similar thing. I was able to flash it successfully once, both using the Arduino IDE and the esp-idf compiler. However, since, I’m getting stuck at “Writing at 0x00010000… (20 %)”. I see on the reviews that a user was able to fix this by holding the PIN0 button down while flashing, but this doesn’t seem to work for me. Any suggestions?

    • Hi. Mine seems to be working and I am not having the same problem. After following the instructions (use the instructions on GIT release notes not on Sparkfun) I was able to compile and upload. What I noticed was the LED was ‘dim’ and so I hit reset. The code seems to execute fine after that.

      I took the blink program and changed the timing so it would be on for 3 seconds and off for 500 mills. Waited for upload to complete and then hit reset.

  • if my country is on the restricted list, Can i let a backorder? So when you can ship to my country be some of the first?

    • At this point because of the restrictions on this part currently we are restricted until November 27th to only ship to a limited number of countries. The good news is we have multiple batches of The Thing set to be available at that time so anyone that is currently not able to place an order should be able to then!

      If you have any other questions on the issues with exporting or placing an order please contact us in Customer Service at cservice@sparkfun.com.

  • I have been trying to download blink to the code. I very carefully followed the instructions for installing Arduino Core. Everything compiles, but I cannot get it to upload, the connection attempt keeps timing out. I held the 0 button down while starting the upload, nothing.

    I tried running esptool tool directly: ./esptool.py –chip esp32 –port /dev/ttyUSB0 -b 115200 read_mac I also get the timeout message. There I held the 0 button down, started running esptool, and released the button as the connect attempts started.

    I also tried downloading the esp-idf. Same issue.

    I am doing this on an Ubuntu box. I have permissions to write to the serial port. pyserial is installed. Python 2.7.12.

    I notice that the red power light is on, but when I press either the RST button or the 0 button, I see nothing changing with any of the LEDs.

    Thoughts?

    • Do you see any output on the serial when you press the reset button? By default the bootloader should print out some stuff. And during this, the blue LED next to pin “5” is at about half brightness. (By the way, I’ve ordered 2 boards and both had blink flashed on them by default. I think it’s a “SparkFun default”)

Customer Reviews

3.7 out of 5

Based on 52 ratings:

Currently viewing all customer reviews.

2 of 2 found this helpful:

Good board for the ESP32

I have a couple of the ESP32 boards to work with, and I really like the sparkfun variant. So far I have been able to connect to my local WiFi, use the SPI interface to connect to a peripheral, and send the data from the peripheral over WiFi to the sparkfun phant server. Oh, and I can do all this while walking around the office thanks to SparkFun’s forward thinking design that includes a battery connection. On top of this, I was able to use the Arduino IDE as a rapid prototyping tool. Overall a great buy.

1 of 1 found this helpful:

On the bleeding edge

A really cool board. Here is how I used mine. https://github.com/Ebiroll/esp32_ultra The software is still work in progress but already usable.

1 of 1 found this helpful:

The hardware is great!

I’ve just started using the “thing”, but so far have not had any problems installing the arduino core and getting the “hello world” script working on Win 10 pro 64 bit. Looking forward to when the analog support (in/out) is working. Thanks for a nice piece of h/w!

1 of 1 found this helpful:

Working Great!

Purchased three for a demo/presentation. Just finished my demo code involving accelerometers and LED light strips with MQTT control of same. Finished a burn in test with all three units running for 24 hours today. The ESP32 Thing devices were rock solid, wifi was solid, and MQTT broker server reported solid connections for entire duration. Nice. Using ESP-IDF, FreeRTOS, etc, directly, not using Arduino libraries.

1 of 1 found this helpful:

Capable little board, but I wish the IDF was easier to deal with

This thing is really cool. I unboxed it at home and had it up and running a simple server in about ten minutes. Trying to go deeper, I decided to set up the Espressif IDF…and I still don’t have it working properly. In the meantime, I’ve discovered that using the ESP32 Thing seems to absolutely require a 5V USB port on your development machine. For dev at work, I use an Alienware Steam machine that (for some reason) only puts out 4V from the USB ports. The ESP32 Thing won’t work on that box. I actually might not have known the USB ports were non-standard without this issue. So in my eyes, that’s a plus. I’ll post an in-depth review when I’m not in crunch-time on an ESP8266 project.

1 of 1 found this helpful:

Arduino library is very limited

I looked forward to trying out this board as a general IoT board, but I’m not a fan of the not-yet-finished Arduino library for the board.

Carefully read what isn’t yet supported for Arduino, and decide whether the board is worth the price based on what features you can use in Arduino (assuming you’re an Arduino developer).

Last I read, there’s no Arduino BLE support or analog I/O support, and the WiFi library for Arduino has no Server or UDP support. Those omissions really reduce the value of the board for me.

On the plus side, I love the “just plug a battery in” battery support.

Looks like it will be a winner board, once the software shows up.

2 of 2 found this helpful:

Serious hardware issues - look elsewhere

These boards have serious hardware issues. Bluetooth connections are unreliable at best and, as another review mentioned, wifi is pretty much unusable. Although the esp32 supports both 26 MHz and 40 MHz crystals, all the espressif development teams testing seems to be done on a 40 MHz crystal and there are plenty of forum posts on the esp32 forum indicating that 26 MHz crystals cause wifi/Bluetooth issues. This sparkfun board uses a 26 MHz crystal. I don’t know if this is the issue or not, but either way I would not buy these boards. I have since purchased boards that use the ESP-WROOM-32 module and everything works without issue. I normally like buying from Sparkfun because everything is open source and generally well documented, so it was quite disappointing that this board performed as poorly as it did. I wasted a lot of development hours debugging what I thought were software issues.

The esp32 chip itself is a pretty cool device if you’re comfortable working in the espress-if development environment.

1 of 1 found this helpful:

Arduino Core Not Finished, but its an Exciting Platform

The combination of Bluetooth and Wifi in this device makes possible interesting applications involving mobile apps and IoT.

That said, as a previous reviewer pointed out, the Arduino Core isn’t finished – but, it’s a start. I’m using a Mac and didn’t have any problem following the instructions to install the core, connecting the ESP32, and programming. I appreciate not having to pull out my FTDI cable since the USB/Serial interface is built in.

Programming from the Arduino IDE happens reliably without pressing a reset button for me. However, after programming, to run the program I do have to press reset. Not a huge inconvenience, but …

Release notes for the Arduino Core mention that WiFi Client/Server aren’t working fully yet. Though, digital i/o, interrupts, Serial, SPI, Wire, and WiFi are generally working. No mention of Bluetooth, cap-sense, encryption or other features on the ESP32 being supported yet.

So, all said and done, I’m pleased with this “Thing” and looking forward to exploring its possibilities. Though, in the near term, I might look into installing the espressif toolchain instead of relying exclusively on the Arduino Core.

1 of 1 found this helpful:

nice board

Nice board.

Support software works tolerably well under linux. At this point, the environment is good for advanced users. It helps I’ve been using freertos for years.

2 of 2 found this helpful:

Nice, especially with LiPo support

I placed several orders for ESP32 based boards, Sparkfun shipped this in just a few days. Still waiting for the rest. It works just fine, and I especially appreciate the LiPo support circuitry. I don’t use the Arduino IDE and could care less about it – the “idf” (new name for the sdk?) for C programming works great.

1 of 1 found this helpful:

Works great if you don't use the WiFi

This works great but the wifi antenna doesn’t work at all unless you’re right next to the access point. When using arduino core, the arduino core software constantly hangs and crashes with “Guru Meditation Errors” when an external antenna isn’t connected.

2 of 2 found this helpful:

Great but libraries are still in development

Great board but if you are planning to program with the arduino library keep in mind many of the functions are not on line yet.

1 of 1 found this helpful:

WiFi doesn't work most of the time

4 out of 5 times the wifi doesn’t work. it simply won’t connect to my network. If i restart the board enough times it’ll eventually connect.

When it starts and won’t connect the initial WiFi.status() returns 255 aka WL_NO_SHIELD. When it starts and will connect the initial WiFi.status() returns 6 aka WL_DISCONNECTED.

I’ve tested this with my own code and the sample code from WiFiClient.ino

I have an ESP8266 Thing dev that has zero issues connecting.

Hello!

Sorry to hear about the trouble with the ESP32 board. Have you contacted our technical support department over @ techsupport@sparkfun.com to help with this issue? They’re typically very good at getting things to work.

3 of 3 found this helpful:

Nice hardware just not ready yet on the software

Arduino is working for the basic! Easy to setup. The IDF sdk is there but a lot of functionality is missing. They should be fine to use in a couple of month. Right now this board is note for beginner. Do not expect to work out of the box. It require a lot of time to setup and work through the documentation. How and i using Windows 10.

3 of 3 found this helpful:

Great HW on a nicely done board

Even before I received this little piece of beauty I was blown away by its capabilities, reading over all the documentation. Clearly way much more than the ESP8266. With the onboard FTDI, automatic reset mechanism and the extra battery charger, it is an easy-to-handle IoT Thing. The SW side is also great. Following the steps, the esp-idf setup was done quickly (I have a Linux), and setting up a project also took me a few minutes. Then “make flash” and without touching anything, the code is upladed and the board resets. I couldn’t believe how easy it was and that it worked for the first try. Nothing ever works for the first try. :) I won’t use Arduino IDE for this. It is far away from an Arduino, and the guys working on the vitrual core will have a tough time. If you want to use it with the Arduino IDE, please be patient. Otherwise use the esp-idf, which is growing fast, and many things are already there.

1 of 1 found this helpful:

Good reliable product as you would expect from SparkFun

Early in the development phase for this product so you can expect some teething problems with the software IDE. Arduino support is sort of there but as others have said you need to reset it sometimes during load.

I have it running with WiFi and ST7735 LCD and looking good.

David

1 of 1 found this helpful:

Happy with the Thing, so far so good...

Firstly, I had no trouble getting the board running, I just followed the instructions on Espressif’s GitHub site for Windows10 after reading the SparkFun Hookup Guide.

I then loaded about 6 different Arduino sketches starting with Blink, then a small sketch to serial input strings and converted them to ‘float’ (to 6 decimal places) using atof, which worked just fine. Also successfully ran 3 of the WiFi examples. I would love to use the Bluetooth facility at some stage.

I did not have to press ‘reset’ to upload or run sketches and when they finished uploading they ran immediately. I repeated this process using different baud rates, with no problems. After reading some of the other reviews, I just hope my good fortune continues when I use my Thing in my GPS tracking/logging device.

One observation I have is that the board gets quite hot when its working hard, eg. running WiFi sketches. It also got hot when I plugged in a LiPo battery to charge while the board was powered by USB cord from a 5v Power supply. The battery itself did not get hot though. I wonder how normal this is?

Cheers Geoff

1 of 2 found this helpful:

Frustrating set up

After many tries and being utterly frustrated with it I returned it. May provide great features but not the easiest thing to set up.

2 of 4 found this helpful:

Arduino Support Lacking Bluetooth

I bought this thinking it would be easy to use because of the use of Arduino IDE. However their is no useful BLE or BT classic libraries that support this device…

2 of 5 found this helpful:

Neat device but software environment still very bad

On Windows 10 the instructions on how to make it work in Arduino simply does not work. The phython get.py (using python 2.7) gets SSL errors and simply does not do anything. Searched for solutions but found none.

Managed to get things going on Mac OS.

However things are not rosy here either: The bootloader does not activate unless you press reset in a very precise moment (but it is not documented exactly when). I only succeed in uploading things once every 20 times from Arduino IDE. Also then a second reset is needed to have the program run. This should improve and should be done all by the software.

Also: still not clear how to make the BT and dual processors run.

This looks like it could be a very interesting product, the hardware looks great. However the software tools are simply not working as well as they should.

Yes, the environment for this is still very young, and all feedback is appreciated. I would suggest contacting our Tech Support Team, and see if there are solutions yet for the issues your experiencing.

1 of 8 found this helpful:

NO BLE support, is it a ESP8266 or ESP32 ?

Honestly after buying 4 units, following the install guide for the core in Arduino and realizing that you guys still don’t have to implement BLE was extremely frustrating.

Should be well written on item description as this is a SCAM.

https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide#using-the-arduino-addon

Not Yet Implemented:

Bluetooth Analog Input (analogRead([pin])) Analog Ouptut (analogWrite([pin], [value])) WiFi Server and WiFI UDP Real-Time Clock Touch-controller interface

Please inform when the product actually works.

1 of 9 found this helpful:

ESP32

Hardware stable and very helpfull for first steps into the ESP32. But the setup for the programming is not professional. Why is it not possible to sell a working IDE. Really, i can’t understand why even the supplier doesn’t deliver a professional IDE.

Very nice

This is an awesome board. The Espressif IDF library is very well written, and the documentation is good (even though there are tons of typos at the moment). Unfortunately, after a few weeks of programming, the USB connector ripped off :(.

Hello!

Sorry about the issues with the USB connector. Have you contacted our technical support team at Techsupport@sparkfun.com - they might be able to help you out with the unit if there were problems with the USB connector.

One of the better Microprocessors I have played with yet!

The non-Arduino development environment is easy to configure. Plenty of examples in the source tree to get the chip up and running quickly. I am having lots of fun working with this feature rich processor.

So Far So Good!

Looking good. I wish it had an on board fuel gauge to monitor battery power left 😊

Half the lib's ain't wrote yet!

So I’m like: bluetooth is probably pretty fun. I think I’ll play around with it… but I only have esp8266’s, don’t I? Wait! Ordered an esp32thing! I’ll go read about it! So I find a nice article on sparkfun, flash some code, do some more reading… I discover that the bluetooth isn’t real well developed! I can’t just copy and past bluetooth keyboard code like I did with the teensyduino! I’ll have to learn more things! What’s up with that? But no, it’s pretty awesome. Works as expected. I’ll bloggity blog a post somewhere when I get any kind of hid keyboard thing happening…

Lets me change the colors of my WS2812B LEDs from the toilet!

Seriously, does ezzacly whatzit says it does.

Notable is the V_Battery input supports 6V, so not just for LiPo 1S. Also fine for 3x 1.5V or 4X 1.5V batteries though this seems a bit of a bad idea if you opt to leave the LEDs enabled.

Tons of processing power for WiFi controlled spectrum plotting rave pants.

Excellent little thing, but...

First the bad: If you are thinking of using this with the Arduino IDE, make sure everything is actually implemented. (In my case the ADC but I knew that going in.) You’ll have to use the ESP-IDF which under Windows is a bit of a pain. (Easy to setup, but keep your browser handy to look up everything.) It is a FreeTOS environment on the board. Assumed Unix environment for both development environment and code. As I’m mainly used Windows for the past 30 years, I have to try to take a lot of trips in the ‘Way-Back machine’.

The good: This is a very powerful little device in a small package. It’s specs meet my needs without question. I have no regrets for getting it. In my view this series (this and the ESP8266) are the next evolution of the Arduino mindset. Well worth the effort to learn.

Great for using with esp-idf

I don’t know how good this is to use with the Arduino IDE, because I wanted to use it directly with the Espressif IDF and I think it does a fine job. They did a good job of including as much GPIO as possible while still keeping a small form factor. When I went to flash it with the make flash, it just works, and I have the ability to write low-level code without being constrained to the Arduino IDE. My one complaint is the lack of external RAM, there’s only 520kB of internal SRAM!

Esp32 Thing

Bought two, plus motion boards. Size is important for my app, so the motion boards were soldered to the esp32s. Problem #1 showed up almost immediately- difficulty with keeping the serial ports stable. Figured out that the connectors are very fragile. Board #1 It’s hanging by a thread. #2, just a bit better. Have to wiggle the cable until I get a solid connection then not move it. Which defeats the whole motion board concept.

Lesson, always unplug the USB connector when done, don’t put any torque on the connector. Like waving the thing, and motion board around. Or expect to lose the USB link, and end up with in my case $40 of useless boards x 2. For me.

Sorry to hear that happened to you. Please contact our tech support department to see if they can assist you with this.

0 of 1 found this helpful:

Fix for Windows Arduino IDE

Hi- So support found a fix for me today. I was able to upload my first program, however after that, I was stuck. It would error out during the program upload process. The fix is to wire PIN 0 to GND, then flash your code. Once code is uploaded, pull the wire from PIN 0 to GND and hit the RESET button. When you hit RESET, your code will execute.

Hope this helped someone else. Sparkfun tech support was great for helping me to get this working! Hopefully changes to the Arduino IDE component will be made that alleviate this a bit.

One out of two units DOA

I ordered two of these units. Just now I discovered one of them is dead on arrival.

Sorry to hear that. Please contact our tech support team, they’ll be able to help you resolve the issue.

Not quite there yet, Arduino wise.

I have it driving shift registers that are driving nixie tubes, pulling time from the internet, but no access to RTC and BLE. Also it crashes and I don’t seem to get any sort of debug output in the serial monitor to figure out why its crashing. So, looking forward to a better Arduino support for it and more libraries such as RTC and BLE libs. Also better debug support for it. Would like to use this in my nixie clocks to provide Blue tooth and wireless support to set the clock and control settings.

Great capabilities but the libraries are still in development

This board is actually great. Sparkfun made a very nice dev board with this one. No complaints in regard to Sparkfun’s hardware. The ESP-IDF and Arduino libraries are still in development and are missing a few features like captive portal. Overall, the ESP32 is a very interesting IoT chip and I would recommend the ESP32 Thing as a dev board if you are looking to get into using it in a project.

Good potential not good fit.

I currently have a number of projects using the ESP8266 Thing via the Arduino interface. My template is easy to modify and lets me spin up new instances in a few minutes and works seamlessly with the Adafruit Huzzah Feather.

Although I am excited about the cool things the ESP32 Thing can do, until the development tools mature I’ll probably shelve it and devote the time to looking at the Edison!

Review of the board (With notes on the SDK)

The board is fantastic– the only reason I didn’t give it 5 stars is the micro USB port comes off very easily; so keep an FTDI cable handy in case (mine came off the second time I unplugged it.

Now the SDK, which really has no bearing on the quality of the product. The Arduino core isn’t ready to use the full features of the chip. I’d recommend using the ESP Programming Guide (https://esp-idf.readthedocs.io/en/latest/index.html), which allows you to use all the features. But it is a lot to process, so set aside some time.

Overall, the board itself is pretty great! Just keep in mind the platform is under active development.

Sorry to hear about the micro USB port coming off. We’ll be happy to send you a replacement of you’d like, just get in touch with our tech support team, and they’ll hook you up. Happy Hacking!

Nice board but missing GPIO pins

GPIO pins 6-11 are missing. Why not add 3 pins to each side of the board so you get all of the GPIO? Also, pin 2 is listed as GPIO21 in esp32-thing-graphical-datasheet-v02.png and it is really GPIO2. The same datasheet doesn’t list all of the functions for each pin (e.g. ethernet, rtcio).

ESP32 Maybe!

Trying to get toolchain going has not gone well. Even got a real Expressif dev board and followed their instructions but still getting build errors. Tried to register with them for questions but they have yet to approve my access to their support forums - after a week.

Now I’m very technical and could roll up my sleeves but not having available support at your back eventually fails - been there, done that. This is a great little device if only I could dev for the thing… BTW I don’t mean in debugger-less environment but something real along the lines of atmel studio.

0 of 2 found this helpful:

Train wreck. Not ready for prime time

Everything about this is not ready for prime time. Crashes, incomplete documentation - (even down to the chip itself) - poor example code, etc. code is in a total state of flux. I think this needs more time to settle out before really being usable.

Very good but let down by the USB

I own a couple of the Espressif ESP-DevKit-C boards and wanted to try the sparkfun ESP32 Thing. It arrived promptly. The board is well designed and narrower that the DevKit-C and hence gives me room on a breadboard (just). The primary distinction is the availability of battery socket. This seems to work nicely with 3.7v LIPOs. I also like the position of the buttons free from other components. Less change of “damp hands” shorting something else out.

It does exactly what it claims it does.

My one gripe is that I am having mixed success flashing new programs. If I perform a flash, it may flash the first time, or the second or the third. It seems to have about a 30% success rate at any given go. My DevKit-C flashes first time every time at a whopping 921600 baud … but even bringing the ESP32 Thing down to 115200, I can’t seem to get better than a 50/50 first time flash. I do note that the USB<->UART chip is distinct in ESP32 Thing from DevKit-C. However, once flashed … everything is perfect and the device just keeps on ticking.

0 of 1 found this helpful:

Still some Technical Hurdles

During the Board Config selection in Arduino, the ESP32’s pins are assigned. Why does This board have the SPI-SS on pin 2 and not pin 5 like every other ESP32? (According to “pins_arduino.h” in the ESP32 Folder.)

This manifests itself in that when you have your SPI device connected, you can’t upload a program!

Works as advertised but no 5 GHz band support

The ESP32 only supports the 2.4 GHz band.

I had an HTTP server up and running in about 2 hours using the examples in the Espressif ESP-IDF SDK.

Works well!!!

It took me a bit to get everything set up and installed. It’s also a new product and support is being added as we speak. It easily fits into the Arduino development environment. I’m looking forward to doing more with it.

A great board

I received it in perfect condition, I was surprised that only the board thing, they should include the pins to solder to the board.In terms of performance and quality, they are outstanding and I am already working on internet projects of things, it is a very powerful board.

Demos Work for Me

I want to get into developing Bluetooth LE. So far all I’ve done is make the demos go. I’ve run pretty much all of the demos available using the different build platforms: Arduino, PlatformIO, and esp-idf. Installing these tools and running them on my mac took me a solid afternoon of work, but documentation was plentiful.

The capabilities of esp-idf are ahead of PlatformIO and Arduino, but the gap appears to be actively closing (as of this review).

Great Hardware!

Nice board, some effort would be needed in order to get the system running but there is a lot of information on internet! the have fun testing!

Good Value

Offers lots of capabilities for a reasonable cost. The interface to the Arduino IDE works but is limited. The path to ESP IDF is not clear and requires a high degree of Unix experience that I don’t have.