For those new to the microprocessors and integrated systems world, Arduino is a terrific place to kick off. Having your personal collection of a large number of inexpensive detectors and modules, you may create a variety of tasks, both for fun and for profit.
As technology progressed, the latest project concepts and applications emerged, one of which is the IoT. It is a framework that connects a number of "items" or gadgets to the internet with the purpose of exchanging data.
IoT tasks in the DIY sector are primarily centered on Home Automation and Smart Home utilizations, but corporate and manufacturing IoT tasks include significantly more advanced execution of different technologies. The crucial point to remember from this quick introduction is that any IoT craft, irrespective of if it's a little hobbyist initiative or a huge industrial one, requires Internet access.
Despite ESP8266 being an excellent alternative for incorporating Wi-Fi connections into your designs, ESP32 is an amazing selection for whenever you plan on building a comprehensive system with Wi-Fi, Bluetooth, DAC, and a variety of other capabilities.
What is ESP32?
Espressif Systems launched the ESP32, an affordable SoC microprocessor. Tensilica's 32-bit Xtensa LX6 Microchip featuring embedded Wi-Fi and Bluetooth is the microchip that succeeds the ESP8266 SoC. You could see it on the market in both single and dual core varieties.
The ESP32 features some built-in RF parts like a Power Amplifier, an LNA, an Antenna Switch, Filters, and an RF Balun. With this, the process involved in creating hardware for ESP32 is very simple because only some peripheral parts are required.
Something else you are to always remember is that it was developed with TSMC's ultra-low-power 40 nm technology. Utilizing ESP32 for the purpose of creating battery-operated products such as wearable technologies, audio equipment, baby monitoring devices, smartwatches, and so on ought to be quite simple.
Features of ESP32
It could be challenging to incorporate every feature in this guide because it has way more features compared to ESP8266. Due to that fact, some of the most significant ESP32 specifications were compiled. However, you are strongly advised to check out the Datasheet to get a comprehensive collection of specifications.
- LX6 32-bit microchip, dual or single-core, alongside a clock frequency of about 240 MHz.
- SRAM: 520 KB, ROM: 448 KB, and RTC SRAM: 16 KB
- Both Bluetooth 4.2, as well as the Bluetooth Low Energy (BLE) standards, are supported.
- There are 34 GPIOs that could be programmed.
- There are 18 12-bit Successive Approximation Register Analog to Digital Converters routes and 2 8-bit Digital to Analog Converter routes available.
- 4 x Serial Peripheral Interface, 2 x I2C, 2 x I2S, and 3 x Universal Asynchronous Receiver-Transmitter are the serial connectors.
- Physical network communication with Ethernet MAC (needs an additional PHY attached).
- A Secure Digital/ Secure Digital Input Output/ MultiMediaCard host bus adapter and one SDIO/SPI slave controller
- PWM for motors and LEDs with about 16 channels
- Encryption of the boot sector and the flash memory
- Advanced Encryption Standard, Hash (Secure Hash Algorithm 2), Rivest-Shamir-Adleman, Elliptic Curve Cryptography, and Random Number Generation cryptographic hardware speed
Pinout of ESP32 Board
Try taking a glance at the wiring design for the ESP32 Development Board. In this section of this article, we have attached an illustration of the pinout for the ESP Board's 30 pin version.
Different Approaches to Programming
A decent part of hardware would be completely user-friendly supposing there was a method to start programming it by utilizing multiple approaches. Not unexpectedly, this board is compatible with numerous kinds of programming environments.
Here is a list that comprises of the popularly utilized programming paradigms:
- Arduino Integrated Development Environment
- PlatformIO Integrated Development Environment (Visual Studio Code)
- Lua (also called Moon)
Because we are already accustomed to the Arduino IDE from previous article tutorials, we would utilize it in programming the ESP32 in our forthcoming tasks. You could, however, attempt performing some experiments with the other programming paradigms.
ESP32 DevKit – The ESP32 Development Board
The ESP-WROOM-32 Module, which was launched by Espressif Systems, is among the most famous ESP32 modules. It possesses an ESP32 SoC, a 40MHz crystal oscillator, a 4MB Flash IC, and certain inactive parts.
The PCB of the ESP-WROOM-32 Module features edge castellations, which is a plus. So, other manufacturers create a break-out circuit for the ESP-WROOM-32 Module.
The ESP32 DevKit Board is a unique kind of board. It features the ESP-WROOM-32 as its core module, alongside some auxiliary hardware for programming the ESP32 and linking the GPIO Pins.
Design
We would examine the design of one of the most famous affordable ESP32 Development Boards available on the industry marketplace, the ESP32 DevKit Board, so you could understand what a normal ESP32 Development Board resembles.
You could get a great glance at the design of the PCB in the illustration below. There are numerous ESP32 Boards on the industry marketplace that are centered on the ESP-WROOM-32 Module. The design, pinout, and capacity differ in all kinds of PCB.
This PCB possesses about 30 pins featuring 15 pins on each side. Although, some of these boards possess 36 pins, while others have somewhat fewer. So, prior to actually establishing links or getting the board turned on, rechecking the pins.
The ESP32 Board possesses the following parts, as observed in the illustration:
- There are two rows of IO pins (with 15 pins on each side)
- USB – UART Bridge IC CP2012
- Micro–USB Adapter (for powering the board and starting the programming process)
- Button Enable (for Resetting purposes)
- Button on the Boot (for getting the board flashed)
- LEDs with high output (Red)
- (Blue – linked to GPIO2) User LED
- Some parts that are not active
- The DTR and RTS pins on the USB-to-UART IC are utilized to immediately place the ESP32 into programming mode (where necessary) and to begin resetting the PCB after it has been programmed.
Conclusion
This article is a thorough introductory lesson on the ESP32, a great SoC with ingrained Wi-Fi and Bluetooth. At this juncture, you would have learned the necessary things you need to know on the ESP32 Microprocessor, its characteristics, the design, and programming approaches.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.