component
COSMIIC Remote Module Network Interface
Public UnreviewedTJA1050T CAN transceiver + MIC5205 5V LDO on a 32×24mm Adom molecule — bridges the AT90CAN128 to the 2-conductor COSMIIC implant network with 4-port CANopen fanout (1 upstream in + 3 downstream out)
{
"schema_version": 1,
"type": "component",
"slug": "cosmiic-remote-module-network-interface",
"title": "COSMIIC Remote Module Network Interface",
"brief": "TJA1050T CAN transceiver + MIC5205 5V LDO on a 32×24mm Adom molecule — bridges the AT90CAN128 to the 2-conductor COSMIIC implant network with 4-port CANopen fanout (1 upstream in + 3 downstream out)",
"version": "1.0.0",
"tags": [],
"license": "MIT",
"sample_prompts": [
{
"prompt": "Add a CAN network interface to my remote module"
},
{
"prompt": "What is the COSMIIC network interface circuit?"
},
{
"prompt": "Connect a remote module to the COSMIIC implant bus"
},
{
"prompt": "Show me the CAN transceiver circuit for an implantable device"
},
{
"prompt": "How does the COSMIIC 2-conductor network carry power and CAN?"
}
],
"component": {
"mpn": "COSMIIC Remote Module Network Interface",
"manufacturer": "",
"package": "",
"pin_count": null,
"category": "molecule",
"subcategory": "",
"body_size": null,
"parts": {},
"distributor_links": {}
},
"readme": "# COSMIIC Remote Module Network Interface\n\nThe Remote Module Network Interface is the shared circuit block present on every COSMIIC remote module (PG4, BP2, and derivatives). It bridges the AT90CAN128's built-in CAN controller to the implanted 2-conductor network, extracts regulated 5V from the network supply, and fans out to 4 ports (1 upstream in + 3 downstream out) for branching tree topology.\n\n## How it works\n\nEvery remote module connects to the COSMIIC implanted network through a single 2-conductor cable. That cable carries both the CANopen differential bus and the DC supply voltage on the same conductors (NET_P = CANH / supply+, NET_N = CANL / supply return). The network interface circuit:\n\n1. **Extracts regulated 5V** — NET_P (4.7–9.6 V from the PM) feeds the U2 LDO; regulated 5V powers the AT90CAN128 and the CAN transceiver\n2. **Transceives CAN** — U1 (TJA1050T) bridges the AT90CAN128's digital CANTX/CANRX pins to the physical CANH/CANL bus\n3. **Fans out to 4 ports** — J1–J4 connectors branch the same CAN bus to 1 upstream input + 3 downstream outputs\n4. **Hardware node addressing** — MC_ANODE exposes the hardware node address line to the AT90CAN128\n\nU1's Rs pin is pulled low through R1 (10 kΩ) for slope-controlled mode, which limits dV/dt on the bus edges and reduces EMI — important for implantable devices.\n\n## Hardware\n\n| Parameter | Value |\n|-----------|-------|\n| CAN Controller | AT90CAN128 built-in (ISO 11898, CAN 2.0B) |\n| CAN Transceiver | NXP TJA1050T (SOIC-8, 1 Mbps, 5V) |\n| LDO Regulator | MIC5205-5.0YM5 (SOT-23-5, 5V, 150 mA) |\n| Network Cable | 2-conductor (CAN differential + power superimposed) |\n| Network Ports | 4 total — J1 upstream in, J2–J4 downstream out |\n| Topology | Branching tree (up to 24 nodes from a single PM) |\n| Network Voltage | 4.7–9.6 V (adjustable from PM) |\n| Output Voltage | 5 V regulated |\n| Protocol | CANopen |\n| Node Addressing | Hardware-configured (MC_ANODE) |\n| PCB Size | 32 × 24 mm Adom molecule |\n\n## Components\n\n| Ref | Part | Value | Package | JLCPCB |\n|-----|------|-------|---------|--------|\n| U1 | NXP TJA1050T | CAN transceiver, 1 Mbps | SOIC-8 | C6952 |\n| U2 | MIC5205-5.0YM5 | 5V LDO, 150 mA, 16V max in | SOT-23-5 | C89758 |\n| J1–J4 | 2-pin header | COSMIIC network port | 2.54mm pitch | — |\n| C1 | 100nF | TJA1050T VCC decoupling | 0402 | C1525 |\n| C2 | 10µF | LDO input cap | 0805 | — |\n| C3 | 22µF | LDO output cap (stability) | 0805 | — |\n| C4 | 100nF | TJA1050T VREF bypass | 0402 | C1525 |\n| R1 | 10 kΩ | TJA1050T slope control (Rs) | 0402 | C25744 |\n\n> **Production note:** For the full 4.7–9.6 V network range, replace U2 with LM1117S-5.0 (C126028, SOT-223-3, 800 mA) which handles up to 15 V input.\n\n## Signal Net Names\n\n| Net | Description |\n|-----|-------------|\n| `NLTXCAN` / MC_CANTX | CAN TX from AT90CAN128 to U1.TXD |\n| `NLRXCAN` / MC_CANRX | CAN RX from U1.RXD to AT90CAN128 |\n| `NLTXCANBUS` / CANH | CAN bus positive on network cable |\n| `NLTXCANBUS` / CANL | CAN bus negative on network cable |\n| `NLANODE` / MC_ANODE | Hardware node address input |\n\n## Machine Contacts\n\n| Contact | Side | Function |\n|---------|------|----------|\n| MC_CANTX | Left | CAN TX from AT90CAN128 → U1.TXD |\n| MC_CANRX | Left | CAN RX from U1.RXD → AT90CAN128 |\n| MC_VCC5V | Left | 5V regulated output to module |\n| MC_GND | Left | Ground reference |\n| MC_VIN | Right | Network supply input (4.7–9.6V) |\n| MC_CANH | Right | CAN bus positive |\n| MC_CANL | Right | CAN bus negative |\n| MC_ANODE | Right | CANopen node address |\n\n## Architecture\n\n```\n Network Cable (2-wire: NET_P/CANH and NET_N/CANL)\n │\n ┌───────────▼─────────────┐\n │ J1 — Port 1 (in) │\n └───────────┬─────────────┘\n │\n ┌───────────▼──────────────────────────────────┐\n │ Network Interface (32×24mm) │\n │ │\n │ ┌──────────────┐ ┌────────────────────┐ │\n │ │ U2 MIC5205 │ │ U1 TJA1050T │ │\n │ │ 5V LDO │ │ CAN Transceiver │ │\n │ │ NET_P → 5V │ │ CANTX/CANRX (MCU) │ │\n │ └──────┬───────┘ │ CANH/CANL (bus) │ │\n │ │ VCC └──────┬──────────────┘ │\n │ └──────────────────┤ │\n │ │ CANH / CANL │\n └────────────────────────────┼─────────────────┘\n │ │ │\n ┌───────────▼─┐ ┌───────▼──┐ ┌───▼────────┐\n │ J2 (out 1) │ │J3 (out 2)│ │J4 (out 3) │\n └─────────────┘ └──────────┘ └────────────┘\n```\n\n## CANopen Protocol\n\nThe PM acts as NMT master; remote modules are NMT slaves.\n\n| Message Type | Direction | Purpose |\n|--------------|-----------|---------|\n| NMT | PM → Module | State machine transitions (Operational, Pre-op, Reset) |\n| SYNC | PM → All | Cyclic timing reference (controls stimulation frequency, data windows) |\n| SDO | Bidirectional | Point-to-point Object Dictionary read/write (configuration, testing) |\n| PDO | Module → PM | High-speed broadcast of sensor data / stimulation status |\n| Emergency | Module → PM | Fault reporting |\n\n## Build\n\n**EDA:** tscircuit (TSX) — source bundle included in Files below.\n\n**LDO note:** Production modules use LM1117S-5.0 (C126028, SOT-223) which handles the full 4.7–9.6V network range. The SOT-23-5 MIC5205 in this reference design targets bench testing where network voltage is kept ≤6V.\n\n**Firmware:** [COSMIIC-Community/Implantables-PG4-App](https://github.com/COSMIIC-Community/Implantables-PG4-App) / [Implantables-BP2-App](https://github.com/COSMIIC-Community/Implantables-BP2-App) — C, AVR toolchain\n\n## Source\n\nAll design files are open source under CERN-OHL-P-2.0 (hardware) and MIT (firmware).\n\n## Files\n\n| File | Description |\n|------|-------------|\n| `cosmiic-network-interface-source.tar.gz` | tscircuit project source (lib/index.tsx, package.json, config) |\n| `schematic.svg` | Circuit schematic (all connections) |\n| `pcb.svg` | PCB layout (32×24mm, component placement) |\n| `3d.glb` | 3D board model |\n\n## Reference Implementation\n\nThe equivalent analog circuit appears as a dedicated schematic sheet in every remote module Altium project:\n\n- **PG4** — page 4 of 8 (\"CAN Interface\") in [COSMIIC-Community/Implantables-PG4-Hardware](https://github.com/COSMIIC-Community/Implantables-PG4-Hardware)\n- **BP2** — page 4 of 6 (\"Network Interface\") in [COSMIIC-Community/Implantables-BP2-Hardware](https://github.com/COSMIIC-Community/Implantables-BP2-Hardware)\n\n## NSF Relevance\n\nThe standardized remote module network interface enables multi-node implantable research systems with a single power and communication cable per branch. Researchers can add sensing or stimulation nodes to a running implant without architectural changes, enabling adaptive closed-loop protocols with real-time bidirectional data flow.\n\n## Science Drivers\n\nimplantable_healthcare\n\nCreated by: noah\nVersion: v1\nCategory: other\n",
"author": {
"name": "Kyle Bergstedt",
"email": "[email protected]"
},
"visibility": {
"public": true
},
"hero": null,
"discovery_triggers": [],
"discovery_pitch": null,
"metadata": {},
"created_at": "2026-05-28T05:30:50.761Z",
"updated_at": "2026-05-28T05:30:50.761Z",
"org": "cosmiic"
}