Part 1
요약·해설
Wireless Stick Lite V3는 240MHz ESP32-S3, SX1262 LoRa, CP2102와 USB-C를 제공합니다.

ESP32-S3FN8 · 240MHz
Semtech SX1262
UART · I2C · CAN · PWM
Part 2
접을 수 있는 영어 원문 전체
영어 원문 전체 펼치기
39A6E133E180E09EB9E61F859615FFA7AB9AB8DF622F034D801F736B19BF7BF2
.. heltec_wireless_stick_lite_v3:
HelTec Wireless Stick Lite (V3)
###############################
Overview
********
HelTec Wireless Stick Lite (V3) is a development board with Wi-Fi, Bluetooth and LoRa support. It is designed and produced by HelTec Automation(TM). [1]_
.. figure:: ../../../../../../../boards/heltec/heltec_wireless_stick_lite_v3/doc/heltec_wireless_stick_lite_v3.webp
:width: 400px
:align: center
:alt: HelTec Wireless Stick Lite (V3)
HelTec Wireless Stick Lite (V3) (Credit: Chengdu HelTec Automation Technology Co., Ltd.)
Hardware
********
The main hardware features are:
- ESP32-S3FN8 low-power MCU-based SoC (dual-core Xtensa® 32-bit LX7 microprocessor, five stage pipeline rack Structure, main frequency up to 240 MHz).
- Semtech SX1262 LoRa node chip
- Type-C USB interface with a complete voltage regulator, ESD protection, short circuit protection, RF shielding, and other protection measures (note: you need an USB-A to USB-C cable if you want to power-up the board from USB).
- Onboard SH1.25-2 battery interface, integrated lithium battery management system (charge and discharge management, overcharge protection, battery power detection, USB / battery power automatic switching).
- Integrated WiFi and Bluetooth interfaces with 2.4GHz metal spring antenna and reserved IPEX (U.FL) interface for LoRa use.
- Integrated CP2102 USB to serial port chip, convenient for program downloading, debugging information printing.
- Good RF circuit design and low-power design.
Supported Features
==================
- LoRa via SPI
- UART0 (USB Serial via CP2102)
- UART1
- I2C
- CAN (optional, need to enable)
- PWM LED
- User Switch / Button
Connections and IOs
===================
.. figure:: ../../../../../../../boards/heltec/heltec_wireless_stick_lite_v3/doc/heltec_wireless_stick_lite_v3_pinout.webp
:width: 600px
:align: center
:alt: HelTec Wireless Stick Lite (V3) Pinout
Pinout (Credit: Chengdu HelTec Automation Technology Co., Ltd.)
.. table:: HelTec Wireless Stick Lite (V3) Pinout
:widths: auto
+--------+---------+-----------------------------+
| Header | Function| Description |
+========+=========+=============================+
| J2.1 | Ve | |
+--------+---------+-----------------------------+
| J2.2 | GND | |
+--------+---------+-----------------------------+
| J2.3 | | |
+--------+---------+-----------------------------+
| J2.4 | U0RXD | Zephyr Console+Shell |
+--------+---------+-----------------------------+
| J2.5 | U0TXD | Zephyr Console+Shell |
+--------+---------+-----------------------------+
| J2.6 | | |
+--------+---------+-----------------------------+
| J2.7 | | |
+--------+---------+-----------------------------+
| J2.8 | GPIO35 | PWM LED Control |
+--------+---------+-----------------------------+
| J2.9 | GPIO36 | Vext Control |
+--------+---------+-----------------------------+
| J2.10 | GPIO37 | ADC Control |
+--------+---------+-----------------------------+
| J2.11 | | |
+--------+---------+-----------------------------+
| J2.12 | GPIO39 | |
+--------+---------+-----------------------------+
| J2.13 | GPIO40 | |
+--------+---------+-----------------------------+
| J2.14 | GPIO41 | |
+--------+---------+-----------------------------+
| J2.15 | GPIO42 | |
+--------+---------+-----------------------------+
| J2.16 | GPIO45 | |
+--------+---------+-----------------------------+
| J2.17 | GPIO46 | |
+--------+---------+-----------------------------+
| J2.18 | ADC1_CH0| Battery Voltage Measurement |
+--------+---------+-----------------------------+
| J2.19 | | |
+--------+---------+-----------------------------+
| J2.20 | | |
+--------+---------+-----------------------------+
| J3.1 | 5V | |
+--------+---------+-----------------------------+
| J3.2 | 3V3 | |
+--------+---------+-----------------------------+
| J3.3 | GND | |
+--------+---------+-----------------------------+
| J3.4 | GPIO47 | |
+--------+---------+-----------------------------+
| J3.5 | GPIO48 | |
+--------+---------+-----------------------------+
| J3.6 | GPIO0 | User Switch |
+--------+---------+-----------------------------+
| J3.7 | | |
+--------+---------+-----------------------------+
| J3.8 | | |
+--------+---------+-----------------------------+
| J3.9 | U1RXD | UART 1 |
+--------+---------+-----------------------------+
| J3.10 | GPIO21 | |
+--------+---------+-----------------------------+
| J3.11 | | |
+--------+---------+-----------------------------+
| J3.12 | U1TXD | UART 1 |
+--------+---------+-----------------------------+
| J3.13 | | |
+--------+---------+-----------------------------+
| J3.14 | NC | Reset Switch |
+--------+---------+-----------------------------+
| J3.15 | | |
+--------+---------+-----------------------------+
| J3.16 | | |
+--------+---------+-----------------------------+
| J3.17 | | |
+--------+---------+-----------------------------+
| J3.18 | | |
+--------+---------+-----------------------------+
| J3.19 | TWAI_TX | CAN (optional) |
+--------+---------+-----------------------------+
| J3.20 | TWAI_RX | CAN (optional) |
+--------+---------+-----------------------------+
System requirements
*******************
Prerequisites
=============
Espressif HAL requires WiFi and Bluetooth binary blobs in order work. Run the command
below to retrieve those files.
.. code-block:: console
west blobs fetch hal_espressif
.. note::
It is recommended running the command above after :file:`west update`.
Programming and Debugging
*************************
Simple boot
===========
The board could be loaded using the single binary image, without 2nd stage bootloader.
It is the default option when building the application without additional configuration.
.. note::
Simple boot does not provide any security features nor OTA updates.
MCUboot bootloader
==================
User may choose to use MCUboot bootloader instead. In that case the bootloader
must be build (and flash) at least once.
There are two options to be used when building an application:
1. Sysbuild
2. Manual build
.. note::
User can select the MCUboot bootloader by adding the following line
to the board default configuration file.
.. code:: cfg
CONFIG_BOOTLOADER_MCUBOOT=y
Sysbuild
========
The sysbuild makes possible to build and flash all necessary images needed to
bootstrap the board with the EPS32-S3 SoC.
To build the sample application using sysbuild use the command:
.. zephyr-app-commands::
:tool: west
:app: samples/hello_world
:board: heltec_wireless_stick_lite_v3
:goals: build
:west-args: --sysbuild
:compact:
By default, the ESP32S3 sysbuild creates bootloader (MCUboot) and application
images. But it can be configured to create other kind of images.
Build directory structure created by sysbuild is different from traditional
Zephyr build. Output is structured by the domain subdirectories:
.. code-block::
build/
├── hello_world
│ └── zephyr
│ ├── zephyr.elf
│ └── zephyr.bin
├── mcuboot
│ └── zephyr
│ ├── zephyr.elf
│ └── zephyr.bin
└── domains.yaml
.. note::
With ``--sysbuild`` option the bootloader will be re-build and re-flash
every time the pristine build is used.
For more information about the system build please read the :ref:`sysbuild` documentation.
Manual build
============
During the development cycle, it is intended to build & flash as quickly possible.
For that reason, images can be build one at a time using traditional build.
The instructions following are relevant for both manual build and sysbuild.
The only difference is the structure of the build directory.
.. note::
Remember that bootloader (MCUboot) needs to be flash at least once.
Build and flash applications as usual (see :ref:`build_an_application` and
:ref:`application_run` for more details).
.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: heltec_wireless_stick_lite_v3/esp32s3/procpu
:goals: build
The usual ``flash`` target will work with the ``heltec_wireless_stick_lite_v3`` board
configuration. Here is an example for the :ref:`hello_world`
application.
.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: heltec_wireless_stick_lite_v3/esp32s3/procpu
:goals: flash
Open the serial monitor using the following command:
.. code-block:: shell
west espressif monitor
After the board has automatically reset and booted, you should see the following
message in the monitor:
.. code-block:: console
***** Booting Zephyr OS vx.x.x-xxx-gxxxxxxxxxxxx *****
Hello World! heltec_wireless_stick_lite_v3
Debugging
=========
As with much custom hardware, the ESP32S3 modules require patches to
OpenOCD that are not upstreamed yet. Espressif maintains their own fork of
the project. The custom OpenOCD can be obtained at `OpenOCD ESP32`_
The Zephyr SDK uses a bundled version of OpenOCD by default. You can overwrite that behavior by adding the
``-DOPENOCD=<path/to/bin/openocd> -DOPENOCD_DEFAULT_PATH=<path/to/openocd/share/openocd/scripts>``
parameter when building.
Here is an example for building the :ref:`hello_world` application.
.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: heltec_wireless_stick_lite_v3/esp32s3/procpu
:goals: build flash
:gen-args: -DOPENOCD=<path/to/bin/openocd> -DOPENOCD_DEFAULT_PATH=<path/to/openocd/share/openocd/scripts>
You can debug an application in the usual way. Here is an example for the :ref:`hello_world` application.
.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: heltec_wireless_stick_lite_v3/esp32s3/procpu
:goals: debug
References
**********
- `Heltec Wireless Stick Lite (v3) Pinout Diagram <https://resource.heltec.cn/download/Wireless_Stick_Lite_V3/HTIT-WSL_V3.png>`_
- `Heltec Wireless Stick Lite (v3) Schematic Diagrams <https://resource.heltec.cn/download/Wireless_Stick_Lite_V3/HTIT-WSL_V3_Schematic_Diagram.pdf>`_
- `ESP-IDF Programming Guide <https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/api-reference/index.html>`_
- `esptool documentation <https://github.com/espressif/esptool/blob/master/README.md>`_
- `OpenOCD ESP32 <https://github.com/espressif/openocd-esp32/releases>`_
.. [1] https://heltec.org/project/wireless-stick-lite-v2/
Part 3
한국어 전문 번역
개요
HelTec Wireless Stick Lite V3는 Wi-Fi, Bluetooth와 LoRa를 지원하는 HelTec Automation development board입니다.

Hardware
- 최대 240MHz dual-core Xtensa 32-bit LX7 microprocessor와 five-stage pipeline을 갖춘 ESP32-S3FN8 low-power SoC
- Semtech SX1262 LoRa node chip
- Voltage regulator, ESD·short-circuit protection, RF shielding을 갖춘 Type-C USB interface. USB 전원에는 USB-A to USB-C cable이 필요합니다.
- Charge/discharge management, overcharge protection, battery detection, USB/battery automatic switching을 갖춘 SH1.25-2 battery interface
- 2.4GHz metal spring antenna를 사용하는 WiFi·Bluetooth와 LoRa용 IPEX(U.FL) interface
- Programming과 debug output용 CP2102 USB-to-serial chip
- RF와 low-power를 고려한 circuit design
지원 기능
- SPI를 통한 LoRa
- CP2102 USB serial을 통한 UART0
- UART1
- I2C
- Optional CAN(별도 enable 필요)
- PWM LED
- User switch/button
Connection과 I/O

| Header | Function | Description |
|---|---|---|
| J2.1 | Ve | |
| J2.2 | GND | |
| J2.3 | ||
| J2.4 | U0RXD | Zephyr Console+Shell |
| J2.5 | U0TXD | Zephyr Console+Shell |
| J2.6 | ||
| J2.7 | ||
| J2.8 | GPIO35 | PWM LED Control |
| J2.9 | GPIO36 | Vext Control |
| J2.10 | GPIO37 | ADC Control |
| J2.11 | ||
| J2.12 | GPIO39 | |
| J2.13 | GPIO40 | |
| J2.14 | GPIO41 | |
| J2.15 | GPIO42 | |
| J2.16 | GPIO45 | |
| J2.17 | GPIO46 | |
| J2.18 | ADC1_CH0 | Battery Voltage Measurement |
| J2.19 | ||
| J2.20 | ||
| J3.1 | 5V | |
| J3.2 | 3V3 | |
| J3.3 | GND | |
| J3.4 | GPIO47 | |
| J3.5 | GPIO48 | |
| J3.6 | GPIO0 | User Switch |
| J3.7 | ||
| J3.8 | ||
| J3.9 | U1RXD | UART 1 |
| J3.10 | GPIO21 | |
| J3.11 | ||
| J3.12 | U1TXD | UART 1 |
| J3.13 | ||
| J3.14 | NC | Reset Switch |
| J3.15 | ||
| J3.16 | ||
| J3.17 | ||
| J3.18 | ||
| J3.19 | TWAI_TX | CAN (optional) |
| J3.20 | TWAI_RX | CAN (optional) |
System requirement
Prerequisite
Espressif HAL이 동작하려면 WiFi와 Bluetooth binary blob이 필요합니다. 다음 명령으로 file을 가져옵니다.
west blobs fetch hal_espressif
Build와 Flash
Simple boot
Second-stage bootloader 없이 single binary image로 board를 load할 수 있으며 추가 configuration 없이 application을 build할 때의 default입니다.
MCUboot bootloader
MCUboot를 선택할 수도 있으며 이 경우 bootloader를 적어도 한 번 build하고 flash해야 합니다. Application build 방식은 Sysbuild와 manual build 두 가지입니다.
Board default configuration file에 다음 line을 추가하면 MCUboot를 선택할 수 있습니다.
CONFIG_BOOTLOADER_MCUBOOT=y
Sysbuild
Sysbuild는 ESP32-S3 SoC board를 bootstrap하는 데 필요한 모든 image를 함께 build하고 flash할 수 있게 합니다.
west build -b heltec_wireless_stick_lite_v3 --sysbuild samples/hello_worldDefault sysbuild는 MCUboot와 application image를 만들며 다른 image도 만들도록 구성할 수 있습니다. Output은 domain subdirectory별로 구성됩니다.
build/
├── hello_world
│ └── zephyr
│ ├── zephyr.elf
│ └── zephyr.bin
├── mcuboot
│ └── zephyr
│ ├── zephyr.elf
│ └── zephyr.bin
└── domains.yaml자세한 내용은 Zephyr sysbuild 문서를 참조하십시오.
Manual build
Development cycle에서는 image를 하나씩 전통적인 방식으로 build해 build·flash 시간을 줄일 수 있습니다. 이후 절차는 manual build와 sysbuild 모두에 적용되며 build directory 구조만 다릅니다.
west build -b heltec_wireless_stick_lite_v3/esp32s3/procpu samples/hello_world일반 flash target을 사용할 수 있습니다.
west flashSerial monitor를 엽니다.
west espressif monitorBoard가 자동으로 reset·boot하면 다음 message가 표시되어야 합니다.
***** Booting Zephyr OS vx.x.x-xxx-gxxxxxxxxxxxx *****
Hello World! heltec_wireless_stick_lite_v3
Debugging
ESP32-S3 module에는 upstream에 아직 포함되지 않은 OpenOCD patch가 필요합니다. Espressif가 관리하는 OpenOCD ESP32 fork를 사용할 수 있습니다.
Zephyr SDK는 bundled OpenOCD를 기본으로 사용합니다. Build 때 다음 parameter로 custom OpenOCD binary와 script path를 지정할 수 있습니다.
west build -b heltec_wireless_stick_lite_v3/esp32s3/procpu samples/hello_world -- -DOPENOCD=<path/to/bin/openocd> -DOPENOCD_DEFAULT_PATH=<path/to/openocd/share/openocd/scripts>Application은 일반적인 방법으로 debug할 수 있습니다.
west debug
참고 자료
Source
출처
영어 원문에는 문단, 문서 지시문, 표, 코드, 코드 심벌, 경로를 그대로 보존했습니다.