Adafruit Feather M4 CAN Express Installation Guide
Complete installation guide for the Adafruit Feather M4 CAN Express (ATSAME51) on Tesla vehicles with HW3.
Overview
The Feather M4 CAN Express uses the ATSAME51's built-in CAN (MCAN) controller with an onboard TJA1051T/3 transceiver. It does not use the MCP2515 SPI library — it requires the Adafruit CAN library (CANSAME5x).
Parts List
| Part | Approx. Cost | Link |
|---|---|---|
| Adafruit Feather M4 CAN Express (ATSAME51) | ~20 EUR | antratek.nl |
| Enhance Auto Tesla Gen 2 Cable | ~30 EUR | enhauto.com |
| 12V/24V to 5V USB-C DC/DC Converter | ~5 EUR | aliexpress.com |
The Enhance Auto Gen 2 Cable connects to the same port as their S3XY Commander, providing both CAN bus data and 12V power through a single connector.
Step 1: Flash the Firmware
-
Install the Arduino IDE.
-
Add the Adafruit board package URL in File → Preferences → Additional Board Manager URLs:
https://adafruit.github.io/arduino-board-index/package_adafruit_index.json -
Install Adafruit SAMD Boards via Tools → Board → Boards Manager.
-
Install the Adafruit CAN library via Sketch → Include Library → Manage Libraries.
-
Open
RP2040CAN/RP2040CAN.inoin Arduino IDE. -
In the
sketch_config.htab, set your board and vehicle:// #define DRIVER_MCP2515
#define DRIVER_SAME51
// #define DRIVER_TWAI
// #define LEGACY
#define HW3
// #define HW4 -
Select Adafruit Feather M4 CAN (SAME51) as the board under Tools → Board.
-
Connect the Feather via USB, select the correct port, and click Upload.
-
Open the Serial Monitor at 115200 baud — you should see
SAME51 CAN ready @ 500k.
Step 2: Identify the Enhance Auto Connector Pinout
The Enhance Auto Gen 2 Cable has a connector on the end that normally plugs into a S3XY Commander. We'll use this connector to tap into the vehicle's CAN bus and 12V power.
| Wire | Signal | Connect to |
|---|---|---|
| Red | 12V+ | DC/DC converter IN+ |
| Black | GND | DC/DC converter IN- |
| Black with stripe | CAN-H (Body Bus) | Feather CAN-H screw terminal |
| Black solid | CAN-L (Body Bus) | Feather CAN-L screw terminal |
| Remaining black pair | Other Bus | Not used — leave disconnected |
Step 3: Wire the Board
Connect the Enhance Auto cable's CAN-H (black with stripe) and CAN-L (black solid) wires to the Feather's CAN screw terminal. Wire the 12V+ (red) and GND (black) to the DC/DC converter's input. The converter outputs 5V via USB-C, which plugs directly into the Feather to power it.
Step 4: Connect to the Vehicle
The Enhance Auto Gen 2 Cable plugs into the X179 connector, located behind the driver's side trunk panel. Remove the panel trim to access the connector cluster.
Plug in the Enhance Auto cable — it provides both CAN bus data and 12V power through a single connection. No jumper wires needed.
For a detailed video guide on how to access the X179 connector and plug in the cable, see this installation video by Enhance Auto.
Step 5: Verify Installation
-
Disconnect the DC/DC converter from the Feather's USB-C port and connect your laptop instead.
-
Open the Serial Monitor at 115200 baud — you should see handler output like:
HW3Handler: FSD: 1, Profile: 2, Offset: 0 -
Enable "Traffic Light and Stop Sign Control" in Autopilot settings if not already enabled.
-
Change the follow-distance setting on the stalk and verify the Profile value changes.
-
Once everything is working, disconnect your laptop and plug the DC/DC converter back in — you're done!
Tested Configuration
| Component | Specification |
|---|---|
| Vehicle | 2023 Tesla Model 3 |
| Hardware Version | HW3 |
| Board | Adafruit Feather M4 CAN Express (ATSAME51) |
| Connection | Enhance Auto Tesla Gen 2 Cable → X179 connector |
| Power | 12V/24V to 5V USB-C DC/DC converter |
| Status | ✅ Working |
After successful installation, see the Features section to configure and enable specific features like FSD Activation, Nag Suppression, Speed Profiles, etc.