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.
Based on 4 ratings:
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!
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.
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:
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.