ESP32-S3-RS485-CAN

From Waveshare Wiki
Jump to: navigation, search
ESP32-S3-RS485-CAN
ESP32-S3-RS485-CAN

RS485, CAN, I2C/GPIO; USB/WiFi/BLE
{{{name2}}}

{{{name3}}}

{{{name4}}}

{{{name5}}}

{{{name6}}}

Introduction

Introduction

ESP32-S3-RS485-CAN is an industrial-grade WiFi wireless communicator based on ESP32-S3 master control that supports WiFi, Bluetooth, RS485, CAN and other peripheral interfaces. It has built-in protection circuits such as power supply isolation and optocoupler isolation, which is safe, stable and reliable, and suitable for the AIoT field.

Features

  • Based on ESP32-S3 microcontroller with Xtensa 32-bit LX7 dual-core processor with frequency up to 240MHz
  • Integrated 2.4GHz WiFi and Bluetooth LE dual-mode wireless communication, with superior RF performance
  • Onboard isolated RS485 interface, for connecting to various RS485 Modbus industrial modules or sensors
  • Onboard USB Type-C port for power supply, firmware downloading and debugging, making development more convenient
  • Onboard power supply screw terminal, allows 7~36V DC wide range input
  • Onboard digital isolation to avoid external signal interference with the control chip
  • Onboard integrated power isolation, providing stable isolation voltage, no extra power supply required for the isolated terminal
  • Onboard power supply, RS485 TX/RX indicator and CAN indicator for easy monitoring of the operating status of the device
  • Rail-mounted ABS protective enclosure, easy to install, safe to use

Specifications

Model ESP32-S3-RS485-CAN
Microcontroller ESP32-S3 (default to ESP32-S3R8 chip, customizable)
Wireless communication 2.4GHz Wi-Fi (802.11 b/g/n), Bluetooth 5 (LE)
USB port Port type USB Type-C
Supply voltage 5V
Function Power supply, USB communication, firmware downloading, etc.
Isolated RS485
communication Interface
Port type Screw terminal
Direction control Set automatic control through main control hardware flow
Interface protection Provide TVS diode protection, surge & ESD protection
Matching resistor NC by default, reserved 120R matching resistor, enabled via jumper
Isolated CAN
communication Interface
Port type Screw terminal
Direction control Hardware automatically discriminates and controls the direction of data transmission
Interface protection Provide TVS diode protection, surge & ESD protection
Matching resistor NC by default, reserved 120R matching resistor, enabled via jumper
Indicator PWR Red power indicator, lights up when connected to USB and voltage is detected
RS485 RS485 indicator:

Green indicator lights up when data is transmitted from the RS485 interface Blue indicator illuminates when data is received from the RS485 interface

CAN CAN indicator , blinks when data communication on the CAN port
Screw terminal power supply Power supply range 7V ~ 36V
Product appearance Case Rail-mounted protective case
Size 91.6 × 23.3 × 58.7 (mm)

Onboard Resources

ESP32-S3-RS485-CAN-details-intro.jpg

①. ESP32-S3
Clock frequency up to 240MHz, with 2.4GHz WiFi and BLE

②. DC-DC power module
Power module, supporting up to 3.3V 2A output

③. Pin header (2.0mm pitch)
Other function modules can be connected via pin header

④. Power supply screw terminal
Support DC 7~36V wide voltage input

⑤. USB Type-C port
For module power supply, firmware downloading and USB communication

⑥. RTC battery header
Connecting the rechargeable RTC battery (SH1.0)

⑦. Patch ceramic antenna
⑧. IPEX Gen 1 connector
Switch to the external antenna via resoldering an onboard resistor

⑨. 16MB Flash
⑩. Digital isolation
Avoid external signal interfering with the control chip

⑪. CAN conversion chip
⑫. LED indicators
PWR: Power indicator
RS485: lights up green when the RS485 port sends data; lights up blue when the RS485 port receives data CAN: blinks during data transmission

⑬. BOOT button
⑭. RESET button
⑮. Power supply isolation
Provides stable isolated voltage, needs no extra power supply for the isolated terminal

⑯. RS485 matching resistor
Onboard reserved 120R matching resistor, enabled via jumper

⑰. CAN matching resistor
Onboard reserved 120R matching resistor, enabled via jumper

⑱. RS485 & CAN communication terminal
For connecting external RS485 and CAN devices

⑲. RTC clock chip
PCF85063 RTC clock

⑳‌‌. DC-DC power chip
㉑. ME6217C33M5G
Low dropout LDO, current (Max) 800mA

㉒. RS485 conversion chip
㉓. TVS (Transient voltage suppressor) diode
Effectively suppresses surge voltage and transient spike voltage in the circuit

Interfaces

ESP32-S3-RS485-CAN-details-17.png

Upper terminal description Lower terminal description
Power supply terminal Power positive: DC 7V ~ 36V RS485 terminal A+ signal pin
Power negative
Type-C For module power supply, firmware downloading and USB communication B- signal pin
SH1.0 GND Ground (GND) CAN terminal H signal pin
3V3 3.3V power output
GPIO2 ESP32-S3 IO pin L signal pin
GPIO1 ESP32-S3 IO pin

ESP32-S3-RS485-CAN-details-15.png

Dimensions

ESP32-S3-RS485-CAN-details-size.jpg

Warning

Warning: This product is intended for lawful development, learning, research, and industrial use only. It is strictly prohibited to connect to any CAN bus for unauthorized cracking, tampering, unlocking, or function hijacking. Such actions may constitute illegal offenses. The user shall bear all legal liability and consequences of any incidents, and the company assumes no responsibility.We also do not provide any technical support for such applications.

Usage Guide

ESP32-S3-RS485-CAN currently provides Arduino IDE development tool and framework, and you can choose the right development tool according to your project needs and personal habits.

Development Tool

270px-Arduino-IDE-logo.jpg

Arduino IDE

Arduino IDE is an open source electronic prototyping platform, convenient and flexible, easy to get started. After a simple learning, you can start to develop quickly. At the same time, Arduino has a large global user community, providing an abundance of open source code, project examples and tutorials, as well as rich library resources, encapsulating complex functions, allowing developers to quickly implement various functions.


Components Preparation

Before operating, it is recommended to browse the table of contents to quickly understand the document structure. For smooth operation, please read the FAQ carefully to understand possible problems in advance. All resources in the document are provided with hyperlinks for easy download.

Working with Arduino

This chapter introduces setting up the Arduino environment, including the Arduino IDE, management of ESP32 boards, installation of related libraries, program compilation and downloading, as well as testing demos. It aims to help users master the development board and facilitate secondary development.
Arduino-flow-04.png

Environment Setup

Download and Install Arduino IDE

  • Click to visit the Arduino official website, select the corresponding system and system bit to download
    ESP32-S3-AMOLED-1.91-Ar-software-01.png
  • Run the installer and install all by default

Install ESP32 Development Board

  • Regarding ESP32-related motherboards used with the Arduino IDE, the esp32 by Espressif Systems library must be installed first.
  • According to Board installation requirement, it is generally recommended to use Install Online. If online installation fails, use Install Offline
  • For the installation tutorial, please refer to Arduino board manager tutorial
  • ESP32-S3-RS485-CAN required development board installation description
Board name Board installation requirement Version number requirement
esp32 by Espressif Systems "Install Offline" / "Install Online" 3.0.x

Install Library

  • When installing Arduino libraries, there are usually two ways to choose from: Install online and Install offline. If the library installation requires offline installation, you must use the provided library file
    For most libraries, users can easily search and install them through the online library manager of the Arduino software. However, some open-source libraries or custom libraries are not synchronized to the Arduino Library Manager, so they cannot be acquired through online searches. In this case, users can only manually install these libraries offline.
  • For library installation tutorial, please refer to Arduino library manager tutorial
  • ESP32-S3-RS485-CAN library file is stored in the demo, click here to jump: ESP32-S3-RS485-CAN Demo
  • ESP32-S3-RS485-CAN library file installation description
Library Name Description Version Library Installation Requirement
ArduinoJson Lightweight JSON library v6.21.4 "Install Online" or "Install Offline"
PubSubClient MQTT message subscription publishing library v2.8.0 "Install Online" or "Install Offline"
NTPClient Network time synchronization client library v3.2.1 "Install Online" or "Install Offline"

Run the First Arduino Demo

If you are just getting started with ESP32 and Arduino, and you don't know how to create, compile, flash, and run Arduino ESP32 programs, then please expand and take a look. Hope it can help you!

New Project

  • Run the Arduino IDE and select File -> New Sketch
    ESP32-S3-AMOLED-1.91-Ar-study-01.png
  • Enter the code:
void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
}

void loop() {
  // put your main code here, to run repeatedly:
  Serial.println("Hello, World!");
  delay(2000);
}
  • Save the project and select File -> Save As.... In the pop-up menu, select the path to save the project, and enter a project name, such as Hello_World, click Save

ESP32-S3-AMOLED-1.91-Ar-study-02.png

Compile and Flash Demos

  • Select the corresponding development board, take the ESP32S3 motherboard as an example:

①. Click to select the dropdown menu option Select Other Board and Port;
②. Search for the required development board model esp32s3 dev module and select;
③. Select COM Port;
④. Save the selection.
ESP32-S3-AMOLED-1.91-Ar-study-03.png

  • If the ESP32S3 mainboard only has a USB port, you need to enable USB CDC, as shown in the following diagram:

ESP32-S3-AMOLED-1.91-Ar-study-04.png

  • Compile and upload the program:

①. Compile the program; ②. Compile and download the program; ③. Download successful.
ESP32-S3-AMOLED-1.91-Ar-study-05.png

  • Open the Serial Monitor window, and the demo will print "Hello World!" every 2 seconds, and the operation is as follows:

ESP32-S3-AMOLED-1.91-Ar-study-06.png

Demo

Demo-flow-01.png

  • ESP32-S3-RS485-CAN demos
Demo Basic Description Dependency Library
01_MAIN_WIFI_AP RS485 interface control, CAN interface control, Bluetooth control, Bluetooth send IP, Web page control (short distance) Can be flashed directly
Web pages are only available if they are connected to device WIFI
02_MAIN_WIFI_STA RS485 interface control, CAN interface control, Bluetooth control, Bluetooth send IP, Web page control (short distance) Need to modify the WIFI network to connect to
Web pages can only be used within the intranet

Arduino Project Parameter Setting

ESP32-S3-16MB-OPI-Parameters.png

01_MAIN_WIFI_AP

Demo Description


  • This example implements the control of RS485 and CAN interfaces through WiFi. The AP mode of WiFi is enabled in this example

Precautions


  • Can be flashed directly
  • Web pages are only available if they are connected to device WIFI

Web Page Control


02_MAIN_WIFI_STA

Demo Description


  • This example implements the control of six relay switches through WiFi, Bluetooth, and RS485. The STA mode of WiFi is enabled in this example

Precautions


  • Need to modify the WIFI network to connect to
  • The Web page only supports controlling the device and this product to be used under the same network, if you use the mobile phone control, you need to turn off the mobile network

Web Page Control


Flash Firmware Flashing and Erasing

  • The current demo provides test firmware, which can be used to test whether the onboard device functions properly by directly flashing the test firmware
  • bin file path:
    ..\ESP32-S3-RS485-CAN\Firmware\Factory bin

Resources

Demo

Schematic

Datasheets

ESP32-S3

Software Tools

Arduino

VScode

Thonny

Debugging Tools

Other Resource Links

Project Resources

This section features third - party project resources. We merely provide links and bear no responsibility for content updates or maintenance. Thank you for your understanding.

Vincent - Demo ComfoSense Touch

     https://github.com/vincentmakes/canbus_hoval


trailcurrentopensource - Waveshare ESP32-S3-RS485-CAN Review

FAQ

 Answer:
  • Change the resistor in the below image from vertical soldering (default) to horizontal soldering.

Photo2.png


 Answer:
  • This product uses ESP32-S3 as the main MCU, so the communication baud rates for both RS485 and CAN can be freely set via software.
  • CAN (TWAI) interface: theoretical rate up to 1 Mbps.
  • RS485 (UART) interface: theoretical UART rate up to 5 Mbps. However, due to the addition of isolation, level shifting, and protection circuits on the board, the actual usable rate will be slightly lower. It is generally recommended to set it within 115200 bps. The exact value should be verified based on the actual communication environment and application.



 Answer:
  • Long press the BOOT button, press RESET at the same time, then release RESET, then release the BOOT button, at this time the module can enter the download mode, which can solve most of the problems that can not be downloaded.


 Answer:
  • It may be due to Flash blank and the USB port is not stable, you can long-press the BOOT button, press RESET at the same time, and then release RESET, and then release the BOOT button, at this time the module can enter the download mode to flash the firmware (demo) to solve the situation.


 Answer:
  • It's normal for the first compilation to be slow, just be patient


 Answer:
  • If there is a reset button on the development board, press the reset button; if there is no reset button, please power it on again


 Answer:
  • Some AppData folders are hidden by default and can be set to show.
  • English system: Explorer->View->Check "Hidden items"
  • Chinese system: File Explorer -> View -> Display -> Check "Hidden Items"


 Answer:
  • Windows system:

①View through Device Manager: Press the Windows + R keys to open the "Run" dialog box; input devmgmt.msc and press Enter to open the Device Manager; expand the "Ports (COM and LPT)" section, where all COM ports and their current statuses will be listed.
②Use the command prompt to view: Open the Command Prompt (CMD), enter the "mode" command, which will display status information for all COM ports.
③Check hardware connections: If you have already connected external devices to the COM port, the device usually occupies a port number, which can be determined by checking the connected hardware.

  • Linux system:

①Use the dmesg command to view: Open the terminal.
①Use the ls command to view: Enter ls /dev/ttyS* or ls /dev/ttyUSB* to list all serial port devices.
③Use the setserial command to view: Enter setserial -g /dev/ttyS* to view the configuration information of all serial port devices.



 Answer:
  • Check the schematic diagram for different development boards with Type-C interfaces, and handle the output accordingly:
    • For development boards with direct USB output, printf function is supported for printing output. If you want to support output via the Serial function, you will need to enable the USB CDC On Boot feature or declare HWCDC.
    • For development boards with UART to USB conversion, both printf and Serial functions are supported for printing output, and there is no need to enable USB CDC On Boot.


 Answer:
  • The factory demo is for learning only, if it is used for practical application, please optimize the demo logic by yourself.


 Answer:
  • Please move the jumper cap to 120R and try again. Some RS485 devices require a 120R resistor to be connected in series



Support



Technical Support

If you need technical support or have any feedback/review, please click the Submit Now button to submit a ticket, Our support team will check and reply to you within 1 to 2 working days. Please be patient as we make every effort to help you to resolve the issue.
Working Time: 9 AM - 6 PM GMT+8 (Monday to Friday)