LILYGO T-2CAN is a high-performance, industrial-grade ESP32-S3 controller engineered for robust and reliable CAN FD communication in mission-critical environments. With dual isolated CAN FD ports and support for 12–24V wide-range DC input, it’s purpose-built for demanding applications such as:
-  
🚗 Automotive diagnostics and real-time vehicle bus monitoring
 -  
🏭 Industrial automation, PLC integration, and sensor control
 -  
🚜 Heavy equipment telemetry and remote system management
 
Powered by the ESP32-S3 dual-core processor, the T-2CAN combines MCP2515 CAN controllers, a QWIIC expansion interface, and advanced wireless connectivity (Wi-Fi + BLE) to deliver secure data transmission, modular sensor integration, and seamless cloud synchronization across complex IoT networks.
✨ Key Features of LILYGO T-2CAN
- 🔌 Dual CAN FD ports with electrical isolation for enhanced safety and signal integrity
 - 📡 ESP32-S3 MCU with integrated Wi-Fi 802.11 b/g/n and BLE 5 for wireless control and cloud sync
 - 💾 16MB Flash + 8MB PSRAM for multitasking, buffering, and high-speed data logging
 - 🧰 QWIIC connector for seamless sensor integration and modular expansion
 - 🛠️ BOOT + Reset buttons for firmware flashing and debugging
 - ⚡ DC 5–12V or USB power input for flexible deployment in field or lab
 - 💻 Compatible with Arduino IDE, PlatformIO, and VS Code for rapid development
 
📐 Technical Specifications
| MCU | ESP32-S3 Dual-core LX7 | 
| Wireless | 2.4GHz Wi-Fi (802.11 b/g/n), BLE 5 | 
| Flash | 16MB | 
| PSRAM | 8MB | 
| Development | Arduino IDE, PlatformIO, VS Code | 
| Power & Debug | BOOT + Reset, DC 5–12V, USB Power + Debug Port | 
🛠️ Tech Support & Resources
- ℹ️ T-2CAN GitHub Repository — Sample code, schematics, and firmware documentation
 - 💻 LILYGO Technical Support — Join the community and get help directly from engineers
 - 🧩 LILYGO Hardware Schematics — Access detailed circuit diagrams and board layouts to support hardware-level integration and customization
 -  
For pin definitions, please refer to the configuration file: pin_config.h
 
🚀Applications
-  
Automotive Diagnostics & CAN Bus Monitoring Ideal for OBD-II, UDS, and J1939 protocol analysis in vehicle systems.
 -  
Industrial Automation & Sensor Networks Seamlessly integrates with PLCs, Modbus devices, and QWIIC-compatible sensors for real-time control.
 -  
Heavy Machinery Telemetry & Remote Monitoring Enables secure data logging and wireless communication in rugged field environments.
 -  
Smart Agriculture & Environmental Sensing Supports LoRa/CAN-based sensor deployment for soil, weather, and equipment tracking.
 -  
Robotics & Edge Computing Combines dual CAN FD with Wi-Fi/BLE for decentralized control and cloud sync in robotics platforms.
 
📦 What's In The Box
FAQ
When I open the Arduino IDE, it prompts me to update library files. Should I update them?
It's recommended not to update the library files. Different versions may not be compatible with each other, which could lead to unexpected issues.
There's no serial output on the "Uart" interface of my board. Is the board defective?
No, the board is not defective. By default, the project uses the USB interface as Uart0 for serial debugging. The "Uart" pins are connected to Uart0, but they won’t output data unless reconfigured.
For PlatformIO users, open the "platformio.ini" file and change the line under "build_flags" from "-D ARDUINO_USB_CDC_ON_BOOT=true" to "-D ARDUINO_USB_CDC_ON_BOOT=false" to enable the external "Uart" interface. For Arduino IDE users, go to the "Tools" menu and set "USB CDC On Boot" to "Disabled" to activate the external "Uart" pins.
My board keeps failing to upload the program. What should I do?
Press and hold the "BOOT-0" button while trying to upload the program. This will force the board into download mode and should resolve the issue.