--- title: "Canjectors — Chris's Custom CAN Bus Interconnect System" tags: - hardware - electrical - can-bus - 2890 - custom type: hardware-spec owner: 2890 status: active sources: - "https://swyftrobotics.com/products/swyft-cannect-wiring-system" --- # Canjectors — Custom CAN Bus Interconnect System ## Overview After experiencing **critical CAN bus failures** during competition, Chris designed the Canjector system as a robust interconnect solution for Team 2890's robot. Modeled after the SWYFT CANnect concept but with custom design work, Canjectors provide reliable CAN + power distribution at all critical connections. The design philosophy: prevent wiring failures from killing the robot mid-match. ## Design Basis Chris studied the **SWYFT CANnect** system as inspiration: - Run CAN bus + 12V power over standardized cabling - Easy connector system (WAGO lever terminals) - Built-in CAN termination options - Robust form factor Canjectors go further with custom modifications for Team 2890's specific failure points. ## Current Design: Middle Canjector The schematic shows the "middle" Canjector variant with: - **12V power** passthrough - **3 CAN connections** (RJ45 connectors) - **WAGO terminal blocks** for clean wiring (2601-1104 series) - **120Ω termination resistor** (R4) between CAN signal lines — switchable - **Power indicator LED** (green, 0603) with 470Ω current limiting resistor - **2-pin header** for additional configuration ## Key Features - **Dual CAN paths** — each Canjector bridges multiple CAN segments - **Integrated termination** — 120Ω resistor switchable per segment - **Power LED** — visual confirmation that 12V is present - **RJ45 connectors** — industry standard, easy to cable, robust - **WAGO 2601 series** — tool-free, reliable terminal connections - **Designed in EasyEDA** — schematic dated 2026-04-09 ## Design Variants Chris designed five Canjector variants. **Names are printed on the physical PCBs** — Endz, Major, Minor are the actual designations. All variants support configurable termination via a shunt jumper — populate the shunt to activate 120Ω termination anywhere in the chain. | PCB Name | CAN ports | 12V outs | Primary role | |----------|-----------|----------|-------------| | **Start** | 1 | 1 | Bus origin at PDH side | | **Minor** | 3 | 1 | Mid-chain node | | **Middle** | 3 | 2 | Mid-chain node + power distribution | | **Major** | 6 | 2 | Heavy distribution — end of main runs | | **Endz** | 1 | 1 | USB diagnostic tap — serves as first OR last device in chain | **Note on overlap:** - Start and Endz both serve end-of-chain positions (first or last device) - Minor and Middle both have 3 CAN ports — Middle adds a second 12V output for power distribution All Canjectors use the same shunt-activation scheme for 120Ω termination. This means any variant can terminate the bus when needed. ## Connection to Training **For students:** CAN bus failures are among the most frustrating problems in FRC — a loose wire or failed connector kills the whole bus. The Canjector system teaches: - **Redundancy** — when one path fails, traffic routes around it - **Termination** — 120Ω at each end of the bus, switchable at intermediate nodes - **Visual debugging** — power LEDs let you confirm connectivity at a glance - **Modular design** — if one Canjector fails, replace it in minutes ## Why This Matters Chris experienced critical CAN failures at competition. The Canjector system is a direct response — solving the failure mode with custom hardware instead of hoping the stock connectors hold. This is the kind of real-world engineering that separates good teams from great ones. ## Notes for MrC This is a **confidence builder** for the training vault — it shows Chris's practical engineering under pressure. Good story for students: identify the problem, study existing solutions, design your own, build it, test it. The full engineering cycle, not just code. ## Files | File | Description | |------|-------------| | `canjector-schematic.png` | Middle Canjector — EasyEDA schematic | | `canjector-start-pcb.png` | Start variant — PCB layout (red solder mask) | | `canjector-minor-render.png` | Minor variant — 3D render, blue PCB | | `canjector-major-render.png` | Major variant — 3D render, blue PCB, 6 CAN ports | | `canjector-endz-render.png` | Endz variant — USB-to-CAN diagnostic interface | | `canjectors.md` | This documentation file | | `canjector-gerbers/` | Major variant manufacturing files | | `canjector-minor-gerbers/` | Minor variant manufacturing files | | `canjector-endz-gerbers/` | Endz variant manufacturing files |