# forcequit712/canj architecture

> Architecture diagram of the GitHub repository forcequit712/canj, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/forcequit712/canj
- Repository: https://github.com/forcequit712/canj

## Overview

canj is a compact, passive CAN-bus junction PCB intended to reduce size and cost. Its documented workflow is to assemble the board with a 120-ohm resistor, bridged pads, and an oriented switch, then connect it into the CAN wiring with the R side toward the systemcore/RIO. A separate terminating resistor is required at the end of the loop. The repository tree exposes the current design only as a ZIP archive, so internal PCB layout and electrical connections cannot be shown in more detail.

Main entry points: [`Gerber_PCB1.2_2026-09-21.zip`](https://github.com/forcequit712/canj/blob/main/Gerber_PCB1.2_2026-09-21.zip) (canj PCB)

## Diagram (Mermaid)

```mermaid
flowchart TD

node_installer(("Installer"))
node_pcb["canj PCB"]
node_resistor["120Ω resistor"]
node_bridge["Bridge pads"]
node_switch["Oriented switch"]
node_system(("Systemcore/RIO"))
node_canloop["CAN loop"]
node_terminator["End terminator"]

node_installer -->|"solders to R side"| node_resistor
node_installer -->|"bridges pads"| node_bridge
node_installer -->|"orients and solders"| node_switch
node_installer -->|"assembles"| node_pcb
node_system -->|"feeds from R side"| node_pcb
node_pcb -->|"connects CAN wires"| node_canloop
node_canloop -->|"terminates at end"| node_terminator

click node_pcb "https://github.com/forcequit712/canj/blob/main/Gerber_PCB1.2_2026-09-21.zip"
click node_resistor "https://github.com/forcequit712/canj/blob/main/Gerber_PCB1.2_2026-09-21.zip"
click node_bridge "https://github.com/forcequit712/canj/blob/main/Gerber_PCB1.2_2026-09-21.zip"
click node_switch "https://github.com/forcequit712/canj/blob/main/Gerber_PCB1.2_2026-09-21.zip"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_installer,node_system,node_canloop,node_terminator toneIndigo
class node_pcb,node_resistor,node_bridge,node_switch toneTeal
```

## Components

### Other components

- **Installer**
- [canj PCB](https://github.com/forcequit712/canj/blob/main/Gerber_PCB1.2_2026-09-21.zip): `Gerber_PCB1.2_2026-09-21.zip`
- [120Ω resistor](https://github.com/forcequit712/canj/blob/main/Gerber_PCB1.2_2026-09-21.zip): `Gerber_PCB1.2_2026-09-21.zip`
- [Bridge pads](https://github.com/forcequit712/canj/blob/main/Gerber_PCB1.2_2026-09-21.zip): `Gerber_PCB1.2_2026-09-21.zip`
- [Oriented switch](https://github.com/forcequit712/canj/blob/main/Gerber_PCB1.2_2026-09-21.zip): `Gerber_PCB1.2_2026-09-21.zip`
- **Systemcore/RIO**
- **CAN loop**
- **End terminator**

## Connections

- Installer → 120Ω resistor: solders to R side
- Installer → Bridge pads: bridges pads
- Installer → Oriented switch: orients and solders
- Installer → canj PCB: assembles
- Systemcore/RIO → canj PCB: feeds from R side
- canj PCB → CAN loop: connects CAN wires
- CAN loop → End terminator: terminates at end
