Tough
SKU:K034
Description
Tough is an industrial-grade programmable embedded controller. It is equipped with the Espressif ESP32 main control chip, which integrates Wi-Fi and features a dual-core low-power Xtensa® 32-bit LX6 microprocessor with a main frequency of up to 240MHz. The board includes 8M PSRAM + 16M FLASH memory, a 2.0-inch 320x240 full-color IPS display, a high-sensitivity capacitive touch panel, and a variety of peripheral and expansion interfaces. The fully enclosed casing offers dustproof and waterproof protection, ensuring stable circuit operation even in complex industrial environments. This controller is suitable for scenarios such as industrial field control, smart buildings, and outdoor data acquisition nodes.
Quick Start
This tutorial introduces how to program and control the Tough device using the Arduino IDE.
This tutorial introduces how to control the Tough device using the UiFlow1 graphical programming platform.
This tutorial introduces how to control the Tough device using the UiFlow2 graphical programming platform.
Precautions
Do not immerse the casing in water. This product is not designed for immersion protection.
Product Features
- Structural Design:
- Designed for dust and water resistance, with top and bottom sealed by waterproof O-rings to prevent dust ingress
- Casing made of UV-resistant plastic
- Supports multiple installation methods: screws, straps, magnetic mount, and adhesive backing
- Reserved waterproof openings on top and bottom (M12 specification)
- High Integration:
- ESP32-D0WDQ6-V3
- 16MB Flash + 8MB PSRAM
- Supports low-power mode and timed wakeup
- 2.0-inch 320x240 full-color IPS display with two-point capacitive touch
- NS4168 16-bit I2S amplifier + 1W speaker
- Onboard TFCard slot
- AXP192 power management chip + BM8563 RTC -> Low-power power solution, supports RTC timed wakeup
- Professionally tuned RF circuit for stable and reliable wireless communication
- Strong Expandability:
- Comes with a functional expansion board by default
- Includes 12V to 5V DC-DC buck converter, flexible power supply
- RS485 conversion circuit
- PORT.A, B, C / 3x Grove expansion ports
- Interfaces: RS485 / I2C / GPIO / UART
- Easily integrates with M5Stack's software and hardware ecosystem, plug-and-play sensor expansion
- Low-Code Development:
- Supports UiFlow1 and UiFlow2 graphical programming platforms, with scripting, no compilation, and cloud pushing
- Fully compatible with Arduino IDE, ESP-IDF, PlatformIO, and other mainstream development platforms
- Supports FreeRTOS; with dual-core and multitasking support, enables efficient task logic and program performance optimization
Package Contents
- 1 x Tough
- 1 x USB Type-C cable (1m)
- 1 x 2.5mm hex wrench
- 1 x 1.5mm hex wrench
- 1 x 1.25-2P single-ended terminal wire
- 1 x 1.25-4P single-ended terminal wire
- 1 x Waterproof O-ring
- 1 x HY2.0-4P connector
Application Scenarios
- IoT Controller
- Data Acquisition / Display Terminal
- Timer Controller
Specifications
Specification | Parameter |
SoC | ESP32-D0WDQ6-V3, 240MHz dual core, 600 DMIPS, 520KB SRAM, Wi-Fi |
Flash | 16MB |
PSRAM | 8MB |
Input Voltage | USB (5V @ 500mA) / RS485 interface power input (24V @ 1A) |
Interfaces | Type-C x 1, Grove x 4 (RS485 / I2C / GPIO / UART interfaces) |
IPS LCD | 2.0" 320 x 240 ILI9342C full-color display, max brightness 853 nits |
Touch Controller | CHSC6540 |
Speaker Setup | NS4168 16-bit I2S amplifier + 1W speaker |
RTC Clock Chip | BM8563 |
PMU | AXP192 |
USB Chip | CH9102 USB-TTL serial/programming interface |
TF Card Slot | Supports memory cards up to 16GB |
Antenna | 3D Wi-Fi antenna |
Casing Material | UV-resistant plastic |
Product Dimensions | 76.0 x 58.0 x 41.6 mm |
Product Weight | 117.5 g |
Package Dimensions | 107.0 x 81.4 x 47.7 mm |
Gross Weight | 151.0 g |
Schematic Diagram
Pin Mapping
LCD Screen & TF Card
ESP32-D0WDQ6-V3 | GPIO38 | GPIO23 | GPIO18 | GPIO5 | GPIO15 |
ILI9342C | MISO | MOSI | SCK | CS | DC |
AXP192 | AXP_IO4 | AXP_DC3 | AXP_LDO2 |
ILI9342C | RST | BL | PWR |
ESP32-D0WDQ6-V3 | GPIO38 | GPIO23 | GPIO18 | GPIO4 |
TFCard | MISO | MOSI | SCK | CS |
Cap.Touch
ESP32-D0WDQ6-V3 | GPIO21 | GPIO22 | GPIO39 |
FT6336U | SDA | SCL | INT |
AXP192 | AXP_IO4 |
FT6336U | RST |
Mic & NS4168 Amplifier
ESP32-D0WDQ6-V3 | GPIO12 | GPIO0 | GPIO2 | GPIO34 |
NS4168 | BCLK | LRCK | DATA | |
Mic | | CLK | | DATA |
AXP192 | AXP_IO2 |
NS4168 | SPK_EN |
RTC-BM8563
ESP32-D0WDQ6-V3 | GPIO21 | GPIO22 |
BM8563 | SDA | SCL |
AXP192 | AXP_PWR |
BM8563 | INT |
RS485
M5BUS | GPIO27 | GPIO19 | (DC-DC 12->5V) | GND |
RS485 | RX | TX | 12V | GND |
HY2.0_RESET
M5BUS | EN | GPIO25 | VCC | GND |
RESET | EN | GPIO25 | 5V | GND |
ESP32 ADC/DAC Mappable Pins
ADC1 | ADC2 | DAC1 | DAC2 |
8 channel | 10 channel | 2 channel | 2 channel |
G32-39 | G0/2/4/12-15/25-27 | G25 | G26 |
For more information on pin assignments and pin remapping, please refer to the ESP32 datasheet.
HY2.0-4P
HY2.0-4P | Black | Red | Yellow | White |
PORT.A | GND | 5V | G32 | G33 |
PORT.B | GND | 5V | G26 | G36 |
PORT.C | GND | 5V | G14 | G13 |
Dimensions
Datasheet
Softwares
Arduino
UiFlow1
UiFlow2
USB Driver
Click the link below to download and install the driver for your operating system. If you encounter issues such as failed program downloads (e.g., timeout or "Failed to write to target RAM"), try reinstalling the device driver.
Driver Name | Supported Chip | Download Link |
CH9102_VCP_SER_Windows | CH9102 | Download |
CH9102_VCP_CDC_Windows | CH9102 | Download |
CH9102_VCP_MacOS_v1.7 | CH9102 | Download |
Note
CH9102_VCP_MacOS_v1.7 may display system error messages during installation, but the installation is actually complete and can be ignored.
After installing the driver on macOS, you may see two available ports. Please select the port named wchmodem when using the device.