CANFDuino as a Bridge To EV Battery Upgrades
Below is an overview of how the CANFDuino has been used to intercept and modify BMU ↔ EV-ECU traffic so the Mitsubishi I-MEV will accept a larger capacity battery pack. The entire pack swapping project has been awesomely detailed here by the i-MEV community: https://5by9.net/prune_batteries/mitm.html

What it does (high level)
A CANFDuino acts as a CAN bridge between the BMU (battery monitoring unit) and the vehicle CAN bus. It intercepts and rewrites specific packets so the EV-ECU sees the expected values (pack capacity/SOC, etc.) after a pack upgrade. This lets the i-MEV make use of higher capacity cells while preserving onboard diagnostics and reporting.
Software
The project runs a ported version of Paul Dove’s Arduino_19.ino called MITM_19.ino, flashed to the CANFDuino. The firmware implements the packet interception/translation logic (filter, modify, forward) necessary for bridging while selectively altering the fields required for capacity and SOC reporting.
Hardware & Wiring
- CAN0 (DB9) connects to the BMU and is internally terminated; CAN1 connects to the rest of the i-MiEV bus and is left un-terminated on the CANFDuino side so the vehicle’s network topology and termination remain correct when bridged.
- The vehicle CAN bus was physically cut near the BMU and two short DB9 pigtails were inserted so the CANFDuino can be plugged inline or bypassed easily. This gives a safe, reversible installation.
- The CANFDuino is powered from the BMU switched 12 V (via a small DC-DC buck to 5 V feeding the Micro-USB), and chassis ground is bonded to the CANFDuino terminal 12. An inline fuse on the USB power feed is used.
Design considerations & safety notes (brief)
- Keep bus termination and stubs short — the inline bridge should preserve correct termination to avoid reflections and timing issues on high-speed CAN.
- Make the bridge bypassable (as done here with mating DB9 pigtails) so you can restore factory wiring quickly for troubleshooting.
- Power gating: use a switched 12 V source so the bridge is active only when the BMU is powered; include a fuse and a reliable buck regulator to avoid back-feeding or noisy supply rails.
Where to look for code & diagrams
The source code for MITM_19.ino can be found in the CANFDuino git repository under examples while schematic photos and wiring diagrams showing the DB9 pigtails, BMU connector pinouts, and installation photos can all be found here https://5by9.net/prune_batteries/pack_removal.html


