Yours truly is one of the lucky 200 to receive an ESP32 for beta testing. The neat little package came few days before Christmas. indeed, Christmas came early! It is a tough call, wrestling with the decision to roast the bird for Christmas eve dinner or to explore the ESP32. The latter won! we shall have chinese takeaways for dinner later.

NOT Coincidentally, Christmas in 2014 was spent on playing with ESP8266, lots of frustrating moments that leads to the release of this step by step guide to connect ESP8266 with Arduino https://www.instructables.com/id/noobs-guide-to-ESP8266-with-Arduino-Mega-2560-or-U/ . A little bit of trivia. Back in June15 at MakerFaire Shenzhen, yours truly was sitting in the same row with the real mccoy https://twitter.com/ceo_espressif whom created the ESP8266, listening to the real arduino https://twitter.com/mbanzi giving a keynote on the yet to be released Genuino, and not forgetting yours truly getting his paws on the newly released nodeMCU v1.0 (black) http://shin-ajaran.blogspot.sg/2015/09/stream-iot-... from "zhao zhong 赵总" at a very competitive price.

ESP32 was featured on MAKE, Hackaday, and Adafruit. Do check the reference section for the details. Conventional wisdom assumes ESP32 is going to supersede the hugely successful ESP8266 for IoT application. But yours truly begs to differ. ESP8266 is targeted at the "everything" market, where gazilllions of IoT enabled sensors aka "throwies" are deployed to form an ubiquitous computing framework to collect data on just about anything! A plethora of boards manufacturer have utilized the ESP8266 in their respective iteration of IoT with cloud offerings. Hence the "everything". The ESP32 sports much bigger processing power, more RAM, and most importantly encryption at hardware level. Perfect timing to address the insecurities in the IoT devices sending data in clear text over the network via http or mqtt. ESP8266 is going for USD4 (got it for SGD9 at 2014). Unfortunately, the users (yours truly included) do not have the slightest hint on the price for the ESP32.

Arduino IDE for ESP32 is LIVE. Details here https://www.instructables.com/id/ESP32-With-Arduino-IDE/

Below is a quick summary of the ESP32

Faster WiFi: Wifi has been upgraded to support HT40 speed (150 Mbps)
Bluetooth Low Energy (BLE) and Classic Bluetooth
Dual processor: 2x Tensilica L108 processors clocked at up to 160 MHz
Low Power Mode: deep sleep, etc.....
IO: Capacitive touch, ADCs, DACs, I2C. UART, SPI, SDIO, I2S, RMII, PMW
RAM: 400 KB on-chip RAM
Security for IoT: Hardware accelerated AES and SSL, etc

If you could recall about a year or so when ESP8266 was first released, the lack of proper, consistent, and precise documentation in the English Language has led to many frustrations among the early adopters. Great progress we have witnessed in 2015 for the developments of the ESP83266 by the members of this community. Makers alike, yours truly paid his due diligence in sharing a how-to guide on instructables https://www.instructables.com/id/noobs-guide-to-ESP... to address the inconsistency. This time round with ESP32, the documentations are much better!! Sorry, could not share the documentations now due to confidentiality. Let's wait for the full release straight from the horse's mouth. IMHO the documentations can still be a steep learning curve for the beginner. Furthermore, the QFN -ish packaged ESP32 chip that is fully assembled on a breakout board sports a 1.27mm (50mils) spacing between the pins (pitch) on the supposedly breakout board. It is very intimidating to solder onto the other provided breakout board to make it breadboard friendly. A beta tester has reported on an unfortunate event of damaged ESP32 http://esp32.com/viewtopic.php?f=2&t=41. Another beta tester have used the solder paste + heat gun method https://harizanov.com/2015/12/esp32/

This i'ble is an ongoing process aims at addressing the following

0. prep the ESP32 breakout board for prototyping on a breadboard

1. initial powering up and observations

2. setting up of programming environment + hello world

3. references

also on blog

Step 1: Soldering the ESP32 Breakout Board

parts needed

1. a 200 DegC temperature regulated, very fine tip solder iron, and 0.4mm solder.

2. heat gun. optional. useful if need to remove solder for SMD re-soldering work

3. soldering wick

4. solder flux and applicator

5. PCB vice of some sort

check out the annotations in the picture for a visualization on items needed


1. Practice some surface mount soldering before committing. yours truly only have 1 eval unit and can't afford to screw it up. If you have soldered ESP-12 and it's breakout board, it is definitely good experience. HIghly recommended to do SMD soldering in a well lit work area.

2. The ESP32 break out board moves around easily on the breakout board for breadboard. A tape of some sort is used to secure it in place. Make sure the pins are aligned properly on the 3 sides. Perhaps some heatsink compound can be applied on the small square on the breakout board for breadboard, and then the ESP32 board aligned on it. The tackiness of the heatsink compound will help to make the ESP32 stay in place.

3. Always ensure the pins are perfectly aligned on the ESP32 board to the breakout board for breadboard that is secured with a PCB vice. Apply solder flux on the soldering surface. If you are right hander, positions the pins to be soldered to be on your right hand side, such that your soldering movement is moving towards the right, bring the melted 0.4mm solder perpendicularly away from the neighbouring pins. 1.27mm spacing can be quite nerve wrecking to solder, and the random thoughts of screwing up is so strong! stay focus!

4. start soldering from the ground pins. Refer to the pin out diagram, there are 3 of them, one on each side of the ESP32 breakout board, and located at a convenient corner. Speaking from yours truly own experience in soldering the ESP32, if one of these is screw up, still have 2 more to go :) Once the 3 ground pins are soldered, the ESP32 should be perfectly aligned and sits securely on the breakout board for breadboard.

5. repeat step3 until all pins are soldered

<p>Thanks for the ible!</p><p>My chip is up and running but I am having trouble setting up a simple button interrupt/trigger. You wouldn't happen to have any code that shows how to set up a button and handler on the esp32?</p>
<p>Are these kind of chips meant to act as a client, retrieving data from the net, or can they be configured as a web/ftp server? Or does it depend on the software?</p><p>For example, the Microchip ENC28J60 handles the low-level ethernet, so the full tcp/ip stack must be done in software and therefore can work client/server applications. Not sure if other chips like the ESP, implement more of the stack on the chip, making it easier, but less flexible (ex. lantronix xport , ti CC3x00, etc).</p>
<p>I expected that is selling cheap like esp8266 and the software get totally compatible.</p>
<p>Well done - I was just griping about the lack of such a set of basics when voila - along came this article - linked here... http://tech.scargill.net</p>
<p>thanks peter. your blog posts on esp8266 have been the source of inspiration too!!</p>

About This Instructable




Bio: Your focus determines your reality
More by shinteo:SPEEEduino: a christmas special Guide to AWS Educate Starter Account ESP32 with Arduino IDE 
Add instructable to: