Store

Little Bird

$24.49 |
Out of stock
No reviews yet

Description COMMU is a Muti-Communication-Interface-Converter. Integrated with 2IIC, 1TTL, 1CAN, 1RS485. Apparently COMMU has packed with most of ser...

Get notified when back in stock

Qty
Estimated Delivery
Arrives
Disclaimer
View Markdown
Secure checkout
Description

COMMU is a Muti-Communication-Interface-Converter. Integrated with 2IIC, 1TTL, 1CAN, 1RS485. Apparently COMMU has packed with most of series communications.

Default connection: TTL - UART0, RS485 - UART2. Since ESP32 pin map is allowed for re-assign, you can re-assign or re-mapping the TTL or RS485 interface to other pins.

Product Features

  • 2x I2C Interface
  • 1x CAN Interface
  • 1x RS485 Interface
  • 1x TTL Interface
  • CAN controller: MCP2515-1/SO
  • RS485 Transceiver: SP3485EN-L/TR

Kit includes

  • 1x M5Stack COMMU Module
Documents

Datasheet

Learn

Example

Arduino IDE

CAN communication

These are two COMMU examples for CAN communication, tansmitter and receiver. Press Button A to sent the message, and display the received message on the screen.

Step 1: Copy MCP_CAN_lib file to C:\Users\<user_name>\Documents\Arduino\libraries, Step 2: Open project file commu_can_transmitter.ino, and commu_can_receiver.ino Step 3: Compile and upload the two project to two M5Cores separatly.

Below code is incomplete. If you want the complete code, please click here.

/*     commu_can_transmitter.ino */ #include <M5Stack.h> #include <mcp_can.h> #include "m5_logo.h"  #define CAN0_INT 15 // Set INT to pin 2 MCP_CAN CAN0(12);   // Set CS to pin 10  // declaration byte data[8] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07};  // initialization M5.begin(); CAN0.begin(MCP_ANY, CAN_1000KBPS, MCP_8MHZ); /* Change to normal mode to allow messages tobe transmitted */ CAN0.setMode(MCP_NORMAL);  // send data CAN0.sendMsgBuf(0x100, 0, 8, data); 
/*     commu_can_receiver.ino */ #include <M5Stack.h> #include <mcp_can.h> #include "m5_logo.h"  #define CAN0_INT 15 // Set INT to pin 2 MCP_CAN CAN0(12);   // Set CS to pin 10  // declaration byte data[8] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07};  // initialization M5.begin(); /* Initialize MCP2515 running at 16MHz with a baudrate of 500kb/s */ /* and the masks and filters disabled. */ CAN0.begin(MCP_ANY, CAN_1000KBPS, MCP_8MHZ); /* Set operation mode to normal so theMCP2515 sends acks to received data. */ CAN0.setMode(MCP_NORMAL); pinMode(CAN0_INT, INPUT);// Configuring pin for /INT input  // read data CAN0.readMsgBuf(&rxId, &len, rxBuf); 

More information

PinMap

CANESP32 ChipCAN_CSGPIO12CAN_INTGPIO15CAN_SCKGPIO18CAN_MISOGPIO19CAN_MOSIGPIO23I2C InterfaceESP32 ChipIIC_SDAGPIO21IIC_SCLGPIO22

Schematic

Jargon buster

Plain-language definitions for the technical terms used above.

ESP32
ESP32 is a family of microcontroller modules with built-in wireless features such as Bluetooth and WiFi. Knowing this product uses an ESP32-based module helps explain how it provides wireless serial communication and firmware update features.
I2C
I2C is a two-wire communication bus used by many sensors and small modules. It matters because several I2C devices can share the same two wires, but each device needs a compatible address and your controller must support I2C.
IDE
Short for Integrated Development Environment, a program used to write, run and manage code. It matters because some learners prefer a traditional coding workspace instead of a guided notebook-style lesson.
RS485
RS485 is a robust wired serial communication standard often used in factories, farms, and buildings where cables may be long or electrically noisy. It matters because it lets this controller connect to industrial sensors, meters, and control equipment over longer distances than typical hobby serial wiring.
Stella
Stella Expert

Ask me anything about this product

Maddy, co-founder of Little Bird

Need help? We're here for you!

Hi, I'm Maddy. My team and I are ready to help with your order or any questions.