Thing Plus C - ESP32 WROOM

This board went red! Buy the fancy one here.

The SparkFun ESP32 Thing Plus C is a comprehensive development platform for Espressif's ESP32. Like the 8266 and ESP32 Thing, the ESP32 Thing Plus is a WiFi-compatible microcontroller with support for both Bluetooth Classic (i.e. SPP) and Bluetooth low-energy (i.e. BLE, BT4.0, Bluetooth Smart), a Qwiic connector, and 21 I/O pins. Add to that a rich set of peripherals ranging from capacitive touch sensors, Hall sensors, SD card interface, Ethernet, high-speed SPIs, UARTs, I2S and I2C.

We took all the good from the original ESP32 Thing Plus and sprinkled on some more! USB C provides up to 2A, upgraded 16MB flash ESP32 WROOM module, CH340 USB to serial IC, an onboard fuel gauge IC will make sure you know your battery levels, and an onboard addressable LED is perfect for as a multi-status LED. Oh, and the new taller reset and boot buttons are so much easier to push!

We added a dedicator regulator to the Qwiic connector to enable software power control of the Qwiic bus - great for low power logging. There's even a microSD connector on the back!

The ESP32 Thing plus integrates a rich set of peripherals, ranging from capacitive touch sensors, Hall sensors, SD card interface, Ethernet, high-speed SPI, UART, I2S and I2C. Thanks to the onboard ESP32 WROOM module, the SparkFun Thing Plus features 16MB of flash memory, 520kB of internal SRAM, an integrated 802.11 BGN WiFi transceiver and dual-mode Bluetooth capabilities, and a JST connector to plug in a LiPo battery.

For programming, select the ESP32 Dev Module. This will get you direct pin to pin access to each of the WROOM's pins.

We do not plan to regularly produce SparkX products so get them while they’re hot!

The SparkFun Qwiic Connect System is an ecosystem of I2C sensors, actuators, shields and cables that make prototyping faster and less prone to error. All Qwiic-enabled boards use a common 1mm pitch, 4-pin JST connector. This reduces the amount of required PCB space, and polarized connections mean you can’t hook it up wrong.

Experimental Product: SparkX products are rapidly produced to bring you the most cutting edge technology as it becomes available. These products are tested but come with no guarantees. Live technical support is not available for SparkX products. Head on over to our forum for support or to ask a question.

Comments

Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • Member #161230 / about 3 years ago / 1

    I cannot get the SD Card to mount

    I am using a SD Card I know that has a read/write capabilities from a microcontroller

    I am using Arduino

    I am using the “ESP 32 Dev” board for selection

    And sample code frond online

    Am I missing something?

  • seulater / about 3 years ago / 1

    Since you state: "We have an order limit of 5 per customer on this product. "
    Will you be selling this on Digi-Key or mouser? We would really like to get over this 5 piece limit.

  • Member #600562 / about 4 years ago / 1

    How do you program the onboard addressable LED ?

    • Member #577059 / about 3 years ago / 1

      According to the schematic, it’s a WS2812 (aka NeoPixel), with pin IO2 connected to the DI (data in). You should be able to program it using the Adafruit NeoPixel library or the FastLED library. See here: https://learn.sparkfun.com/tutorials/ws2812-breakout-hookup-guide/all#adding-firmware

Customer Reviews

4.6 out of 5

Based on 5 ratings:

Currently viewing all customer reviews.

5 of 5 found this helpful:

Great little board

I am using this board to monitor some sensors and upload the results to a Firebase realtime database. Getting this working, especially connected to the wifi went way faster than I was expecting.

There were a few quirks with getting hello world running though. What worked in the end for me was:

  • Install Arduino IDE
  • Go into preferences and add the following board manager (not the normal sparkfun one): https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
  • Install the esp32 board manager
  • Select "ESP 32 Dev Module" as the board
  • Change "Upload Speed" to 460800
  • Change "Flash Frequency" to 40 MHz
  • Change "Flash Size" to 16 MB
  • Start flashing and when you see "Connecting........_____" push and hold the "boot" button until the program starts flashing

My new favorite dev board!

Ready-to-go for low power logging with Qwiic sensors, and a full featured general purpose dev platform.

For logging-- grabbing the time on boot over wifi via ntp after setting a timezone will allow you to place the ESP32 in deep sleep and maintain accurate time with the RTC without having to make subsequent (or frequent) ntp re-syncs. By maintaining the pin state on the chip and software-disabling the Qwiic bus you can further reduce power consumption during sleep. I'll set these devices to grab a few measurements off chained Qwiic sensors and write to the SD card (please continue including these onboard, Sparkfun!) and find the whole assembly can run for days off a small LiPo.

I've made fairly extensive use of this device's features and haven't had a single issue- it's been perfectly reliable for an experimental product. Very nicely done, SparkX, keep 'em coming!

Great suite of capabilities

Had trouble getting SD card to mount. Finally, saw the small print at bottom of description text: Select ESP development board for programming. Had been following the hook-up instructions for the non C version which uses the Adafruit Feather board selection. Still, there seems to be some glitchy operation. When uploading code I have seen frequent timeouts requiring recompiling code and disconnecting the USB cable from my computer (seems to connect after this board restart). Hopefully, it will be easier going from here out. Also tested BLE and it seems to work as expected.

Hard to work with if you have more than 1

The CP2102 USB<>Serial bridges on the other Things all have unique serial numbers so if you have more than 1 connected to a host at the same time, you can tell them apart. You can even reprogram the serial numbers yourself with a small utility. This Thing uses a CH341 which comes with a burned-in serial number of "1a86_USB_Serial" on all devices which makes it impossible to tell them apart. Apparently the bridge needs an external flash device to store a custom serial number and the Thing doesn't have one. It's not a deal breaker by any means but it does mean a little more work to keep track of them while they're connected to a host.

Excellent product. Perfectly suited for our application

Trouble free, plug and play boards. Well adapted to our device and technology. Very are a very happy and satisfied customers