---
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"
  - "https://store.ctr-electronics.com/products/cancoder"
growth: tree
---

# 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.

## Key Features

- **Modular CAN distribution** — one board per functional zone
- **Integrated termination** — 120Ω resistor switchable via shunt jumper at any position
- **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

Three Canjector variants. **Names are printed on the physical PCBs.**

All variants support configurable termination via a shunt jumper — populate the shunt to activate 120Ω termination anywhere in the chain.

| **Endz** | 1 | 1 | Origin — first device in chain, after roboRIO, taps 12V for CANcoders |
| **Minor** | 3 | 1 | Mid-chain — single wheel (CANcoder + 2 motors) |
| **Major** | 6 | 2 | Elevators, extensions, heavy multi-motor mechanisms |

### Endz — Origin Device

First device in the chain, right after the roboRIO. Taps 12V power directly for CANcoder feedback devices. Serves as the entry point for the entire CAN bus on the robot.

### Major — Elevator/Extension Design

Designed for elevators and extensions — large multi-motor mechanisms with bundled power + signal cables that fail regularly with motion. **This was the birth of the Canjector project** — Team 2890 had an elevator with a power harness (bundle of cables for power and signal) that failed repeatedly due to mechanical stress from motion. Major provides centralized distribution for those cables, replacing the fragile bundled harness with modular connectors.

**Flexible placement:** Not restricted to mechanism endpoints. If many motors are clustered near the roboRIO, place a Major there to distribute 6 CAN + 2 12V connections locally — tap up to 5 additional devices beyond the primary mechanism connection.

### Minor — Single Wheel Module

One Minor per swerve corner:
- 1 CANcoder (CTR Electronics CAN FD magnetic encoder for steering feedback)
- 2 motors (drive + steering per MK4i)
- 1 12V output for accessories

**Hot-swap design:** Unclip 2 ethernet cables + 4 power wires to motors = **6 wires total**. Wheel module drops out, new one clips in. Designed for pit repairs — fast swap without soldering or rewiring.

Clean single-point connection per wheel — troubleshooting localizes to one module per corner.

## 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.

## Files

| File | Description |
|------|-------------|
| `canjector-schematic.png` | Minor variant — EasyEDA schematic |
| `canjector-start-pcb.png` | Endz variant — PCB layout |
| `canjector-minor-render.png` | Minor variant — 3D render, blue PCB |
| `canjector-major-render.png` | Major variant — 3D render, blue PCB |
| `canjector-endz-render.png` | Endz variant — USB-to-CAN diagnostic |
| `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 |
