MakerFocus ESP32 OLED WiFi Kit V3 Integrated WiFi Bluetooth CP2102 IoT Development Board with 0.96-inch OLED Display for Arduino Intelligent Scenes

MakerFocus ESP32 OLED WiFi Kit V3 Integrated WiFi Bluetooth CP2102 IoT Development Board with 0.96-inch OLED Display for Arduino Intelligent Scenes
MakerFocus ESP32 OLED WiFi Kit V3 Integrated WiFi Bluetooth CP2102 IoT Development Board with 0.96-inch OLED Display for Arduino Intelligent Scenes
MakerFocus ESP32 OLED WiFi Kit V3 Integrated WiFi Bluetooth CP2102 IoT Development Board with 0.96-inch OLED Display for Arduino Intelligent Scenes
MakerFocus ESP32 OLED WiFi Kit V3 Integrated WiFi Bluetooth CP2102 IoT Development Board with 0.96-inch OLED Display for Arduino Intelligent Scenes
MakerFocus ESP32 OLED WiFi Kit V3 Integrated WiFi Bluetooth CP2102 IoT Development Board with 0.96-inch OLED Display for Arduino Intelligent Scenes
MakerFocus ESP32 OLED WiFi Kit V3 Integrated WiFi Bluetooth CP2102 IoT Development Board with 0.96-inch OLED Display for Arduino Intelligent Scenes
MakerFocus ESP32 OLED WiFi Kit V3 Integrated WiFi Bluetooth CP2102 IoT Development Board with 0.96-inch OLED Display for Arduino Intelligent Scenes

Key features

  • [Full documentation]: ★English documentation: https://robotzero.one/heltec-wifi-kit-32/; https://docs.heltec.cn/#/en/user_manual/the_upgrade_of_new_wifi_kit_32; ★Install guide and bunches of info: https://github.com/HelTecAutomation/Heltec_ESP32; ★Instructable for Internet Time: https://www.instructables.com/id/WiFi-Kit-32-NTP-Clock/ ★Driver Library - u8g2: https://github.com/olikraus/u8g2
  • [Note]: This ESP32 development board comes unassembled, soldering of headers is required. It can lithium battery powered, the lithium battery is not included, battery may be purchased here: https://www.amazon.com/dp/B07CXNQ3ZR; ★Add battery power detection circuit. Use ADC2_4 (GPIO 13) to read battery voltage. Please refer to this example: https://github.com/HelTecAutomation/Heltec_ESP32/blob/master/examples/ESP32/ADC_Read_Voltage/Battery_power/Battery_power.ino
  • [This is an upgraded version WiFi Kit 32! ] What's the Upgrade of New WiFi Kit 32? 1. 4MB (32M-bits) FLASH upgrade to 8MB (64M-bits) FLASH; 2. Better 2.4GHz antenna design and impendence matching; 3. Basic low power design (800uA in deep sleep); 4. Add battery power detection circuit. Use ADC2_4 (GPIO 13) to read battery voltage. Please refer to this example: ★https://github.com/HelTecAutomation/Heltec_ESP32/blob/master/examples/ESP32/ADC_Read_Voltage/Battery_power/Battery_power.ino;
  • 5. Add Vext power output pin, users can use this pin to drive some external device (sensor, motor etc.), when system need into deep sleep mode, Vext can be turn off. This pin was controlled by GPIO21, for example: Turn ON: digitalWrite(21, LOW); Turn OFF: digitalWrite(21, HIGH);
  • 6. New WiFi Kit 32 pinout diagram: https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series/blob/master/PinoutDiagram/WIFI_Kit_32(New).pdf; 7. New WiFi Kit 32 schematic diagram: https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series/blob/master/SchematicDiagram/New_WIFI_Kit_32_Schematic_diagram.pdf; 8. Circuit optimization, system more stable; 9. Better power manage system design.

MakerFocus ESP32 OLED WiFi Kit V3 Integrated WiFi Bluetooth CP2102 IoT Development Board with 0.96-inch OLED Display for Arduino Intelligent Scenes

List Price: $36.06$32.45DEALYou Save: $3.61 (10%)
Free shippingFree Returns – 30 daysFree Order CancellationSecure Payment2–3 Days DeliveryGet It June 23, 2026In Stock (1)No marketing spamNo account requiredFulfilment by FedEx / Amazon / UPS / ShipwirePayPal / Card Buyer Protection

Customer Reviews

Reviews sourced from verified Amazon purchasers
4.1
out of 5
Based on 10 reviews
5
60%
4
40%
3
0%
2
0%
1
0%
I like it! It does have a few nuances though.
A&M✓ Verified PurchaseAugust 6, 2023
This board is pretty cool. I bought it for the integrated OLED diplay. Very satisfied with it despite the minor issues. If you are just starting out, you may want to pass this one up for a more seasoned board like a Huzzah. But if you like hunting down information and learning the hard way, buy it.

The issues I have with this board are minor to me but worth noting. The library needs more work. if you #include heltec.h, their library for the board, and nothing else in your script other than say a basic "Hello World" to the Serial and upload your script, it will crash the device and cause it to endlessly reset. Remove heltec.h and the script runs fine. I tried grabbing their latest from their github and it's none better. Most of their examples don't work. Luckily, pretty much any ESP32/ESP8266 stuff will work with it.

There are some nuances:
There are only 2 PWM GPIO pins.
There is no analogWrite. You can use ledcWrite and a function to set the duty cycle and it works good that way. Just need to remember to call your function, instead of just using analogWrite. Though you could probably do a pseudo duty cycle with digitalWrite and delay.
The built-in OLED uses three GPIO pins. SCL is GPIO15, SDA is GPIO4, and reset is GPIO16. This makes those pins unable to be used for most other things.
The only display library I managed to get to work flawlessly with the OLED display was the U8glib by olikraus. Both U8g2 and U8x8 worked just fine for me. The lib is available on github. Note that I didn't try more than a handful graphic libraries. U8glib worked and I didn't need to continue searching for another after that.
This still leaves you around 20 GPIOs to use and of that amount, 8 are input only. The pins are also only 3.3v tolerant and may be damaged if you connect to 5v.
The original pin out diagram they released was wrong. The side with GPIO pin 36 is on the RST button side and GPIO pin 21 is on the PRG button side. They have corrected it and the correct version is available on their github site but I also attached it to this review. You can see they just blurred the board in their updated diagram.
The annoying flicker of the BAT LED. If you do not plug in a battery to the battery connector, located under the board, the BAT LED will flash constantly. There is no way to programmatically shut it off that I know of. If you know a way, please I'd love to hear from you in the comments.

All in all, this is a very good project board if you have a little bit of knowledge and don't mind poking around looking for information.

ADDENDUM: I wanted to add one more thing, and this is stating the obvious, I had to solder the header pins on to the board. A couple of tips I can pass along is go ahead and unscrew the four screws that hold the OLED in place so you can move it and more importantly the ribbon cable out of the way a bit. This should give you plenty of room to solder the pins without the risk of touching the ribbon cable with the soldering iron. Then just screw the four screws back in but don't tighten too much. Just snug them up should be fine. You can stick the header pins into a breadboard to hold them in place while you solder a pin on each end. Should be good to go for the rest. Mind the heat though. For whatever reason my soldering iron melted part of one plastic pin holder on the header. It still works. This was my mistake, not a design flaw.
Use the correct cable for best results
GJB✓ Verified PurchaseJuly 6, 2023
This is a great product. I have used earlier versions with success on other projects. Using the USB-C connection is different - I could only get the V3 to connect with a USB-A to USB-C cable. A on the PC side and C on the board side. The vendor has not yet put information about these connections on the website, so it requires some trial and error.
Use latest Arduino IDE and you're golden
CA Cycleworks✓ Verified PurchaseJune 14, 2023
I was trying to make this work "the right way" via ESP tools. But really, just use the Arduino IDE, it's only a couple steps and it's so easy:
1) Download latest Arduino IDE
2) Visit github (dot) com / espressif / arduino-esp32 and follow the directions about adding the ESP32 via board manager.
3) Open Arduino IDE under menu Tools → Board there are now a ton of new boards at the bottom of the list. Choose the "Haltec WiFi kit 32" -- also Pick the right COM port.
4) To get library for display: Sketch → Include Library → manage Libraries... search for u8g2 and install it.

Then put this in the sketch:

#include
#include
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ 15, /* data=*/ 4, /* reset=*/ 16);

// ESP32 OLED WiFi Kit onboard LED
#define LED_PIN 25
// ESP32 OLED WiFi Kit "PRG" button for input to programs
#define PRG_BUTTON_PIN 0

void setup() {
u8g2.begin();
u8g2.setFont(u8g2_font_6x12_mf); // fairly small font
u8g2.setFontRefHeightExtendedText();
u8g2.setDrawColor(1); // normal, not inverted
u8g2.setFontPosTop(); // x,y is at top of font
u8g2.setFontDirection(0); // not rotated
u8g2.drawStr(0, 0, "It Works!");
u8g2.sendBuffer();
}

UPDATE: Still loving these! This is my new go-to MCU for development. The OLED makes debugging easy and at least there's the one "PRG" button you can watch in your sketch. I've bought more of these via a different listing and it is the same board.

Oh, and don't press down REAL HARD on the face of the OLED, like trying to smash it down into another PCB ... if you do it hard enough, you can break the edge of the LCD and wreck the words showing up. :D So now I try to avoid pressing on the OLED itself. These boards are pretty tough. The soldering also isn't that hard - when near the ribbon cable for the display, hold the iron to the outside of the pin and board.

Additionally, the PWM on pins 25 and 26 are super easy to set up.
// pwm
#define SIG_OUT 26
double freq = 15.8;
const int pwmChannel = 0; // This is not the output pin, that gets attached later!
const int resolution = 10; // Resolution 8, 10, 12, 15 -> higher freq = less resolution

pinMode(SIG_OUT,OUTPUT);
// configure LED PWM functionalitites
ledcSetup(pwmChannel, freq, resolution);
// attach the channel to the GPIO2 to be controlled
ledcAttachPin(SIG_OUT, pwmChannel);
// set duty cycle based on 2^10
ledcWrite(pwmChannel,64);
nice hardware with configuration quirks, poor documentation, and a steep learning curve
D. Pletcher✓ Verified PurchaseJune 14, 2023
The hardware seems fine. It's a pretty solid bargain to get a small, bright screen and ESP32 CPU in an integrated package. The plastic mount seems solid and assembly quality appears to be fine.

I'm developing for lower power consumption and maximum stability using the Espressif ESP-IDF toolchain, not the volatile Arduino ecosystem. The vendor's examples and support seem to be focused exclusively on Arduino. After a couple days of exasperating efforts, I've solved many issues, but I still can't get any output from the screen. I know it is operable; it was displaying test data from the precompiled example program when I first powered it on. I can't figure out the trick to get any response from this specific OLED device over the I2C interface (I2C is no problem in general). I've tried asserting the display's reset pin at high and low logic levels. I've tried different speeds and timeouts. I've tried swapping the roles of pins 4 and 15, in case they were mislabeled, and also tried using pins 2 and 15. I've looked through the Arduino code and attempted to reverse-engineer it into ESP-IDF. I downloaded some other developer's open-source ESP32+SSD1306 (is it an SSD1306? SSD1331? it's hard to tell from the incomplete specifications) but that didn't work. Either way, the Arduino sample code talks to the default SSD1306 I2C address, and nothing is listening there as far as my ESP-IDF code can tell. I intended to upgrade an existing ESP32 device with this module's display capability, but instead I gave up on the display and just used it for debugging over the tty. Sadness.

As others hinted, there are some quirks that require a lot of patient attention. The internal clock crystal is 26 MHz, not 40 MHz, so the USB connection spits out data at a bizarro, non-standard baud rate unless you edit your sdkconfig. If you are running in this goofy state, linux's stty won't let you set a nonstandard speed, but the underlying syscall accepts nonstandard speeds. There's some little 5 line C program on github; you can find it if you look. The weird default speed would be 115200 * 26 / 40.

I'd like to give this a five star rating. It's 90% of the way there. If the vendor would kindly provide a very simple ESP-IDF toolchain example that sets one dot in the center of the screen (or draws text, or whatever), I'd be most grateful. It goes without saying that I would immediately change my rating to five stars and sing the praises of this little marvel to my maker friends.
Seems like a good deal for the money.
David✓ Verified PurchaseJune 7, 2023
It's been a long time since I've played with any microcontrollers like Arduino but I wanted to get back into it and branch out a bit. I picked this up on a whim. I unscrewed the screen when soldering so it wasn't a big deal. I installed the library after searching for Haltecs Github. On github look for HelTecAutomation and you want the Heltec_ESP32.

I'm using the Arduino IDE and included the Haltec library. I then started playing with the samples and building off those. I didn't want to drag out sensors and all that yet, so I played around with the screen and I got a tiny webserver running. Obviously I connected to my local wifi too...

I'm probably going to use this one to prototype out what I want to do then get another one and solder the leads on rather than headers. I like the screen because I can put information like the IP address and any debug info I may need and I can see it at a glance. I am probably just going to use this to push data to another server and use the web server there, but I like that I can run a basic server for some information.

Sleep my friend, so sorry, but I don't think we'll be spending as much time together... :)
Page 1 of 2

Related products