Skip to content
Waveshare RS485 CAN HAT board

RS485 CAN HAT

Dual-protocol industrial communication for Raspberry Pi. CAN bus via MCP2515 and RS-485 via SP3485 on a single compact board.

The Waveshare RS485 CAN HAT is an expansion board designed for the Raspberry Pi’s standard 40-pin GPIO header. It provides two widely used industrial communication interfaces on a single 65 mm x 30 mm board: a CAN bus controller built around the Microchip MCP2515 (connected over SPI) paired with the SN65HVD230 transceiver, and an RS-485 half-duplex serial link driven by the SP3485 transceiver over UART. Both channels are protected by onboard TVS diodes, giving the board meaningful resistance to surge voltage, ESD events, and nearby lightning-induced transients. A reserved control header allows the HAT to interface with controllers other than the Pi.

CAN Bus Controller

MCP2515 SPI-to-CAN controller with SN65HVD230 transceiver. Full CAN 2.0B support at up to 1 Mbit/s.

RS-485 Serial

SP3485 UART-to-RS-485 transceiver. Half-duplex with automatic TX/RX direction control --- no GPIO toggling required in your code.

Surge & ESD Protection

Onboard TVS (Transient Voltage Suppressor) on the RS-485 lines effectively clamps surge and spike voltages, providing lightning and electrostatic discharge protection.

Pi-Standard Header

Fits any Raspberry Pi model with the standard 40-pin GPIO connector, including Pi 3B, 3B+, 4B, and 5.

Reserved Control Header

Exposed control pins allow the HAT to be driven by other microcontrollers or SBCs beyond the Raspberry Pi.

3.3 V Operation

Runs entirely from the Pi’s 3.3 V rail. No external power supply needed.

ParameterValue
Operating Voltage3.3 V
CAN ControllerMCP2515 (SPI interface)
CAN TransceiverSN65HVD230
RS-485 TransceiverSP3485 (UART interface)
RS-485 ModeHalf-duplex, automatic TX/RX control
ProtectionTVS diodes on RS-485 (surge, ESD, lightning)
Board Dimensions65 mm x 30 mm
Mounting Holes3.0 mm diameter
GPIO HeaderStandard Raspberry Pi 40-pin
Crystal Oscillator12 MHz (boards shipped Aug 2019+)

The CAN interface connects to the Pi through the SPI bus. The MCP2515 handles CAN framing, arbitration, and filtering in hardware; the SN65HVD230 drives the differential CAN_H / CAN_L pair. On the RS-485 side, the SP3485 converts the Pi’s UART TX/RX into a differential A/B pair. Direction switching between transmit and receive is handled automatically on the board, which simplifies software and eliminates a common source of half-duplex timing bugs.

Both buses terminate at screw terminals on the board edge, ready for field wiring.