#ESP32-IOT-KIT Full open source Internet of Things development learning board* The long-awaited **ESP32 development board plan** finally met with you before the year. I could have seen it last month, but I had no choice. A lot of things piled up at the end of the year, and there happened to be a problem with my phone, and all the previous photos were lost. In order not to affect the open source effect, we have been improving the information during this period. Github, Lichuang EDA, and CSDN are updated simultaneously, which really makes customers wait for a long time. ![esp32_black_3PointLight4K.122.jpg]

![iotKit_all.png]

![esp32-iot-kit-modify.42.png]
* Unfortunately, all the photos on the mobile phone were lost. Although some pictures were copied when Github and CSDN were updated before, But there are very few left. Therefore, some of the pictures below were temporarily re-taken with a pad and are rather blurry. I hope you can forgive me. # Hardware peripherals * ADC * 2 (battery, lighting. Power supply is programmable) * Buttons * 4 (BOOT, user buttons. The other two are reset and battery power indication) * Touch button * 1 * User LED * 1 (same as IO extension WS2812B light strip) * 38KHz infrared receiving and transmitting. * RS485, CAN (same as IO, can also be reused as UART, etc.) * I2C peripherals * 4 (ICM-20600 six-axis inertia, SHT30 temperature and humidity, PCF8563-RTC, and capacitive touch screen FPC holder on the back ) * 2.0-inch single-point capacitive touch screen (320*240 resolution. LCD screen uses SPI, capacitive touch I2C) * LCD/OLED/SPI expansion interface. I2C expansion interface. 3.3/5V power expansion interface. * TF card interface. (MicroSD) * Ethernet expansion interface. (Can be plugged into LAN8720 Ethernet module) * TypeC power supply, download and debugging interface. * Onboard CH340 automatic download circuit, maximum baud rate 2Mbps. * Onboard 18650 battery holder, lithium battery protection IC and charge and discharge power management chip can provide 3.3V and 5V 2A power output using only the onboard battery. And the 3.3V voltage rail is a UPS, which can keep the onboard hardware running uninterruptedly. * The ESP32 module sold in our store is `ESP32-WROVER-E`, and the 16M Flash+8M SDRAM version is already fully equipped. When you are doing your own proofing and welding, you can just use the simple ones. #Hardware functions and features* Onboard `ESP32-WROVER-E` (16M Flash + 8M PSRAM fully configured), dual-core 240MHz, capable of developing and applying `WIFI`, `Bluetooth`, and `Ethernet`. * Onboard ESP32 `IO full pinout`, convenient for debugging and expansion. * The PCB size is 9.8 * 9.8cm. Although it is small, it has all the internal organs. * Expandable `LAN8720` 100M Ethernet, just plugged into the upper right corner of the development board for expansion of wired Ethernet. * The 2.0-inch capacitive touch screen is a combination of `ST7789V + FT6236U`, with IPS full viewing angle and single-point capacitive touch. Its feel and lifespan are much better than resistive screens. * Don’t worry if you are in a hurry and don’t want to use a capacitive touch screen. There is a row of SPI expansion interfaces reserved on the front, which can be used to plug in LCD/OLED and is compatible with many display modules on TB. * Onboard `18650` battery holder, `lithium battery protection` and `lithium battery charge and discharge management`. When the power switch is turned on, 3.3V is an uninterruptible power supply, and the ESP32 will not restart due to USB plugging or unplugging. * TypeC interface charging + download debugging, onboard `CH340 fully automatic download` circuit, only need to use TypeC cable to connect to the computer, no additional downloader is required. * Integrated six-axis IMU accelerometer gyroscope (ICM-20600), SHT30 temperature and humidity sensor, PCF8563 independent RTC, infrared receiver/transmitter, light sensor and other sensors, making it a smart home with one board. * **Supported with many source code Demos**, there are currently more than 60 listed, covering various peripherals, WIFI, Ethernet, and LVGL GUI. * **Software and hardware are all open source**: Demo source code-Github, PCB hardware-Lichuang EDA, blog tutorial-CSDN, all cloud updates are synchronized. ![ESP32-combo-3.png]

![ESP32-IOT-KIT-LVGL_1.png]
# Prototype/Patch Suggestions* The hardware has been verified by multiple boards and was finally mass-produced in small batches at JLC. It can be said that the functionality Perfect without bugs. * Supporting Demo library: [Easyio library] (https://github.com/ZhiliangMa/easyio-lib-for-esp32) routines can run perfectly. The PCB source files are open source, and each person can sample for free twice a month at Jialichuang. However, for non-hardware players, it is not recommended to solder by yourself. The cost of purchasing complete board components should already exceed what I have on sale at [Taobao store](https://m.tb.cn/h.fQ3Z7yQ?sm=d91920) price; in addition, due to the varying skills of players, there is a probability of welding failure. * If you choose to weld by yourself, it is recommended to make a steel mesh. It is not expensive and can greatly improve the welding efficiency and reduce the failure probability of hand welding. * [Online Graphical BOM] [Graphic BOM](https://zhiliangma.github.io/easyio-lib-for-esp32/BOM_PCB_ESP32-DEV_rev0.html) * [Communication Q Group] 827686418. Welcome everyone to share the beautiful pictures of hand stickers. ![IMG_0441.JPG]

![esp32-lceda.jpg]

![esp32-ibom.jpg]
# Easyio open source driver library* `Easyio` is an `open source driver library` adapted to the `ESP-IDF` framework to support the easy development of `ESP32`. Its purpose is to greatly simplify the use of Espressif's `ESP-IDF` development framework while maintaining the flexibility of the official SDK. (If it is convenient, there are open source Arduino and Platform that can be used, but sometimes it is mandatory to use the original `ESP-IDF` at work or other occasions. After all, it has to be connected to FAE. So the idea of making `Easyio` came up) Function On, `Easyio` has begun to take shape, currently covering the following drivers: * LED, GPIO (+interrupt) * Buttons (queue mode, almost unlimited number), touch buttons * ADC (8 channels), DAC (2 channels) * LEDc, PWM (+ input capture), PCNT (encoder count) * RMT infrared, RMT-WS2812B-RGB strip * UART, RS485 * I2C_TOOLS, I2C_MPU6050, I2C_AHT20 * SPI LCD screen (supports `ST7735`, `ST7735S` , `ST7789V`, `ILI9341`, `ILI9488`, `ILI9481`, `ST7796S`, `HX8357C` 8 ICs, covering most LCD modules below 3.5 inches) * SPI_AS5047P/TLE5012B magnetic encoder. * FT5/6xxx capacitive touch screen. * FATFS, NVS, VFS, SD_CARD (SPI mode, 1/4-line SDIO mode). * jpg decoding (TJpgDec) * LCD can refresh the screen in the way of `SPI-DMA double buffered ring queue`. (320x240 resolution, RGB565, SPI communicates at `80MHz` rate, maximum refresh frame rate `53FPS`; 40MHz can also have `30.2FPS`. Currently DMA acceleration only perfectly supports `ILI9341` and `ST7789V` two driver ICs model's screen) *LCD display fluctuating animation. * mbedtls encryption algorithm library. * WIFI TCP, UDP, HTTP, MQTT, SNTP, SCAN Demo. * cJson synthesis and analysis. * MQTT Alibaba Cloud IoT device connection certification. * `WIFI network configuration`: SmartConfig, EspTouch, AirKiss, and Blufi are all available. I will take the time to add the WEB network configuration in the future. *LAN8720 wired Ethernet. Also supports `IP101`, `DP83848`, `RTL8201` and `DM9051`. * LVGL has only forked the official Demo for the time being, and modified the sdkconfig to adapt it to the `ST7789V` + `FT6236U` single-point capacitive screen of the development board. A large number of demos will be completed in the future to demonstrate the use of its controls and functions. * LVGL_v8 `GUI` is available, the fluency is greatly improved compared to v7, and it can better adapt to the v8 simulator. * Bluetooth to be continued... * OTA may be better, it can run and be used, but it is very troublesome to integrate into the library. Space is limited, more details can be found on Github: [Easyio library](https://github.com/ZhiliangMa/easyio-lib-for-esp32) CSDN blog post: [ESP32 ESP-IDF development environment construction](https:// blog.csdn.net/Mark_md/article/details/120132945?ops_request_misc=%7B%22request%5Fid%22%3A%22164191757816780269884513%22%2C%22scm%22%3A%2220140713.130102334.pc %5Fblog.%22%7D&request_id= 164191757816780269884513&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-2-120132945.nonecase&utm_term=easyio&spm=1018.2226.3001. 4450) ![Easyio-code.jpg] 
ESP32-env-build. jpg]
# Information, source code, finished hardware acquisition, communication method *
Demo source code : [Easyio library](https://github.com/ZhiliangMa/easyio-lib-for-esp32) *
LVGL GUI supporting Demo : [LVGL v7 supporting Demo](https://github.com/ZhiliangMa/lvgl_v8_esp32) [LVGL v8 supporting Demo](https://github.com/ZhiliangMa/lv_port_esp32_iot_kit) *
CSDN blog tutorial : [ESP32 ESP-IDF development environment construction](https ://blog.csdn.net/Mark_md/article/details/120132945) *
There are also finished hardware on sale , eliminating the trouble of hand-soldering when purchasing samples: [My Taobao store, basic 149, fully equipped with 218] (https: //item.taobao.com/item.htm?spm=a230r.1.14.148.152985f9owK5fr&id=667374831096&ns=1&abbucket=16#detail) The link is easily swallowed by review. If it cannot be opened, please search the store `Xinyuan Yima` in TB. *
Single 2.0-inch capacitive touch screen purchase link: [2.0-inch ST7789V+FT6236U single-point capacitive touch screen IPS LCD module 240x320](https://item.taobao.com/item.htm?spm=2013.1.20141001.1.57aa47f7hgLIKv&id=666196880906&scm=1007.12144.952 20.42296_0_0&pvid=cf8354ca-82fe -46fd-aac4-9de0bca0016c&utparam=%7B%22x_hestia_source%22:%2242296%22,%22x_object_type%22:%22item%22,%22x_hestia_subsource%22:%22default%22,%22x_mt%22:0,%22x_src%22 :%2242296%22,%22x_pos%22:1,%22wh_pid%22:-1,%22x_pvid%22:%22cf8354ca-82fe-46fd-aac4-9de0bca0016c%22,%22scm%22:%221007.12144.95220.42296_0_ 0% 22,%22x_object_id%22:666196880906%7D) **Open source learning exchange Q group**: 827686418 In order to block some advertisements and idiotic content, please indicate the source when joining the group. Such as Lichuang, oshwhub, github, csdn, Taobao customers. ![Q group 827686418-ESP32 fully open source Easyio IoT learning exchange station group chat QR code.png]

The development environment is mainly `ESP-IDF`. Arduino is easier to get started and you can also communicate in the group. ESP-IDF V4.2. Supported LVGLv7, v8 GUI Demo.
![ESP32-IOT-KIT-LVGL_1.png]

The GIF is too big to be uploaded. Please check Github. [LVGL v7 supporting Demo](https://github.com/ZhiliangMa/lvgl_v8_esp32) [LVGL v8 supporting Demo](https://github.com/ZhiliangMa/lv_port_esp32_iot_kit)
# Follow, like, collect, join the group* See Officials' attention, likes, and collections are the motivation for me to update. I will continue to improve the following tutorials and resources. I hope you don't be stingy with the likes. No official behind the pigeons is innocent. * Click to follow to avoid getting lost, click to collect to avoid being confused. * If you join the group for communication, you may receive samples of previous debugging or future works, **[ESP32 open source learning and communication Q group]**: 827686418. * In order to block some advertisements and idiotic content, please indicate the source when joining the group. Such as Lichuang, oshwhub, github, csdn, Taobao customers. # Not much to say about beautiful pictures, hurry up and make proofs. There are only two weeks left for the Chinese New Year. I wish you all a happy new year and good luck in the Year of the Tiger. Post some beautiful pictures of rendering and debugging. ![esp32_black_3PointLight4K.122.jpg]

![esp32-iot-kit-modify.30.png]

![esp32-iot-kit-modify.31.png]

![esp32-iot-kit-modify.42.png]

![ESP32-combo-3.png]

![ST7789V+FT6236U-7.JPG]

![ST7789V+FT6236U-8.JPG]

![ST7789V+FT6236U-5.jpg]