Skip to main content

W10(LoRa AIOT Dev Kit)

Product display image:

image.png

image.png

Product Introduction

This product is designed to provide the first AIOT hardware development platform for IoT engineers and smart hardware developers, facilitating their needs for debugging software functions, expanding peripheral modules, and testing software performance. 

The product utilizes the currently mainstream ESP32-S3 processor, paired with a LoRa module and a GPS module. It integrates the commonly used WiFi, Bluetooth, and LoRa communication standards in IoT, supports the 850-930MHz frequency band and LoRaWAN protocol, adapts to Mesh networks, and meets the needs of smart cities, industrial control, and other scenarios.

Product Features

  1. Equipped with an Xtensa® 32-bit LX7 dual-core processor with a clock speed of up to 240MHz, featuring built-in WiFi and BLE capabilities. 

  2. Integrated with LoRa and GPS modules, enabling easy communication and data transmission in wireless environments, as well as outdoor positioning and tracking. 

  3. On-board IMU and temperature/humidity sensors for motion detection and environmental monitoring, with wireless synchronization and upload capabilities. 

  4. On-board RTC clock chip for clock, alarm clock, and perpetual calendar functions, also serving as a timestamp standard for wireless communication.

  5. Equipped with an audio Codec chip, compatible with mainstream LCD and OLED displays, enabling easy AI voice intercom and chat functions.

  6. Equipped with a camera interface, supporting OV2640 and OV5640 cameras, for image and video capture, display, and upload.

  7. Equipped with a lithium battery interface, allowing the product to operate normally without USB connection.

  8. Extended IO compatible with Arduino interface, enabling compatibility with various Arduino peripheral modules and accessories

Technical Specifications

Hardware specifications

Functional CategoryFunction Description
Product NameLoRa AIOT Dev Kit
ModelDEVK1.0
Power Supply InterfaceUSB TYPE-C 5V/3A
Main Control ChipESP32-S3R8 Xtensa® 32-bit LX7 dual-core microprocessor, with a clock speed up to 240MHz
LoRa ModuleEBYTE E22-900MM22S supports the 850-930MHz frequency band and LoRaWAN protocol
GPS ModuleQuectel L76K supports multiple satellite systems including GPS, GLONASS, BDS, and QZSS
LCDSupports a 3.5-inch capacitive touch display screen, FPC (SPI+I2C) interface, resolution of 320x480, and 262K colors
Supports 3.5-inch TFT Arduino (LCD) interface display with a resolution of 320*480
Supports a 1.54-inch ISP full-view SPI interface display with a resolution of 240x240 and full-color RGB
Supports a 1.3-inch OLED SPI interface LCD display with a resolution of 128x64 and full-color RGB
Supports a 1.47-inch TFT SPI interface LCD display with a resolution of 172x320 and full-color RGB
CameraSupports OV2640 2 million pixel camera
Support OV5640 5 million pixel camera
Audio codecES8311 is a low-power audio codec chip with 24-bit resolution, supporting sampling frequencies ranging from 8 to 96kHz
Temperature and Humidity SensorSHT41 Temperature: 0 - 75℃, accuracy ±0.2℃; Humidity: 0 - 100%, accuracy ±2%
IMU SensorQMI8658 6-axis MEMS IMU chip, integrating 3-axis gyroscope and 3-axis accelerometer
RTC real-time clockThe PCF85063 RTC calendar chip boasts extremely low power consumption, with a standby current of just 0.25μA
Power ManagementAXP2101 is a highly integrated PMIC, featuring built-in 4-channel DC-DC converters and 1-channel fuel gauge
IO expansion portCompatible with Arduino interface, featuring 2 sets of UART, 1 set of ADC, 1 set of SPI, and 1 set of I2C interfaces
Debugging interface1 set of JTAG interface
USB communication portOne set of USB 2.0 communication interfaces, primarily utilizing the USB CDC function
Button1 reset button, 1 BOOT button
StorageExternal 16MB SPI Flash
Number of layers4 floors
Board materialRF-4 (glass fiber board)
Veneer weight30.8g
Fixed hole spacing73.80*45.00mm
Board size83.40*55.00mm
Operating Temperature-40℃~85℃
Product CertificationFCC、CE、RoHs

Hardware Manual

image.png

NumberResource description
1RESET button, press to restart the device, used for fault recovery and program re-execution
2PH2.0 lithium battery interface, connected to a 3.7V lithium battery via a PH2.0_2PIN connector
3The AXP2101 power management chip is responsible for power distribution, voltage regulation, and power consumption control, ensuring stable power supply to the device
4The audio power amplifier NS4150B can deliver an output power of up to 2.8W under a 4Ω load condition, with a maximum output of 3W
5E22 - 900MM22S LoRa module, based on the SX1262 chip, operates in the 850 - 930MHz frequency band, with a maximum transmission power of 22dBm
6Quectel L76K GPS module supports multiple satellite systems including GPS, GLONASS, BDS, and QZSS
7PH1.25 speaker connector (loudspeaker) interface, used for audio output, supports speakers up to 3W
8SMA socket, connected to LoRa 850~930Mhz antenna
9SMA socket, connected to LoRa 850~930Mhz antenna
10The patch ceramic antenna enables wireless signal (Wi-Fi, Bluetooth) transmission and reception, and can operate without the need for additional external antennas
11ES8311 is a low-power audio codec chip that processes audio signals (encoding and decoding), enabling devices to record and play sound
12Microphone, used for collecting sound signals, enabling recording and voice interaction functions
13ESP32 - S3R8 core controller is a system-on-chip (SoC) integrating Wi-Fi and Bluetooth functions, operating at a frequency of 240MHz, and also incorporates 8MB of pseudo-static random access memory (PSRAM) for extended storage
14The PCF85063 RTC clock chip precisely provides a time reference, enabling devices to have real-time clock functionality
15W25Q128JVSIQ 16MB capacity NOR-Flash memory chip
16TCA9555PWR is a 16-bit I²C/SMBus IO expansion chip that supports voltages ranging from 1.65 to 5.5V. It features interrupt, weak pull-up, and configuration registers
17BOOT button, start mode selection button, often used in conjunction with the reset button, for programming devices
183030 0.6W RGB LED light
19PWR power button, used to control the power-on/off of the device
20SHT41 temperature and humidity sensor, featuring an I²C interface, boasts high accuracy (±0.1°C/±1.5% RH), low power consumption, and a compact size (2.5×2.5×0.9mm)
21QMI8658 six-axis inertial measurement unit (IMU), including 3-axis gyroscope (for measuring angular velocity) and 3-axis accelerometer (for measuring acceleration)
223.5-inch LCD display FPC holder, integrating SPI, I2C, and SDIO interfaces
23Type-C interface, used for device power supply and data transmission

Hardware interface

image.png

image.png

Interface NameImage Position MarkerFunctional Description
USB Type-C interfaceJ9Power supply (5V/3A, supports PD fast charging) and data transmission, USB 2.0 CDC function
LoRa antenna interfaceANT3SMA male-female LoRa 850~930Mhz rod antenna or external antenna
GPS antenna interfaceANT2SMA external screw internal needle GPS active antenna
Lithium battery interfaceCON2 (interface definitions from top to bottom)PH2.0_2PIN connector, input 3.7~4.2V, pin 1 for GND, pin 2 for VBAT+ (battery positive input)
Horn interfaceCON3PH1.25 interface, 1 pin SPK+ (audio output positive), 2 pins SPK- (audio output negative), supports up to 3W speaker
Camera interfaceJ1(CAM FPC)24Pin FPC interface, supporting OV2640/OV5640 cameras, including power, data, and control pins
LCD FPC interfaceJ218Pin FPC interface, supporting 3.5-inch capacitive touch screen, including SPI/SDIO/I2C interfaces and backlight control
IO expansion interfaceJ5/J6/J7/J8Compatible with Arduino standards, including UART, SPI, I2C, GPIO and other pins, supports external module expansion

Product dimensions

Product dimensions image:

image.png

Instructions for Use

Software:Arduino、flash_download_tool

Hardware:

  • W10(LoRa AIOT Dev Kit)

  • USB cable, type A male to type C male, x1

  • Equipped with a 1.54-inch ISP full-view SPI interface display

  • Equipped with PH1.25 interface speaker

  • Equipped with GPS antenna

  • Equipped with LoRa antenna

Xiaozhi AI Application

Firmware flashing

flash_download_tool 

Download the flash_download_tool

https://www.espressif.com.cn/en/tools-type/flash-download-tools

Open the tool program

image.png

Select the type of ESP32-S3

image.png

Select the bin file that needs to be burned, specify to start burning from the 0x00 address, and choose SPI SPEED and SPI MODE. Click START to proceed with the burning

image.png

You can see the burning process on this interface

image.png

Burn completed

image.png

Basic Usage

After the firmware is programmed, a prompt message will be displayed on the display screen

Start the network configuration

  • Connect to the device's WiFi network using a mobile phone or computer: Xiaozhi-xxxxxx. After successful connection, the device's network configuration page will automatically redirect. If it does not redirect automatically, you need to manually open a browser and visit http://192.168.4.1

image-20251230094339353.jpeg

  • On the network configuration page, select the WiFi name (only supports 2.4G, and the maximum compatibility option must be turned on for iPhone hotspots). The SSID will be automatically filled in. Enter the password below, and then click the "Connect" button

    image-20251230094356765.jpeg

  • After successful connection, the device will automatically restart. If it does not restart automatically, you need to manually power on the device again

Add new device to the management backend

  • Ensure that the device is connected to the Internet and a prompt appears asking to add the device with a 6-digit device verification code (which can be repeated to wake up and re-listen)

    image.png

  • Click here to visit the Xiaozhi AI Chatbot - Control Panel backend: https://xiaozhi.me. If you haven't registered, please create an account first

image.png

Login account

image.png

Use the verification code displayed on the screen and being played to proceed with the addition

image.png

  • The device will be automatically activated and displayed on the "Device Management" page, ready for normal use. 

  • Use "Hello, XiaoZhi" to wake up the device, and then you can engage in voice conversations

image.png

Arduino development

Environment setup

Download and install Arduino IDE

Arduino download websit:arduino.cc/en/software

image.png

Follow the installation guide of Arduino software to proceed with the installation and download

Install the ESP32 development board

  • To use ESP32-related boards in the Arduino IDE, you must first install the "esp32 by Espressif Systems" development board software package

  • Install according to the board installation requirements

After opening the software

File - Preferences

image.png

Add the address of the development board manager

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

Select "OK" after completion

image.png

Install the development board

  • Select the Development Board Manager on the left side of the software

  • Search for "esp32" in the search bar

  • Select a version of the development board esp32 by Espressif Systems that is ≥3.2.0 in the version column found in the search results

  • Click to install

image.png

  • Clicking it will result in a similar prompt message appearing in the lower right corner of the software, indicating that the download is pending (please ensure a stable network connection while waiting for the download)

    image.png

  • A successful prompt message will appear after the download is complete

    image.png

  • The word "Installed" will appear when searching again

image.png

Install required libraries

When installing Arduino libraries, there are usually two options to choose from: `online installation` and `offline installation`. 

If the library installation requires offline installation, the provided library file must be used. For most libraries, users can easily search and install them through the online library manager of the Arduino software. 

However, some open-source libraries or custom libraries have not been synchronized to the Arduino library manager, and therefore cannot be obtained through online search. 

In this case, users can only manually install these libraries through offline methods.

The W10 (LoRa AIOT Dev Kit) library file is stored in the example program. Click here to jump to it: (Need to add the example download link)

The library files that need to be downloaded for LoRa AIOT Dev Kit (DEVK1.0) W10 are:

Database nameInstructionsVersionLibrary installation requirements
lvglLVGL graphical libraryv8.4.0"Online" installation
GFX_Library_for_ArduinoGFX graphical libraryv1.5.5"Online" installation
JPEGDECJPG decoding libraryv1.8.2"Online" installation
PNGdecPNG decoding libraryv1.1.3"Online" installation
XPowersLibPNG decoding libraryv0.2.9"Online" installation
SensorLibPNG decoding libraryv0.3.1"Online" installation
ESP32-audioI2S-masterAudio processing libraryv3.3.0"Online" installation
Adafruit MCP23017 Arduino LibraryExtended IO libraryv2.3.2"Online" installation
es8311es8311 driver library---"Online" installation

Steps for downloading library files online:

lvgl

  • Select "LIBRARY MANAGER" in the sidebar

  • Input the name of the library you want to install in the search box, such as **"lvgl"**

  • Select version 8.4.0 in the box

image.png

Installation successful

image.png

GFX_Library_for_Arduino

Select the corresponding version 1.5.5

image.png

Installation process

image.png

Installation successful

image.png

JPEGDEC

Select the corresponding version 1.8.2

image.png

The pop-up prompt message indicates that multiple dependencies need to be installed. Select "Install All"

image.png

Waiting for installation

image.png

Installation successful

image.png

PNGdec

Select the corresponding version 1.1.3

image.png

Waiting for installation

image.png

Installation successful

image.png

XPowersLib

Select the corresponding version 0.2.9

image.png

Waiting for installation

image.png

Installation successful

image.png

SensorLib

Select the corresponding version 0.3.1

image.png

Waiting for installation

image.png

Installation successful

image.png

ESP32-audioI2S-master

Select the corresponding version 3.3.0

image.png

Waiting for installation

image.png

Installation successful

image.png

Adafruit MCP23017 Arduino Library

Select the corresponding version 2.3.2

image.png image.png Waiting for installation

image.png Installation successful

image.png

es8311

This package requires offline installation

First, download the library for es8311

image.png

Place this downloaded library file in the Arduino software library file storage location

Default storage location:

C:\Users(Username)\Documents\Arduino\libraries

image.png

If your location has changed, you can view the location information on your computer through the software

image.png

Instance program

All instances come with source code and pre-packaged bin files, which can be directly programmed using the flash_download_tool or through an online web page。

  • LoRa AIOT Dev Kit Engineering Parameter Configuration

The parameters must be configured according to the information shown in the image for the firmware to be flashed correctly.

image.png

01_Drive AXP2101

Program Description
  • Real-time printing of the working status of AXP2101 PMU, including charging/discharging/standby, as well as VBUS/battery/system voltage and remaining battery capacity
Hardware connection
  • Connect the board to the computer using a USB cable
Operating effect
  • No abnormality on the screen

  • Open the serial port monitor (Baud rate 115200)

image.png

02_Drive ES8311

Program Description
  • This example demonstrates the use of the LoRa AIOT Dev Kit (W10) to drive the ES8311 audio codec, enabling audio recording and playback functions.
Hardware connection
  • Connect the board to the computer using a USB cable

  • Connect CON3 port to the speaker

image.png

Operating effect
  • After the programming is completed, press "boot" to record a 5-second sound, and then play it

  • Open the serial port monitor (Baud rate 115200)

image.png

03_Drive PCF85063

Program Description

● Drive PCF85063, set time and date, and obtain time

Hardware connection

Connect the board to the computer using a USB cable

Operating effect

● No abnormality on the screen

● Open the serial port monitor (Baud rate 115200)

image.png

04_Drive QMI8658

Program Description
  • Drive QMI8658 to obtain and print the temperatures of Accel, Gyro, and IMU
hardware connection
  • Connect the board to the computer using a USB cable
operating effect
  • No phenomenon on the screen

  • Open the serial port monitor

image.png

05_WIFI_AP

Program Description
  • This example allows the development board to be set as a hotspot, enabling mobile phones or other devices in STA mode to connect to the development board
const char *ssid = "W10";
const char *password = "12345678";

SSID: The correspondingly set WiFi name

password: The corresponding WiFi password set

Hardware connection
  • Connect the board to the computer using a USB cable
Operating effect
  • After programming, open the serial terminal. If the mobile phone or computer device successfully connects to the hotspot, the MAC address of the device will be output

Mobile screenshot:

image.png

Serial port monitor status

image.png

06_WIFI_STA

Program Description
  • This example allows the development board to be configured as an STA device, enabling it to connect to a router and thereby access the system network

  • Find the ssid and password in the 07_WIFI_STA.ino file, and then modify them to the SSID and Password of the router available in the current environment.

const char *ssid = "you_ssid"; 
const char *password = "you_password";
Hardware connection
  • Connect the board to the computer using a USB cable
Operating effect
  • After programming, open the serial terminal. If the device successfully connects to the hotspot, it will output the obtained IP address, as shown in the figure:

image.png

07_Driver for Quectel_L76K

Program Description
  • This example can drive the L76K device of the development board

  • Output information such as UTC (Coordinated Universal Time), latitude and longitude, positioning quality, number of satellites, horizontal dilution of precision, and altitude in sequence

Hardware connection
  • Connect the board to the computer using a USB cable

  • Connect the equipped GPS antenna to the ANT2 interface of the board, and the effect is shown in the figure below:

image.png

Operating effect
  • After programming, open the serial terminal

  • If the operating environment is indoors and GPS cannot receive information, the output effect of the serial port terminal will be

image.png

  • If the operating environment is outdoors and GPS can receive information normally, the output effect of the serial port terminal will be

  • The current latitude and longitude format is NMEA format.

image.png

08_Drive SHT41_getdata

Program Description

● Initialize the SHT41 chip through the I2C protocol, and then print the temperature and humidity information read every 3 seconds to the terminal

Hardware connection

● Connect the board to the computer using a USB cable

Operating effect

● Open the serial port monitor to view the temperature and humidity data printed out, as shown in the figure below:

image.png

09_gfx_LoRa AIOT Development Kit!

Program Description
  • This program drives the LCD1.54 screen, displaying "LoRa AIOT Development Kit" on it! and other information
Hardware connection
  • Connect the board to the computer using a USB cable

  • Connect the 1.54-inch LCD screen to the OLED J4 interface of the board

Operating effect
  • After successfully uploading the program, you need to press the RST button on the board to see the displayed text

image.png

10_lvgl_PCF85063

Program Description
  • This example demonstrates how to use the W10(LoRa AIOT Dev Kit) to obtain the time and date data of the PCF85063 and display it through the lvgl library.
Hardware connection
  • Connect the board to the computer using a USB cable

  • Connect the 1.54-inch LCD screen to the OLED J4 interface of the board

Operating effect
  • Serial port monitor:

image.png

Board status:

image.png

11_lvgl_QMI8658

Program Description

This example demonstrates the use of W10 (LoRa AIOT Dev Kit) to obtain data from qmi8658 and display it through the lvgl library.

Hardware connection
  • Connect the board to the computer using a USB cable

  • Connect the 1.54-inch LCD screen to the OLED J4 interface of the board

Operating effect

Serial port monitor:

image.png

Board status:

image.png

12_lvgl_SHT41

Program Description

This example demonstrates the use of W10 (LoRa AIOT Dev Kit) to obtain data from qmi8658 and display it through the lvgl library.

Hardware connection
  • Connect the board to the computer using a USB cable

  • Connect the 1.54-inch LCD screen to the OLED J4 interface of the board

Operating effect

Serial port monitor:

image.png

Board status:

image.png

13_lvgl_AXP2101

Program Description

This example demonstrates the use of W10 (LoRa AIOT Dev Kit) to obtain data from axp2101 and display it through the lvgl library.

Data Description
Numerical nameMeaningNormal range
Battery VoltageBattery voltage (lithium battery)30004200 mV(3.04.2V)
VBUS VoltageVBUS input voltage (external power supply, such as USB/adapter)40005500 mV(45.5V)
System VoltageSystem output voltage (voltage supplied by AXP2101 to the main controller/peripherals)Determined by the configured DC/ALDO/BLDO
Battery PercentPercentage of battery remaining0~100 %
ChargingBattery charging statusYES = charging, NO = not charging
Hardware connection
  • Connect the board to the computer using a USB cable

  • Connect the 1.54-inch LCD screen to the OLED J4 interface of the board

  • Connect the lithium battery to the CON3 interface

Operating effect

Only lithium batteries:

image.png

Lithium battery + USB:

image.png

14_lvgl_LoRa

Program Description

This example demonstrates the use of W10 (LoRa AIOT Dev Kit) to obtain data from E22-900MM22S (LoRa) and display it through the lvgl library.

Hardware connection
  • Connect the board to the computer using a USB cable

  • Connect the 1.54-inch LCD screen to the OLED J4 interface of the board

  • Antenna connected to ANT3 LoRa interface

Operating effect

Single module test: (one device)

  • Check whether the module status is "Connected"

  • Check whether the parameters (frequency, power, mode) are displayed correctly

  • Check whether the TX count increases when sending messages

image.png

Dual-module test: (two devices)

  • One device is in TX mode, while the other is in RX mode

  • Check whether the module status is "Connected"

  • Check whether the parameters (frequency, power, mode) are displayed correctly

  • Check whether the RX count increases when sending messages

  • Check Last: Whether data from 111-999 will be displayed

Mode switching: When pressing RST for reset, entering TX mode without pressing the Boot button; when pressing RST for reset, entering RX mode by holding down the Boot button

image.png

15_comprehensiv_example

Program Description

This example demonstrates the use of W10 (LoRa AIOT Dev Kit) to test whether various devices are functioning properly. It displays IMU, GPS, RTC, and Temp/Hum data on the main page. 

Short-pressing the boot button on the main page enters LoRa's TX transmission mode, while long-pressing the boot button enters LoRa's RX reception mode, and the display is managed through the lvgl library.

Hardware connection
  • Connect the board to the computer using a USB cable

  • Connect the 1.54-inch LCD screen to the OLED J4 interface of the board

  • Antenna connected to ANT3 LORA interface

image.png

Operating effect

Upon programme initiation, the connected display will first present the Sensor Detection interface.

This interface serves to verify the functionality of all peripheral devices.

Speaker: Audio output functionality; upon connection, the speaker will emit three beeps (Speaker: Testing...) indicating normal operation (Speaker: ok).

Subsequent checks will detect each peripheral (Detecting...), displaying “ok” for successful detection or “Failed” for unsuccessful detection.

image.png

After approximately 20 seconds, the display will transition to the Main Screen interface.

This interface displays information for switching between the device's STA ID, IMU, RTC, Temp/Hum, GPS, and LoRa interfaces.

Correct data display interface:

Indoor (no GPS information, as indoor GPS cannot receive satellite data):

image.png

Outdoor open locations (with GPS information), powered by battery or USB:

image.png

This ID on the interface corresponds to each device's STA address, which can be matched with the STA address on the programming tool:

image.pngimage.png

LoRa Functional testing:

📌To view received messages via LoRa, one device must be in transmit mode and another in receive mode (with antennas operating on the same frequency band).

On the Main Screen interface, briefly press the BOOT button to enter LoRa TX (transmit mode).

On the Main Screen interface, briefly press the BOOT button to enter LoRa RX (receive mode).

image.png

After entering separately, the Data displayed on both boards' screens is identical, indicating successful transmission and reception of data.

image.png

In the LoRa Test[TX]  interface, briefly press the Boot button to switch to the Main Screen interface and continue displaying data.

In the LoRa Test[RX] interface, briefly press the Boot button to switch to the LoRa Test[TX] interface.  In the LoRa Test[TX] interface, briefly press the Boot button again to switch to the Main Screen interface.