Skip to the content
PCBKitNew board
2 layers65 × 30 mmCANFDZeroHAT, the printed circuit board in 3D

Raspberry Pi HAT with Microchip MCP2518FD CAN FD controller

Size
65 × 30 mm
Copper layers
2
Thickness
1.6 mm
Parts
32
Nets
26
Pads
134
Tracks, vias
337, 32
Pours
2
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
13 Dec 2020
Updated
23 Feb 2025

Overview

CANFDZeroHAT is an open-source printed circuit board by generationmake, from the generationmake/CANFDZeroHAT repository on GitHub. It is a 2-layer board of 65 × 30 mm with 32 parts on 26 nets, routed with 337 tracks and 32 vias.

It is built around the MCP2518FD-E/SL, 0ZCM0020FF2G and 150060GS75000, with the 150060RS75000, 150060YS75000 and JS202011JCQN among its other parts. Its parts include 12 resistors, 4 capacitors, 4 diodes, 4 connectors and 3 inductors.

Main components

7

README

README.md

CANFDZeroHAT

Raspberry Pi HAT with Microchip MCP2517FD or MCP2518FD CAN FD controller

CANFDZeroHAT rendering

The board uses a 40 MHz crystal. This is the default crystal for the linux module. The first prototypes used a 20 MHz crystal.

The controller can be connected to SPI0 CE0 or CE1 by populating different resistor jumpers. Also different GPIOs can be used as interrupt.

setup

edit /boot/config.txt and add line:

dtoverlay=mcp251xfd,spi0-0,interrupt=25

If you use a crystal different to 40 MHz you have to specify the frequency:

dtoverlay=mcp251xfd,spi0-0,oscillator=20000000,interrupt=25

keep care that you choose the right interrupt and SPI CE line and populate the corresponding resistor.

enable CAN after boot up with

sudo ip link set can0 up type can bitrate 250000

connectors

CAN connector CN2

Terminal block with 3.81 mm grid.

PinSignalDescription
1GND
2CAN_L
3CAN_H
4VCCup to 5.5 V

UAVCAN dronecode connector CN3 and CN4

compatible to UAVCAN dronecode. JST GH 1.25mm 4-pin.

PinSignalDescription
1CANVCCup to 5.5 V
2CAN_H
3CAN_L
4GND

CANVCC can be connected to the Raspberry Pi via diode D1 as desribed in the dronecode spec. The direction of the diode defines wether current is sourced from the connector or supplied into the UAVCAN system. If no connection is desired just leave D1 unpopulated.

PCB

Top

CANFDZeroHAT PCB top

Bottom

CANFDZeroHAT PCB bot

Resources

Datasheets

License

This hardware is licensed under the CERN OHL v. 1.2

Parts

32
QtyValueFootprintReferences
4DNIresistors:R_0603R2, R6, R7, R9
20Rresistors:R_0603R1, R8
2100nFcapacitors:C_0603C1, C4
210kresistors:R_0603R3, R5
21kresistors:R_0603R10, R11
222pFcapacitors:C_0603C2, C3
2GH_SM04B-GHS-TBConnector_JST:JST_GH_SM04B-GHS-TB_1x04-1MP_P1.25mm_HorizontalCN3, CN4
10ZCM0020FF2Gresistors:R_0603F1
1120Rresistors:R_0603R4
1150060GS75000LEDs:LED_0603D2
1150060RS75000LEDs:LED_0603D3
1150060YS75000LEDs:LED_0603D4
12kresistors:R_0603R12
1691322310004CON_wuerth:WR-TBL_691322310004CN2
1DNIdiodes:SOD-123D1
1JS202011JCQNmechanical-switches:CK_JS202011JCQNSW1
1Labellabels:generationmake_logoL2
1Labellabels:generationmake_small_solderL1
1LabelSymbol:OSHW-Symbol_6.7x6mm_SilkScreenL3
1MCP2518FDSOIC:SOIC-14_3.9x8.7mm_Pitch1.27mmU1
1RASPI-IOMODULE_compute:RASPI_ZERO_HAT_EDGECN1
1RH100-40.000-18-F-2050-TRcrystals:Crystal_SMD_3.2x2.5mm_4PadY1
1TCAN332GDRSOIC:SOIC-8_3.9x4.9mm_Pitch1.27mmU2

Questions

How big is the CANFDZeroHAT PCB?

It measures 65 × 30 mm and has 2 copper layers, 1.6 mm thick.

What parts does the CANFDZeroHAT use?

32 parts, built around the MCP2518FD-E/SL, 0ZCM0020FF2G, 150060GS75000 and 150060RS75000. 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 CANFDZeroHAT KiCad files?

From the generationmake/CANFDZeroHAT repository on GitHub, at the commit this page was made from: the board is kicad_source/CANFDZeroHAT.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the CANFDZeroHAT design in my own project?

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

Similar boards

  • 2 layers21 × 25 mmDronecodeCANAdapter, the printed circuit board in 3D

    DronecodeCANAdapter

    generationmake/DronecodeCANAdapter

    Small PCB with CAN transceiver and dronecode connectors JST GH

    18 parts
  • 4 layers80 × 80.1 mmChassis, the printed circuit board in 3D

    Chassis

    ut-ras/robomaster_hardware

    Welcome! Please read the Wiki page for information on how to set up your computer and an overview of the projects in this repository.

    75 parts3
  • 4 layers210 × 100 mm02 Power Board, the printed circuit board in 3D

    02 Power Board

    ad4363/LuX-ray-PCBs

    A repository containing KiCad schematic and pcb files for a wireless radiation detector testing interface

    115 parts1
  • 4 layers90 × 66 mmAudio, the printed circuit board in 3D

    Audio

    AndreasNielsen4000/Group-7-IoT-Project

    The project is a wireless speaker system that can play music from a Bluetooth or WiFi source. The system consists of four main parts with subcomponents:

    162 parts1
  • 2 layers84.8 × 53 mmArduTrxShield, the printed circuit board in 3D

    ArduTrxShield

    generationmake/ArduTrxShield

    ArduTrx - Open Source Hamradio Transceiver for Arduino

    81 parts1
  • 4 layersRoboRyo, the printed circuit board in 3D

    RoboRyo

    KaitoTLex/RoboRyo

    This is team1280's replacement for the Robo Rio for more redundant and less annoying controls.

    68 parts1MIT
  • 2 layers120 × 94 mmAurelia robotics PCB, the printed circuit board in 3D

    Aurelia robotics PCB

    DanielCusi/MoonJelly-robotics-PCB

    Robotics PCB designed for Eurobot used by Wolvineers.

    270 partsCERN-OHL-W-2.0
  • 2 layers70 × 55 mmCapsicum, the printed circuit board in 3D

    Capsicum

    hutscape/capsicum

    🫑 Retrofit a wired doorbell to add WiFi and make it connected 🔔

    80 parts2