T-Wristband 编程指南

快速入门

本文档旨在指导用户搭建 T-Wristband 硬件开发的软件环境。

概述

T-Wristband 支持以下功能:

  • ESP32-PICO-D4

  • 9轴数字运动处理器(PMU9250 或者 LSM9DS1)

  • PCF8563 实时时钟芯片

  • 0.96英寸IPS(80 * 160)

  • 120mAh 可充电锂电池

  • TP4054 电池充电芯片

  • TTP223 触摸按键

  • MAX30102(可选)

  • DRV2605(可选)

准备工作

硬件:

  • T-Wristband

  • 烧录器

  • 电脑(Windows、Linux 或 Mac OS)

软件:

  • arduino

  • platformio

安装准备

请先完成工具的安装,具体步骤见下:

arduino-logo

platformio-logo

arduino

platformio

安装串口驱动

因为芯片紧缺和涨价的原因,T-Wristband 的烧录器使用过 cp21xx 或者 ch340。需要根据不同的烧录器,安装对应的驱动程序。

安装依赖库

T-Wristband 需要以下依赖库支持,用户可以用过库管理安装。

备注

libdeps 保存了所需要的依赖库,将 libdeps 目录内所有文件拷贝到 C:\<UserName>\Documents\Arduino\libraries 目录即可。

配置 TFT_eSPI

备注

如果使用 libdeps 目录中库文件,可以跳过这一步

修改 C:\<UserName>\Documents\Arduino\libraries\TFT_eSPI\User_Setup_Select.h 文件:

  • #include <User_Setup.h> 这一行注释掉

  • 找到 #include <User_Setups/Setup26_TTGO_T_Wristband.h> 这一行,取消前面的注释

警告

如果屏幕出现反色的现象,请参考 故障排查

编译例程

打开对应的例程,开发板型号选择 ESP32 Dev Module,其他设置可以保持默认。

警告

T-Wristband 没有使用PSRAM,请勿开启 PSRAM 和调用 PSRAM 相关的功能函数。

烧录器烧录

使用烧录器,通过排线连接到 T-Wristband 。

OTA升级

T-Wristband 因为空间的问题,没有板载 usb to ttl 芯片,使用烧录器烧录需要打开外壳,有一定的不便。 选择 OTA 的方式升级,更加的方便。

  1. 将示例代码中的 ARDUINO_OTA_UPDATE 打开,开启 OTA 升级功能,使用烧录器下载固件。

  2. 触摸按住按钮三秒钟进行 WiFi 重置

  3. 在Arduino IDE端口中选择 T-Wristband 进行空中升级

管脚布局

Name

Pin

TFT Driver

ST7735

TFT_MISO

N/A

TFT_MOSI

19

TFT_SCLK

18

TFT_CS

5

TFT_DC

23

TFT_RST

26

TFT_BL

27

Touchpad

33

Touchpad Power

25

RTC Interrupt

34

Battery ADC

35

I2C_SDA

21

I2C_SCL

22

CHARGE Indication

32

IMU INT1

38

IMU INT2

39

IMU INTM

37

IMU RDY

36

DRV_SDA

15

DRV_SCL

13

MAX3010X_SDA

15

MAX3010X_SCL

13

MAX3010X_IRQ

4

数据手册

硬件参考

示例

LSM9DS1

备注

使用之前,请先安装 快速开始

概况

本文档是 T-Wristband-LSM9DS1 示例说明。用于指导用户如何使用 T-Wristband 的 LSM9DS1 传感器。

Arduino

板子可以选择 ESP32 Dev Module,其他设置可以保持默认。

警告

T-Wristband 没有使用 PSRAM,请勿开启 PSRAM,和调用 PSRAM 的功能函数。

相关功能开关

通过修改 T-Wristband-LSM9DS1.ino 中的相关宏,使能或者失能某些功能。

测试手环的硬件状态是否正常

FACTORY_HW_TEST 宏用于测试手环的硬件状态是否正常,默认关闭。

14// #define FACTORY_HW_TEST
测试 BLE 传输 IMU 数据

ENABLE_BLE_DATA_TRANSMISSION 宏用于测试BLE传输IMU数据示例,默认关闭。

可以使用 nRF ConnectLightBlue 等 APP 进行连接查看数据。

20// #define ENABLE_BLE_DATA_TRANSMISSION
开启 LSM9DS1 传感器功能

ENABLE_SENSOR 宏用于开启 LSM9DS1 传感器功能。默认关闭。

23// #define ENABLE_SENSOR
开启 LSM9DS1 传感器关断模式功能

USE_PROTECTED_MEMBERS 宏用于开启 LSM9DS1 传感器关断模式功能。默认关闭。

37// #define USE_PROTECTED_MEMBERS

备注

使用前请确保你已经将 SparkFun_LSM9DS1_Arduino_Library 三个成员方法更改为共有成员方法,或者直接使用 libdeps 内的库文件。

OTA 更新

ARDUINO_OTA_UPDATE 宏用于开启 OTA 更新功能,默认关闭。

17// #define ARDUINO_OTA_UPDATE

使用说明

触摸按钮当检测到按下则切换功能:

  1. 按下第一次 将查看九轴传感器信息

  2. 按下第二次 将进入深度睡眠

  3. 在深度睡眠中,再次触摸唤醒手环

OTA 更新:

  1. 触摸按住按钮三秒钟,进行 WiFi 重置。

  2. Arduino IDE 端口中选择 T-Wristband 进行空中升级,如下图:

    _images/2.jpg

备注

使能 ARDUINO_OTA_UPDATE 宏 OTA 更新才有效。

数据手册

引脚定义

Name

Pin

TFT Driver

ST7735

TFT_MISO

N/A

TFT_MOSI

19

TFT_SCLK

18

TFT_CS

5

TFT_DC

23

TFT_RST

26

TFT_BL

27

Touchpad

33

Touchpad Power

25

RTC Interrupt

34

Battery ADC

35

I2C_SDA

21

I2C_SCL

22

CHARGE Indication

32

IMU INT1

38

IMU INT2

39

IMU INTM

37

IMU RDY

36

MPU9250

备注

使用之前,请先安装 快速开始

概况

本文档是 T-Wristband-MPU9250 示例说明。用于指导用户如何使用 T-Wristband 的 MPU9250 传感器。

Arduino

板子可以选择 ESP32 Dev Module,其他设置可以保持默认。

警告

T-Wristband 没有使用 PSRAM,请勿开启 PSRAM,和调用 PSRAM 的功能函数。

相关功能开关

通过修改 T-Wristband-MPU9250.ino 中的相关宏,使能或者失能某些功能。

测试手环的硬件状态是否正常

FACTORY_HW_TEST 宏用于测试手环的硬件状态是否正常,默认关闭。

14// #define FACTORY_HW_TEST     //! Test RTC and WiFi scan when enabled
启用 OTA 更新

ARDUINO_OTA_UPDATE 宏用于开启 OTA 更新功能,默认关闭。

17

使用说明

触摸按钮当检测到按下则切换功能:

  1. 按下第一次 将查看九轴传感器信息

  2. 按下第二次 将进入深度睡眠

  3. 在深度睡眠中,再次触摸唤醒手环

OTA 更新:

  1. 触摸按住按钮三秒钟,进行 WiFi 重置。

  2. Arduino IDE 端口中选择 T-Wristband 进行空中升级,如下图:

    _images/2.jpg

备注

使能 ARDUINO_OTA_UPDATE 宏 OTA 更新才有效。

数据手册

引脚定义

Name

Pin

TFT Driver

ST7735

TFT_MISO

N/A

TFT_MOSI

19

TFT_SCLK

18

TFT_CS

5

TFT_DC

23

TFT_RST

26

TFT_BL

27

Touchpad

33

Touchpad Power

25

IMU Interrupt

38

RTC Interrupt

34

Battery ADC

35

VBUS ADC

36

I2C SDA

21

I2C SCL

22

LED and Vibration

4

CHARGE Indication

38

备注

振动模块使用IO4进行驱动,与 LED 合并在一起。

DRV2605

备注

使用之前,请先安装 快速开始

概况

本文档是 T-Wristband-DRV2605 示例说明。用于指导用户如何使用 T-Wristband 的 DRV2605 触觉模块。

Arduino

板子可以选择 ESP32 Dev Module,其他设置可以保持默认。

警告

T-Wristband 没有使用 PSRAM,请勿开启 PSRAM,和调用 PSRAM 的功能函数。

更多心率示例请参考 Adafruit_DRV2605_Library

相关功能开关

通过修改 T-Wristband-DRV2605.ino 中的相关宏,使能或者失能某些功能。

DRV2605 触觉模块

ENABLE_DRV2605 宏用于使能 DRV2605 触觉模块,默认打开。

13#define ENABLE_DRV2605              //Turn on the external haptic module
测试手环的硬件状态是否正常

FACTORY_HW_TEST 宏用于测试手环的硬件状态是否正常,默认关闭。

14#define FACTORY_HW_TEST             //! Test RTC and WiFi scan when enabled
OTA 更新

ARDUINO_OTA_UPDATE 宏用于开启 OTA 更新功能,默认关闭。

15// #define ARDUINO_OTA_UPDATE      //! Enable this line OTA update

使用说明

OTA 更新:

  1. 触摸按住按钮三秒钟,进行 WiFi 重置。

  2. Arduino IDE 端口中选择 T-Wristband 进行空中升级,如下图:

    _images/2.jpg

备注

使能 ARDUINO_OTA_UPDATE 宏 OTA 更新才有效。

数据手册

引脚定义

Name

Pin

DRV_SDA

15

DRV_SCL

13

MAX3010X

备注

使用之前,请先安装 快速开始

概况

本文档是 T-Wristband-MAX3010X 示例说明。用于指导用户如何使用 T-Wristband 的 MAX3010X 传感器。

Arduino

板子可以选择 ESP32 Dev Module,其他设置可以保持默认。

警告

T-Wristband 没有使用 PSRAM,请勿开启 PSRAM,和调用 PSRAM 的功能函数。

更多心率示例请参考 SparkFun_MAX3010x_Sensor_Library

数据手册

引脚定义

Name

Pin

MAX3010X_SDA

15

MAX3010X_SCL

13

MAX3010X_IRQ

4

MAX30208

备注

使用之前,请先安装 快速开始

概况

本文档是 T-Wristband-MAX30208 示例说明。用于指导用户如何使用 T-Wristband 的 MAX30208 传感器。

Arduino

板子可以选择 ESP32 Dev Module,其他设置可以保持默认。

警告

T-Wristband 没有使用 PSRAM,请勿开启 PSRAM,和调用 PSRAM 的功能函数。

相关功能开关

通过修改 T-Wristband-MAX30208.ino 中的相关宏,使能或者失能某些功能。

测试手环的硬件状态是否正常

FACTORY_HW_TEST 宏用于测试手环的硬件状态是否正常,默认关闭。

16// #define FACTORY_HW_TEST     //! Test RTC and WiFi scan when enabled
启用 OTA 更新

ARDUINO_OTA_UPDATE 宏用于开启 OTA 更新功能,默认关闭。

17// #define ARDUINO_OTA_UPDATE      //! Enable this line OTA update

使用说明

OTA 更新:

  1. 触摸按住按钮三秒钟,进行 WiFi 重置。

  2. Arduino IDE 端口中选择 T-Wristband 进行空中升级,如下图:

    _images/2.jpg

备注

使能 ARDUINO_OTA_UPDATE 宏 OTA 更新才有效。

数据手册

引脚定义

Name

Pin

DRV_SDA

15

DRV_SCL

13

故障排查

硬件

新版本屏幕(有绿色标签)需要改变配置

因为供货的问题,新版本的屏幕与旧版本的屏幕的配置有所不同。目前(2022-09-05)出货均为新版本屏幕。

_images/new_version_green_tag.png

对于不同版本的屏幕,需要更改 C:\<UserName>\Documents\Arduino\libraries\TFT_eSPI\User_Setups\Setup26_TTGO_T_Wristband.h 中的宏定义:

  • 新版本屏幕(有绿色标签)

_images/new_version.png
  • 旧版本屏幕

_images/older_version.png

如何区分 LSM9DS1 与MPU9250 传感器?

请看下图板子的右上半部分,进行区分:

_images/3.jpg

Copyrights and Licenses

Software Copyrights

All original source code in this repository is Copyright (C) 2022 LILYGO.

Third Party

Documentation

  • HTML version of the T-Wristband Programming Guide uses the Sphinx theme sphinx_idf_theme, which is Copyright (c) 2013-2020 Dave Snider, Read the Docs. It is licensed under the MIT license.