pdf-icon

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

module size

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.