Skip to the content
PCBKitNew board
2 layers60 × 33 mmCANect, the printed circuit board in 3D

A basic USB-to-CAN converter

Size
60 × 33 mm
Copper layers
2
Thickness
1.6 mm
Parts
24
Nets
53
Pads
129
Tracks, vias
120, 0
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
1 Jun 2026
Updated
21 Oct 2026

Overview

CANect is an open-source printed circuit board by GmenezesSilva, from the GmenezesSilva/CANnect repository on GitHub. It is a 2-layer board of 60 × 33 mm with 24 parts on 53 nets, routed with 120 tracks and 0 vias.

It is built around the ESP32-S3-WROOM-1-N8, SN65HVD230D and AMS1117-3.3, with the PESD2CAN,215-JSM among its other parts. Its parts include 6 capacitors, 6 resistors, 3 ICs and 2 connectors. It belongs with the ESP32 boards of this library.

Main components

4

README

README.md

CANnect

Adaptador USB–CAN baseado no ESP32-S3, com firmware desenvolvido sobre o ESP-IDF. O dispositivo recebe e transmite quadros CAN pela USB usando o protocolo SLCAN, permitindo sua integração com ferramentas compatíveis, como o python-can.

Recursos

  • Interface USB CDC implementada com TinyUSB.
  • Comunicação CAN pelo periférico TWAI do ESP32-S3.
  • Quadros CAN clássicos com identificadores padrão (11 bits) e estendidos (29 bits), com até 8 bytes de dados.
  • Comandos SLCAN para abrir e fechar o canal, configurar a taxa de transmissão e enviar quadros.
  • Componentes separados para o adaptador CAN, a interface USB e o parser SLCAN.

O firmware não implementa CAN FD nem telemetria Wi-Fi. A taxa CAN inicial é de 500 kbit/s; o protocolo SLCAN também oferece estas opções: 10, 20, 50, 100, 125, 250, 500 e 800 kbit/s, além de 1 Mbit/s.

Estrutura do repositório

text
.
├── firmware/
│   ├── CANnect/             # Projeto ESP-IDF
│   │   ├── main/            # Inicialização e configuração do firmware
│   │   └── components/
│   │       ├── can_adapter/
│   │       ├── slcan_parser/
│   │       └── usb_adapter/
│   └── LICENSE              # Licença do firmware
└── Hardware/
    ├── CANnect/             # Projeto da placa no KiCad
    └── LICENSE              # Licença do hardware

Requisitos

  • ESP-IDF instalado e ambiente de desenvolvimento ativado, com suporte ao ESP32-S3 e ao driver TWAI On-Chip utilizado pelo projeto.
  • Placa CANnect ou hardware compatível com ESP32-S3 e transceptor CAN externo.
  • Cabo USB de dados.

As dependências do firmware são declaradas em firmware/CANnect/main/idf_component.yml e são gerenciadas pelo ESP-IDF Component Manager.

Compilar e gravar

Na raiz do repositório, com o ambiente do ESP-IDF ativado:

bash
cd firmware/CANnect
idf.py set-target esp32s3
idf.py menuconfig

No menu CANnect, configure CAN TX GPIO e CAN RX GPIO de acordo com a placa e com a ligação ao transceptor. Ajuste também CAN bitrate se necessário. Os pinos começam sem configuração válida; o firmware não inicializa enquanto eles não forem definidos.

Compile e grave a placa:

bash
idf.py build
idf.py -p PORT flash monitor

Substitua PORT pela porta serial da placa, por exemplo /dev/ttyACM0 no Linux ou COM3 no Windows. Para apenas compilar, execute idf.py build.

Uso via SLCAN

Depois de gravar o firmware, conecte a porta USB CDC a um aplicativo compatível com SLCAN. O parser aceita:

ComandoFunção
OAbre o canal CAN
CFecha o canal CAN
S0–S8Seleciona a taxa CAN, conforme a tabela abaixo
t / TEnvia quadro com identificador padrão / estendido
V, N, FConsulta versão, número e status do adaptador
ComandoTaxa
S010 kbit/s
S120 kbit/s
S250 kbit/s
S3100 kbit/s
S4125 kbit/s
S5250 kbit/s
S6500 kbit/s
S7800 kbit/s
S81 Mbit/s

Quadros recebidos no barramento são enviados pela USB em formato SLCAN quando o canal está aberto. A taxa escolhida também precisa ser suportada pelos demais dispositivos conectados ao barramento.

Licenças

Parts

24
QtyValueFootprintReferences
4120Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR3, R6, R7, R8
3100nFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC4, C7, C10
3Jumper_2_OpenJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmBOOT1, ENABLE1, JP1
3VERMLED_SMD:LED_0805_2012MetricLD1, LD2, LD3
210uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC3, C5
2120RResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR4, R5
14.7uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC1
1AMS1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U5
1ESP32-S3-WROOM-1RF_Module:ESP32-S3-WROOM-1U2
1PESD2CAN_215PCM_SparkFun-Semiconductor-Standard:SOT23-3CR1
1SN65HVD230Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU1
1Screw_Terminal_01x03TerminalBlock:TerminalBlock_MaiXu_MX126-5.0-03P_1x03_P5.00mmJ4
1USB3_AConnector_USB:USB3_A_Receptacle_Wuerth_692122030100J2

Questions

How big is the CANect PCB?

It measures 60 × 33 mm and has 2 copper layers, 1.6 mm thick.

What parts does the CANect use?

24 parts, built around the ESP32-S3-WROOM-1-N8, SN65HVD230D, AMS1117-3.3 and PESD2CAN,215-JSM. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the CANect KiCad files?

From the GmenezesSilva/CANnect repository on GitHub, at the commit this page was made from: the board is Hardware/CANnect/.history/CANect.kicad_pcb and its schematic Hardware/CANnect/.history/CANect.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the CANect design in my own project?

Its repository states no licence, so its author keeps all rights: ask GmenezesSilva before reusing the design.

More from GmenezesSilva/CANnect

1
  • 2 layers60 × 33 mmCANect, the printed circuit board in 3D

    CANect

    GmenezesSilva/CANnect

    A basic USB-to-CAN converter

    24 parts

Similar boards

  • 4 layers110 × 80 mmPNP MOBO V2, the printed circuit board in 3D

    PNP MOBO V2

    GabrielD98/PickUS_and_PlacUS

    pick and place de PCB pour projet S4 de robotique

    126 parts5MIT
  • 2 layers133 × 123 mmMissionOrderFile, the printed circuit board in 3D

    MissionOrderFile

    wasa-rockoon/WOBC

    WASAロケットプロジェクト 共通電装基盤

    534 parts1MIT
  • 11 layers64 × 41.4 mmESPCB, the printed circuit board in 3D

    ESPCB

    shvmm/espcb-bms-comms

    An ESP32 series based PCB for implementing BMS comms to Solar Inverters

    13 partsLGPL-2.1
  • 4 layers40 × 86 mmPower routed work, the printed circuit board in 3D

    Power routed work

    fukukawa89/PoseDollLab_Design

    Manny / Quinn 传感器可动人偶的独立设计仓库。原来位于 DollSimulation UE 工程中的硬件、固件与硬件诊断工具已经迁入本目录;UE 插件、角色资产与完整 Python 模拟器留在原项目。

    138 parts
  • 4 layers209 × 100 mmCarControllerV3, the printed circuit board in 3D

    CarControllerV3

    Stefanhg/CarControllerV3

    Kewet/Buddy CarController unofficial V3

    233 parts1
  • 2 layers45.6 × 40.3 mmVCU, the printed circuit board in 3D

    VCU

    Anteater-Electric-Racing/OTA-pcb-testing

    49 parts
  • 2 layers60 × 63 mmBldc sic, the printed circuit board in 3D

    Bldc sic

    klaus-liebler/esp32-bldc-controller

    118 partsMIT
  • 2 layers44.3 × 40.3 mmVCU, the printed circuit board in 3D

    VCU

    KogantiAnoop/OTA-pcb-testing

    Test PCB and code for OTA updates and wireless communication via s3 esp32

    36 parts