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

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.
| Parameter | Value |
|---|---|
| Operating Voltage | 3.3 V |
| CAN Controller | MCP2515 (SPI interface) |
| CAN Transceiver | SN65HVD230 |
| RS-485 Transceiver | SP3485 (UART interface) |
| RS-485 Mode | Half-duplex, automatic TX/RX control |
| Protection | TVS diodes on RS-485 (surge, ESD, lightning) |
| Board Dimensions | 65 mm x 30 mm |
| Mounting Holes | 3.0 mm diameter |
| GPIO Header | Standard Raspberry Pi 40-pin |
| Crystal Oscillator | 12 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.