{
  "schema_version": 1,
  "type": "component",
  "slug": "teazzers-solenoid-driver-rp2040-v1-1",
  "title": "Teazzers Solenoid Driver RP2040 v1.1",
  "brief": "5-channel MOSFET solenoid driver molecule with RP2040 PICAN castellated module (CAN FD + USB-C), LM2596 24V-to-5V buck regulator, 29 machine contacts. Controls up to 5 solenoid valves for the Teazzers",
  "version": "1.0.0",
  "tags": [],
  "license": "MIT",
  "discovery_triggers": [
    "teazzers solenoid driver",
    "solenoid driver rp2040",
    "mosfet driver molecule",
    "5-channel solenoid",
    "psmn1r2",
    "taprite mosfet",
    "24v solenoid driver",
    "beverage dispenser driver",
    "pump controller",
    "rp2040 pican",
    "pican driver",
    "pican firmware",
    "pican programming"
  ],
  "discovery_pitch": "Teazzers 5-channel solenoid driver molecule — RP2040 PICAN (CAN FD + USB-C), 24V MOSFET switching, LM2596 buck regulator, 29 machine contacts. Controls up to 5 solenoid valves for the beverage dispensing workcell.",
  "sample_prompts": [
    {
      "label": "Solenoid driver",
      "prompt": "Find the Teazzers solenoid driver molecule"
    },
    {
      "label": "MOSFET driver",
      "prompt": "I need a 5-channel MOSFET solenoid driver for the workcell"
    },
    {
      "label": "Pin mapping",
      "prompt": "Show the pin mapping for the Teazzers solenoid driver"
    },
    {
      "label": "RP2040 driver",
      "prompt": "What RP2040-based driver molecules do we have?"
    }
  ],
  "component": {
    "mpn": "Teazzers Solenoid Driver RP2040 v1.1",
    "manufacturer": "",
    "package": "",
    "pin_count": null,
    "category": "molecule",
    "subcategory": "",
    "body_size": null,
    "parts": {},
    "distributor_links": {}
  },
  "readme": "# Teazzers Solenoid Driver RP2040 v1.1\n\nSolenoid driver molecule for the Teazzers beverage dispensing workcell — 102.4×70.4 mm, 5-channel MOSFET driver with RP2040 PICAN castellated module (CAN FD + USB-C), 24V-to-5V buck regulator, and 29 machine contacts. Controls up to 5 solenoid valves and 1 pressure pump via individual high-side MOSFET switches.\n\n## Overview\n\n| Property | Value |\n|---|---|\n| **Molecule ID** | `teazzers-solenoid-driver-rp2040-v1-1` |\n| **Customer** | Teazzers |\n| **Board Size** | 102.4 × 70.4 mm |\n| **MCU Module** | [RP2040 PICAN Castellated v1](https://wiki-ufypy5dpx93o.adom.cloud/molecules/rp2040-pican-castellated-v1) (U401) — RP2040 + MCP251863 CAN FD |\n| **MOSFET Drivers** | 5× PSMN1R2-30YLD (LFPAK56) — low Rds(on) N-channel |\n| **Power Input** | 24V DC via screw terminals |\n| **Regulator** | LM2596S-5 — 24V to 5V, 3A buck converter |\n| **USB** | USB-C 2.0 (UFP, 5.1k pull-down) for programming |\n| **Connectors** | Screw terminals (Phoenix/WAGO), JST-XH, Molex, pin headers |\n| **KiCad Version** | 7/8 |\n\n## Sub-Modules\n\nThis molecule contains the **[RP2040 PICAN Castellated v1](https://wiki-ufypy5dpx93o.adom.cloud/molecules/rp2040-pican-castellated-v1)** as a soldered castellated sub-module (U401). For firmware development, programming, SWD debugging, USB bootloader usage, CAN bus configuration, and the full GPIO/SPI/I2C pinout of the MCU, refer to the PICAN module's wiki page. The PICAN provides the RP2040 MCU, MCP251863 CAN FD controller/transceiver, 16 MB QSPI flash, and USB-C connectivity.\n\n## Functional Blocks\n\n### 5V Buck Regulator\n- **U201**: LM2596S-5 — 24V input, 5V/3A output\n- **L201**: SRR1260-470M (47 µH inductor)\n- **C202, C203**: 220 µF electrolytic caps (input/output)\n- **D201**: SS34 Schottky flyback diode\n- Jumper JP201 selects power source: VBUS (USB), +5V_OUT (regulator), or +5V input\n\n### MCU — RP2040 PICAN Castellated Module\n- **U401**: [RP2040 PICAN Castellated v1](https://wiki-ufypy5dpx93o.adom.cloud/molecules/rp2040-pican-castellated-v1) — soldered as a castellated sub-module\n- Dual-core Arm Cortex-M0+ with integrated MCP251863 CAN FD controller/transceiver\n- 16 MB QSPI flash, 12 MHz crystal\n- USB-C routed through to J402 on the carrier board\n- SWD debug pads (MC411/MC412) and BOOT/RST pads (MC413/MC414) on right edge\n\n## PICAN GPIO → Driver Function Mapping\n\n### MOSFET Gate Drives (solenoid switching)\n\n| RP2040 GPIO | PICAN Pad | Driver Net | Function |\n|---|---|---|---|\n| GPIO4 | X9 | /FET5_GATE | Solenoid CH5 gate |\n| GPIO5 | X10 | /FET4_GATE | Solenoid CH4 gate |\n| GPIO6 | X11 | /FET3_GATE | Solenoid CH3 gate |\n| GPIO7 | X12 | /FET2_GATE | Solenoid CH2 gate |\n| GPIO8 | X13 | /FET1_GATE | Solenoid CH1 gate |\n\n### Pump Control\n\n| RP2040 GPIO | PICAN Pad | Driver Net | Function |\n|---|---|---|---|\n| GPIO11 | X16 | /PUMP1 | Pump 1 control |\n| GPIO12 | X17 | /PUMP2 | Pump 2 control |\n| GPIO13 | X18 | /PUMP3 | Pump 3 control |\n| GPIO14 | X19 | /PUMP4 | Pump 4 control |\n| GPIO15 | X20 | /PUMP5 | Pump 5 control |\n\n### Status LEDs\n\n| RP2040 GPIO | PICAN Pad | Driver Net | Function |\n|---|---|---|---|\n| GPIO9 | X14 | /LED1 | LED1 indicator |\n| GPIO10 | X15 | /LED2 | LED2 indicator |\n| GPIO16 | X21 | /LED3 | LED3 indicator |\n| GPIO18 | X38 | /LED4 | LED4 indicator |\n\n### Programming & Debug\n\n| Signal | PICAN Pad | Driver Net | Machine Contact |\n|---|---|---|---|\n| USB D+ | X41 | /USB_D+ | MC402 |\n| USB D- | X40 | /USB_D- | MC403 |\n| SWD_CLK | X34 | /SWD_CLK | MC411 |\n| SWD_IO | X35 | /SWD_IO | MC412 |\n| BOOT | X36 | /BOOT | MC413 |\n| RST | X57 | /RST | MC414 |\n\n### Unused PICAN GPIOs\n\n22 PICAN pads are not connected on the driver board:\n\n| PICAN Pad | GPIO / Function |\n|---|---|\n| X5 | GPIO0 / UART0 TX |\n| X6 | GPIO1 / UART0 RX |\n| X7 | GPIO2 / I2C1 SDA |\n| X8 | GPIO3 / I2C1 SCL |\n| X22 | GPIO17 / LED data |\n| X23 | GPIO19 |\n| X24–X27 | GPIO20–23 / SPI (SDI, CS, SCK, SDO) |\n| X29 | GPIO25 |\n| X30–X33 | A0–A3 (GPIO26–29) / ADC |\n| X37 | GPIO24 |\n| X42–X43 | nINT1, nINT0/XSTBY (MCP251863) |\n| X44, X53 | RXD, TXD (MCP251863) |\n| X47 | nINT (MCP251863) |\n| X54 | STBY (MCP251863) |\n| X55–X56 | CANH, CANL (CAN bus) |\n\n### 5-Channel MOSFET Driver\nEach channel (Q301, Q503, Q601, Q701, Q801) is identical:\n- **PSMN1R2-30YLD** N-channel MOSFET (30V, 1.2 mΩ Rds(on), LFPAK56)\n- 24k gate pull-down resistor\n- 10 Ω gate series resistor (current limiting)\n- 10k pull-up for status feedback\n- SS34 Schottky flyback diode per channel\n- Red LED per channel for activity indication\n\n### Solenoid/Pump Outputs\n| Channel | Gate Net | Drain Net | Output Connector | Function |\n|---|---|---|---|---|\n| 1 | /FET1_GATE | /DRAIN1 | J301 + MC301/MC302 | Solenoid 1 |\n| 2 | /FET2_GATE | /DRAIN2 | J502 + MC503/MC504 | Solenoid 2 |\n| 3 | /FET3_GATE | /DRAIN3 | J601 + MC601/MC602 | Solenoid 3 |\n| 4 | /FET4_GATE | /DRAIN4 | J701 + MC701/MC702 | Solenoid 4 |\n| 5 | /FET5_GATE | /DRAIN5 | J801 + MC801/MC802 | Solenoid 5 |\n\nEach output pair has one drain contact and one +24V contact for the solenoid return path.\n\n## Machine Contact Pin Mapping\n\n29 machine contacts across 3 edges.\n\n### Top Edge (Y = -1) — Signal & Control\n\n| Contact | Net | Function |\n|---|---|---|\n| MC203 | +5V_OUT | 5V regulated output |\n| MC204 | GND | Ground |\n| MC405 | PUMP1 | Pump control 1 |\n| MC406 | PUMP2 | Pump control 2 |\n| MC407 | PUMP3 | Pump control 3 |\n| MC408 | PUMP4 | Pump control 4 |\n| MC409 | PUMP5 | Pump control 5 |\n| MC410 | GND | Ground |\n| MC401 | VBUS | USB VBUS |\n| MC402 | USB_D+ | USB data + |\n| MC403 | USB_D- | USB data - |\n| MC404 | GND | Ground |\n\n### Right Edge (X = 97) — Debug & Programming\n\n| Contact | Net | Function |\n|---|---|---|\n| MC411 | SWD_CLK | SWD debug clock |\n| MC412 | SWD_IO | SWD debug data |\n| MC413 | BOOT | Bootloader select |\n| MC414 | RST | Reset |\n\n### Left Edge — Power Input\n\n| Contact | Net | Function |\n|---|---|---|\n| MC201 | GND | Ground |\n| MC202 | +24V | 24V power input |\n\n### Bottom Edge (Y = -65) — Solenoid Outputs\n\n| Contact | Net | Function |\n|---|---|---|\n| MC301 | DRAIN1 | Solenoid 1 drain |\n| MC302 | +24V | Solenoid 1 supply |\n| MC503 | DRAIN2 | Solenoid 2 drain |\n| MC504 | +24V | Solenoid 2 supply |\n| MC601 | DRAIN3 | Solenoid 3 drain |\n| MC602 | +24V | Solenoid 3 supply |\n| MC701 | DRAIN4 | Solenoid 4 drain |\n| MC702 | +24V | Solenoid 4 supply |\n| MC801 | DRAIN5 | Solenoid 5 drain |\n| MC802 | +24V | Solenoid 5 supply |\n\n## Connectors\n\n| Ref | Type | Function |\n|---|---|---|\n| J201 | Screw terminal (Phoenix, 5.00mm) | 24V power input |\n| J202 | Screw terminal (Phoenix, 5.00mm) | 5V power output |\n| J203 | Screw terminal (WAGO 2601, 3.50mm) | 24V power input (alt) |\n| J204 | Screw terminal (WAGO 2601, 3.50mm) | 5V power output (alt) |\n| J205 | Pin header 1×03 (2.54mm) | Power source jumper |\n| J301 | Pin header 1×02 | Solenoid 1 output |\n| J401 | JST-XH 1×06 (2.50mm) | 3.3V logic connector |\n| J402 | USB-C receptacle | Programming / power (UFP) |\n| J502–J801 | Pin header 1×02 | Solenoid 2–5 outputs |\n\n## Power Architecture\n\n```\n+24V input ──→ LM2596S-5 ──→ +5V (3A)\n                                  │\n                        JP201 selects: VBUS / +5V_OUT / +5V\n                                  │\n                                  ▼\n                        RP2040 PICAN module (internal 3.3V LDO)\n```\n\n## Status LEDs\n\n| LED | Color | Function |\n|---|---|---|\n| D202 | Yellow | 24V power indicator |\n| D203 | Red | Fault indicator |\n| D401 | Yellow | 5V power indicator |\n| D402 | Green | MCU status |\n| D403 | Yellow | CAN activity |\n| D404 | Green | USB activity |\n| LED301, LED502, LED601, LED701 | Red | Per-channel solenoid activity |\n\n## Fabrication\n\n- BOM: `jlcpcb/production_files/BOM-Taprite-MOSFET-board-as-molecule_rework_PICAN_v1.csv`\n- CPL: `jlcpcb/production_files/CPL-Taprite-MOSFET-board-as-molecule_rework_PICAN_v1.csv`\n- Gerbers: `jlcpcb/production_files/GERBER-Taprite-MOSFET-board-as-molecule_rework_PICAN_v1.zip`\n\n## 3D Models\n\n- `Teazzers_Solenoid_Driver_RP2040_v1.1.glb` — assembled board with PICAN module (5.1 MB)\n- `Taprite-MOSFET-board-as-molecule_rework_v1-1.glb` — board-only variant (6.0 MB)\n",
  "author": {
    "name": "Kyle Bergstedt",
    "email": "[email protected]"
  },
  "visibility": {
    "public": true
  },
  "hero": null,
  "metadata": {},
  "created_at": "2026-05-28T05:30:48.054Z",
  "updated_at": "2026-05-28T05:30:48.054Z",
  "org": "adom"
}