The shipping fee depends on your address
Standard: 9-15 business days,fee is down to $3.99
Express: 4-7 business days,fee is down to $5.99
WE'RE READY TO BUILD A CUSTOM PRODUCT FOR YOU.
If you're looking for a custom product, we can help. Kindly contact us via email support@keszoox.com and send us the details for your need, then we'll let you know how we can deliver the right solution.We make into production usually Within 1 - 3 Bussiness Days.
Expect customization orders.The ESP32-S Development Board is a powerful processor with WiFi and Bluetooth capability and is the next step up to the popular ESP8266 line of IOT processors.
The ESP32 -S is a very flexible IOT board that is a significant superset of the popular ESP8266 line. Compared to the ESP8266, it primarily adds significantly more I/O that is very flexible in its functionality as well as Bluetooth. The downside is that being newer, the support is not as extensive as it is for the ESP8266 for some of the unique features such as using the hall effect sensor, IR remote or I2S buses, but items such as CAN bus and capacitive touch are supported in the Arduino IDE.
Besides the IDE, it can also be programmed using the Espressif IDF, Microphytoon, LUA and other programming environments.
Compared to the typical AVR processor of the standard Arduino it also has a larger 4 MB of Flash memory for program space and runs at clock speeds of 160 MHz and can sometimes optionally be overclocked to 240 MHz and therefore has a very fast processing speed. These can be used as a stand-alone MCU in place of something like an Arduino or it can be used as a peripheral in conjunction with another MCU just to provide WiFi, Bluetooth or other unique capabilities that it has.
The board incorporates 2 pushbuttons. One is labeled ‘EN‘ which is the Reset button. The other button is labeled ‘IO0‘ which is also called the Boot button. This button is used to download programs to the board as described in the example program section down below.
The ESP32-S chip allows most of the I/O such as the serial ports and I2C to be multiplexed to any of the GPIO pins for flexibility. The pinout shown in the attached drawing is the default pinout.
The 38-pin board is breadboard compatible and will leave one row of open contacts on each side of the board.
The I/O is labeled only on the bottom side of the board and a bit hard to read, so refer to the pinout drawing to figure out where things are.
There are a total of 32 GPIO on the board that are brought out to the header pins. The pins are labeled GPIOx. When using with Arduino IDE, the digital pin number is the same as the GPIO pin number, so GPIO2 is referenced as just ‘2’.
The pins labeled ‘FLASH’ (GPIO6 – 11) down by the USB connector are tied to the on-board FLASH memory chip and it is recommended to not use them for any other purposes to avoid possible conflict. That leaves 26 GPIO for general use.
Also note that GPIO 34, 35, 36 and 39 are input only pins and cannot be used for outputs.
All of the digital I/O support PWM and interrupts. In addition they can be configured to have pull-up or pull-down resistors. 16 of the pins support hardware LED PWM.
The small blue on-board LED is connected to GPIO2.
The digital I/O is limited to 3.3V. If using with 5V logic other than over the I2C bus, level translators should be used.
There are two 12-bit analog-to-digital converters (ADC1 / ADC2) which can be multiplexed across up to 16 input pins.
There are two 8-bit digital-to-analog converters (DAC1 / DAC2).
Internally, the board operates on 3.3V.
There are three mutually exclusive ways to provide power to the board.
Operating current is about 130mA under normal operation and the maximum current draw per the datasheet is 500mA. A red power LED is lit when power is applied.
The ESP32 can be placed into various low power modes when batter operated to maximize battery life. The power LED draws about 3mA and can be removed to reduce that power draw if desired.
Please note that the board does not have power switching circuitry as a typical Arduino does, so ensure only one of these power options are used to power the board at one time or damage may result.
If programming the board in a system that also has VIN power, a USB cable can be modified by cutting the red 5V power wire inside the cable to make it a data-only cable.
To communicate over USB, the board uses the CP2102 USB to UART bridge chip. If you experience any issues with connecting to the board, you may need to download a driver for this chip.
Drivers can be downloaded at this link: https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers
This is how the board will look in the Windows Device Manager window with the CP2102 driver installed and the board recognized by the system. The ‘COM19’ will vary.
The board can be programmed in C using the Arduino IDE and is how the modules are most often used. An example program is shown down below which scans for WiFi networks. This program is downloaded into the board to test its basic functionality and will be installed in the board when you receive it.
There are many instructions for installing and using ESP32 based boards with the Arduino IDE, but here is a short version.
2. Under Tools/Boards/Boards Manager, you can now find and install “ESP32 by Espressif Systems” as shown below.
3. Under Tools/Boards select “ESP32 Dev Module“.
4. Select the port that the board is attached to. In my case it happened to be COM19
Here is what the Tools menu looks like on my setup. Note that once the ESP32 board type is added to the IDE, there will be many more items added to the Tools drop down menu
To test whether the board is basically working, plug the board into the USB and open the Serial Monitor Window. In the Serial Monitor window, set comm rate to 115200 and line ending to Both NL & CR.
The board should power up and automatically start scanning for visible WiFi networks every 5 seconds and reporting what it finds to the Serial Monitor window. It will turn on the blue LED while each scan is in process
If you don’t get any output:
These modules have good overall build quality.
The micro USB connector has a very small footprint and solder pads which makes it popular for small boards where space is limited. As with any board that uses the micro USB connector, some care should be taken not to put too much stress on the connector by pulling up on the USB cable or it is possible for the connector to be dislodged from the board. Push straight in and pull straight out and you should be fine.
Unlike an Arduino, the board requires user intervention to download software to it.
When the download button is pushed in the IDE and after the compile completes successfully, the IDE will show ‘Connecting…‘ At that time, push and hold the button labeled ‘IO0‘ (Boot) until the download starts, then release the button.
Once the download is complete, the IDE will report ‘Leaving…. Hard resetting via RTS pin… ‘. At that point the download is complete and the board should be running the program.
If you want to avoid having to push the button to download a program, a small 1-10uF capacitor can be connected between the EN/RESET pin and ground.
The program below is based on one of the sample programs ‘WiFiScan’ that is available once the ESP32 boards are loaded into the IDE. It scans for WiFi networks and sends the list of networks found to the Serial Monitor window.
The version here also lights the built-in LED while a scan is in process.
/* This sketch demonstrates how to scan for WiFi networks. Scans for networks every 5 seconds and turns on the on-board LED during the scan */ #include "WiFi.h" const int LED_PIN = 2; //=============================================================================== // Initialization //=============================================================================== void setup() { Serial.begin(115200); // Set WiFi to station mode and disconnect from an AP if it was previously connected WiFi.mode(WIFI_STA); WiFi.disconnect(); delay(100); pinMode(LED_PIN, OUTPUT); Serial.println("Setup done"); } //=============================================================================== // Main //=============================================================================== void loop() { Serial.println("scan start"); digitalWrite(LED_PIN, HIGH); // turn the LED on (HIGH is the voltage level) // WiFi.scanNetworks will return the number of networks found int n = WiFi.scanNetworks(); Serial.println("scan done"); if (n == 0) { Serial.println("no networks found"); } else { Serial.print(n); Serial.println(" networks found"); for (int i = 0; i < n; ++i) { // Print SSID and RSSI for each network found Serial.print(i + 1); Serial.print(": "); Serial.print(WiFi.SSID(i)); Serial.print(" ("); Serial.print(WiFi.RSSI(i)); Serial.print(")"); Serial.println((WiFi.encryptionType(i) == WIFI_AUTH_OPEN) ? " " : "*"); delay(10); } } Serial.println(""); digitalWrite(LED_PIN, LOW); // turn the LED off by making the voltage LOW // Wait a bit before scanning again delay(5000); }
Notes:
Microcontroller | Xtensa LX6 32-bit | |
Serial to USB Converter | CP2102 | |
Operating Voltage | 3.3V | |
Input Voltage | 3.3V or 5V | |
Digital I/O Pins | 32 (26 usable) | |
PWM I/O Pins (Shared with Digital I/O) | 16 | |
Analog Input Pins | 16 (12-bit) | |
DC Current per I/O Pin | 10-40mA depending on total chip loading | |
Hardware Serial Ports (UARTS) | 3 | |
I2C Ports | 2 | |
SPI Ports | 4 | |
CAN Bus | 1 | |
I2S Audio Bus | 2 | |
Touch Sensor Inputs | 10 | |
Flash Memory | 4 MBytes | |
ROM | 448 KBytes | |
SRAM | 520 KBytes | |
Clock Speed | 160MHz | |
Network | IEEE 802.11 b/g/n WiFi 2.4GHz | |
Bluetooth | V4.2 BR/EDR and BLE | |
Built-in LED | Attached to pin 2 | |
USB Connector Style | Micro-B Female | |
Board Dimensions (L x W) | 49 x 25.6mm (1.93 x 1.0″) | |
Pin Spacing (row-to-row) | 22.86mm (0.9″) | |
Country of Origin | China | |
Datasheet | ESP32 | |
Schematics (representative) | ESP32 Dev Kit |
Good explanation of the general pinout and peripherals of the ESP32.
WE'RE READY TO BUILD A CUSTOM PRODUCT FOR YOU.
All orders are dispatched from our warehouse. The shipments are fully tracked—from our door to yours. Please allow 3-5 business days for your order to be processed in addition to the shipping times below.
Standard: 9-15 business days. Express: 4-7 business days.
Please note that shipping providers are extremely busy during this time, and some orders might experience a delay on top of usual delivery times. If your order is late, please allow 5-10 days more than indicated in standard shipping times before contacting our customer service. Thank you for your understanding.
All orders are 100% tracked. You’ll receive an email with a tracking number and a link to track your parcel once your order leaves our warehouse. Please allow 24-48 hours for the tracking link to start showing shipping information.
Receive our latest updates about our products & promotions.
Thanks for subscribing!
This email has been registered!