{
  "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": "kyle@adom.inc"
  },
  "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"
}