main
Caleb Publish 1.0.0 d6524b2 1mo ago
{
 "$shape": "adom-board-viewer-config/0.2",
 "_note": "Path B molecule viewer. Content is the designer's schematic notes + the placed BOM (JLC), not the prior wiki pages. Captions author-asserted from those notes; behaviours illustrative.",
 "board": {
  "name": "RP2350A + ADS1220 Molecule",
  "subtitle": "rp2350a-ads1220 v1.0.0",
  "rev": "as-drawn from rp2350a-ads1220_v1.0.0.kicad_pcb",
  "source": "KiCad project (1 schematic sheet + 4-layer PCB + STEP export)",
  "size_mm": [
   26.4,
   36.0
  ],
  "thickness_mm": 1.6,
  "copper_layers": 4
 },
 "blocks": [
  {
   "id": "power",
   "label": "Power",
   "color": "#f5a524",
   "short": "F1 polyfuse to +5V, D1 SMF6.0A TVS, AP2112K-3.3 LDO"
  },
  {
   "id": "mcu",
   "label": "MCU (RP2350A)",
   "color": "#3b82f6",
   "short": "RP2350A QFN-60 + X322512 crystal"
  },
  {
   "id": "flash",
   "label": "QSPI Flash",
   "color": "#8b5cf6",
   "short": "W25Q16JV"
  },
  {
   "id": "adc",
   "label": "ADS1220 front-end",
   "color": "#a855f7",
   "short": "24-bit ADC + RF/CDIF/CCM filter, ratiometric excitation"
  },
  {
   "id": "status",
   "label": "Status LEDs",
   "color": "#ef4444",
   "short": "5V / 3.3V present, STATUS, DFU"
  },
  {
   "id": "controls",
   "label": "DFU controls",
   "color": "#22c55e",
   "short": "SKRPACE010 tacts"
  },
  {
   "id": "debug",
   "label": "Debug",
   "color": "#06b6d4",
   "short": "J1 JST SWD debug connector"
  },
  {
   "id": "pins",
   "label": "Machine pins",
   "color": "#64748b",
   "short": "MC1-26 nesting interface to the motor carrier"
  }
 ],
 "modes": {
  "assembly": {
   "label": "Assembly",
   "blurb": "Each functional grouping drops in together while its caption explains it.",
   "order": [
    "power",
    "mcu",
    "flash",
    "adc",
    "status",
    "controls",
    "debug",
    "pins"
   ],
   "timing": {
    "fall_s": 0.47,
    "stagger_s": 0.027,
    "dwell_s": 6.3,
    "rest_s": 4.0,
    "drop_height_mm": 14
   },
   "intro": {
    "d": 6,
    "eyebrow": "RP2350A + ADS1220",
    "head": "24-bit acquisition molecule that nests on the motor carrier",
    "rows": [
     [
      "Board",
      "26.4 x 36.0 mm, 4-layer"
     ],
     [
      "MCU",
      "RP2350A QFN-60"
     ],
     [
      "ADC",
      "ADS1220 24-bit"
     ]
    ],
    "note": "Takes +5V in, makes its own 3.3V, and reads two ratiometric load-cell channels; excitation and differential pairs cross the machine pins to the carrier."
   },
   "captions": {
    "power": {
     "eyebrow": "Power",
     "head": "Fused, clamped, regulated",
     "rows": [
      [
       "Path",
       "F1 polyfuse -> +5V -> D1 SMF6.0A -> GND"
      ],
      [
       "LDO",
       "AP2112K-3.3 (U1)"
      ],
      [
       "Rails",
       "5V + 3.3V, both indicated"
      ]
     ],
     "note": "The fuse sits upstream of the TVS, so a reverse-polarity fault drives clamp current through the fuse. The AP2112K makes 3.3V for the MCU and ADC."
    },
    "mcu": {
     "eyebrow": "The brain",
     "head": "RP2350A QFN-60",
     "rows": [
      [
       "Part",
       "RP2350_60QFN (U3)"
      ],
      [
       "Clock",
       "X322512MSB4SI (Y1)"
      ],
      [
       "Decoupling",
       "4.7uF on pins 23/25, 49, 50, 46"
      ]
     ],
     "note": "R7 and R8 are placed close to the RP2350. The MCU runs acquisition and presents DFU over its own USB."
    },
    "flash": {
     "eyebrow": "Storage",
     "head": "QSPI flash",
     "rows": [
      [
       "Part",
       "W25Q16JV (U4)"
      ]
     ],
     "note": "Program/data flash for the RP2350A."
    },
    "adc": {
     "eyebrow": "The measurement",
     "head": "ADS1220 with a ratiometric front-end",
     "rows": [
      [
       "Part",
       "ADS1220IRVAR (U2)"
      ],
      [
       "Filter",
       "RF 2.49k / CDIF 470n / CCM 47n"
      ],
      [
       "Corners",
       "f_diff 64.8 Hz, f_cm 1360 Hz"
      ],
      [
       "Rejection",
       "51 dB @ 24 kHz PWM, 72 dB @ 256 kHz"
      ]
     ],
     "note": "R at the contact end, C at the ADC end. Reference and excitation share the +5V node so fuse/LDO drops cancel. PSW must remain 0b; usable swing = 5V - 2x200mV = 4.6V."
    },
    "status": {
     "eyebrow": "Indicators",
     "head": "Rail + status LEDs",
     "rows": [
      [
       "Blue (LED2)",
       "'5V Present' ~0.51 mA"
      ],
      [
       "Green (LED4)",
       "(3.3-2.3)/2.2k = 0.45 mA"
      ],
      [
       "RGB (LED1)",
       "WS2812B STATUS / DFU"
      ]
     ],
     "note": "Illustrative: rail + status indicators annotated on the schematic; LED1 is an addressable WS2812 for STATUS/DFU."
    },
    "controls": {
     "eyebrow": "DFU",
     "head": "Firmware-update controls",
     "rows": [
      [
       "Switches",
       "SW1/SW2/SW3 (SKRPACE010)"
      ]
     ],
     "note": "DFU function: local manual assert (low to request update), a status LED, and a remote assert input."
    },
    "debug": {
     "eyebrow": "Debug",
     "head": "SWD landing",
     "rows": [
      [
       "Connector",
       "J1 BM03B-SRSS-TB (JST)"
      ]
     ],
     "note": "JST debug connector for SWD."
    },
    "pins": {
     "eyebrow": "Nesting",
     "head": "Machine-pin interface to the carrier",
     "rows": [
      [
       "Contacts",
       "MC1-26"
      ]
     ],
     "note": "The molecule seats on the motor carrier over these contacts; the load-cell excitation and differential pairs cross here."
    }
   }
  },
  "static": {
   "label": "Static",
   "blurb": "The seated molecule. Camera is yours; hover a part, click legend rows to isolate a section.",
   "functions": {
    "power_leds": {
     "label": "Rails",
     "refs": [
      "LED1",
      "LED2",
      "LED3",
      "LED4"
     ],
     "color": "#39ff88",
     "default": false,
     "_src": "AUTHOR/illustrative: LED2 blue '5V Present' ~0.51mA, LED4 green ~0.45mA, LED3 yellow, LED1 WS2812 STATUS/DFU \u2014 per the schematic notes."
    }
   }
  }
 },
 "tooltips": {
  "enabled": true,
  "_note": "Measured from geometry + schematic-note text; no datasheet citations on a molecule page."
 }
}