Skip to the content
PCBKitNew board
2 layers84.7 × 20.9 mm4-pump module, the printed circuit board in 3D

4-pump module

cjlawson02/Rumtime

Compile recipes, then execute cocktails at rumtime.

Size
84.7 × 20.9 mm
Copper layers
2
Thickness
1.6 mm
Parts
30
Nets
42
Pads
115
Tracks, vias
181, 3
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
18 Jun 2026
Updated
7 Nov 2026

Overview

4-pump module is an open-source printed circuit board by cjlawson02, from the cjlawson02/Rumtime repository on GitHub, published under the MIT licence. It is a 2-layer board of 84.7 × 20.9 mm with 30 parts on 42 nets, routed with 181 tracks and 3 vias.

Its parts include 16 resistors, 9 connectors, 1 capacitor, 1 IC and 1 fuse.

README

README.md

Rumtime

Rumtime is a modular cocktail execution engine: ingredients are registered as services, recipes are resolved at runtime, and beverages are dispensed through a scalable ESP32-powered pump architecture.

This repo holds Rumtime documentation, Phase 0 bench-rig firmware, and KiCad PCB specifications. CAD and full product firmware are still in progress. The v1 hardware design uses food-safe tubing, Kamoer KPHM100-class reversible peristaltic pumps, modular 4-pump cartridges, and an ESP32-S3 controller. Software stack direction (Cloudflare kiosk UI, ESP32 dispense engine) and locked firmware runtime model (ControlTask + command queue on FreeRTOS) are in docs/16-firmware-and-software-architecture.md. Kiosk UX and React + shadcn stack in docs/17-kiosk-ui-plan.md; production app at ui/kiosk/. Provisional device HTTP contract in docs/18-kiosk-device-api.md.

Current design snapshot

  • Version 1 pump count: 8 installed pumps.
  • Expansion target: 12 total pumps via one additional 4-pump module.
  • Control platform: ESP32-S3 or similar ESP32 board, Wi-Fi only.
  • Pump strategy: One reversible peristaltic pump per ingredient.
  • Measurement strategy: Timed dispensing after calibration; load cell required for glass/ice detection, flow-gated pour start, and sanity checks.
  • Carbonation: Do not pump carbonated mixers in v1. Software should instruct the user to top off manually.
  • Cleaning: Moderate-effort cleaning with warm-water flush and Star San/session sanitizer workflow.
  • Budget target: About $500 max for v1, excluding liquor and ingredients.
  • Build style: Finished-looking countertop dispenser, with external bottles and replaceable tubing.

Document map

FilePurpose
AGENTS.mdCoding-agent and contributor behavior rules based on the requested Karpathy-style guidelines.
docs/00-project-brief.mdScope, goals, assumptions, and non-goals.
docs/01-decisions.mdAll captured design decisions from the planning conversation.
docs/02-system-architecture.mdHardware architecture and module layout.
docs/03-parts-list-bom.mdInitial parts list with budget notes and sourcing guidance.
docs/04-plumbing-and-fluid-path.mdTubing, fittings, bottles, nozzles, and ingredient compatibility.
docs/05-electronics-and-pcb.mdElectrical design and 4-pump PCB guidance.
docs/06-flow-calibration-and-inventory.mdTimed flow calibration, flow-gated dispense, load cell, and inventory tracking.
docs/07-cleaning-and-food-safety.mdCleaning workflow, sanitizer handling, and maintenance assumptions.
docs/08-mechanical-design.mdEnclosure, pump cartridges, drip tray, nozzle cluster, and fridge notes.
docs/09-build-plan-and-verification.mdStaged build plan with success criteria and test checks.
docs/10-open-questions-and-v2.mdDeferred decisions, v2 ideas, and risks.
docs/11-sourcing-notes.mdSourcing notes and search terms for pumps, tubing, fittings, electronics, and enclosure parts.
docs/12-phase-0-decisions.mdResearch-backed Phase 0 part decisions (pump, PSU, KiCad).
docs/13-phase-0-mini-bom.mdPhase 0 shopping list (~2-pump bench rig).
docs/14-bench-test-protocol.mdBench tests, pass criteria, and session log template.
docs/15-project-timeline.mdGantt chart, milestones, and procurement log (order/receive dates).
docs/16-firmware-and-software-architecture.mdSoftware stack decisions, firmware layers, sequence runner, NVS ownership, migration from bench rig.
docs/17-kiosk-ui-plan.mdLocked kiosk UX, connectivity, and guest/setup flows.
ui/kiosk/Production kiosk PWA — see ui/kiosk/README.md.
firmware/bench-rig/ESP32-S3 + TB6612 bring-up firmware (PlatformIO).
firmware/controller/ESP32-S3 product firmware scaffold (ControlTask runtime; pump subsystem implemented).
hardware/kicad/KiCad 4-pump module project, schematic spec, and kicad-cli scripts.
hardware/cad/build123d parametric CAD (src/), dimension refs (refs/), export scripts; Onshape for assembly review only.

Design philosophy

Build the simplest version of Rumtime that can make repeatable drinks, clean up reasonably, and expand without rewiring everything. Avoid premature complexity such as inline flow meters, shared manifolds, fridge drilling, carbonated pumping, or fully custom embedded module networks until the basic 8-pump machine has been validated.

Current status

Next action: Fit-check/measure the assembled load-cell cantilever, then solder the bar to HX711 (E+/E−/A+/A−) and run Tests 7–9. Parallel: finish 4-pump PCB layout (silkscreen/placement). Schematic v1 is ERC-clean. Bar 75 mm, holes 5 / 15 / 59 / 69, M4 tapped — hardware/cad/refs/estardyn-load-cell.md. HX711↔MCU already wired (GPIO 8/9). Sessions: 06 (measure + print) · 07 (assembled, not measured).

Done so far: 8× correct 12 V HB pumps are on hand and the 2 wrong 24 V units were returned. P1 + P2 are bench-validated @ 1.75 ml/s; dual-pump ~0.4 A; anti-drip 100 ms; P2 sequential 50 ml target → ~45 ml (anti-drip); host CLI benchctl.py + proto=2 serial parser. The other 6 pumps still need incoming inspection and variance testing.

Decisions are locked in docs/12-phase-0-decisions.md (KPHM100-HBB10 pump, TB6612 breakout, ESP32-S3-DevKitC-1, KiCad for Phase 2 PCB).

First prototype goal

Validate the core liquid path with 2–4 pumps. Module schematic v1 is done (ERC clean). Layout/silkscreen in progress. Fab waits on DRC (I2C bring-up is Test 10 on the first board).

  1. Dispense 15 ml, 30 ml, and 60 ml targets by time after calibration.
  2. Validate flow-gated dispense vs timed-only on de-primed and post–anti-drip lines (Test 9) — v1 pour default, not a PCB gate.
  3. Reverse briefly after pours to reduce drips; document sequential pour drift (Test 4b).
  4. Flush simple syrup and grenadine adequately with warm water.
  5. Confirm tubing and nozzles do not retain obvious flavor or clog during a normal session.
  6. Confirm load cell detects glass, ice tare, flow onset, and no-flow conditions (Tests 7–9) — v1 pour, not a PCB gate.
  7. I2C pump control is proven on the first assembled module (Test 10), not a pre-fab MCP23017 breakout.

After DRC, fabricate the 4-pump module (hardware/kicad/) and proceed to the finished enclosure.

Parts

30
QtyValueFootprintReferences
1610kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16
1100nFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC1
12A PTC TBDFuse:Fuse_1812_4532Metric_Pad1.30x3.40mm_HandSolderF1
1A0Jumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mmJP1
1A1Jumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mmJP2
1Conn_02x03_Counter_ClockwiseConnector_Molex:Molex_Micro-Fit_3.0_43045-0600_2x03_P3.00mm_HorizontalJ1
1MCP23017x-x-SOPackage_SO:SOIC-28W_7.5x17.9mm_P1.27mmU1
1PUMP 1Connector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_VerticalJ3
1PUMP 2Connector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_VerticalJ4
1PUMP 3Connector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_VerticalJ5
1PUMP 4Connector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_VerticalJ6
1Pololu1-CTRLConnector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_VerticalJ7
1Pololu1-PWRConnector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_VerticalJ8
1Pololu2-CTRLConnector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_VerticalJ9
1Pololu2-PWRConnector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_VerticalJ10

Questions

How big is the 4-pump module PCB?

It measures 84.7 × 20.9 mm and has 2 copper layers, 1.6 mm thick.

What parts does the 4-pump module use?

30 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the 4-pump module KiCad files?

From the cjlawson02/Rumtime repository on GitHub, at the commit this page was made from: the board is hardware/kicad/4-pump-module/4-pump-module.kicad_pcb and its schematic hardware/kicad/4-pump-module/4-pump-module.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the 4-pump module design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

More from cjlawson02/Rumtime

1
  • 2 layers76.7 × 51.1 mmMain controller, the printed circuit board in 3D

    Main controller

    cjlawson02/Rumtime

    Compile recipes, then execute cocktails at rumtime.

    28 partsMIT

Similar boards

  • 2 layers52.2 × 52.2 mmBase promicro, the printed circuit board in 3D

    Base promicro

    google/mozc-devices

    Circuit diagrams and firmware source code for Gboard DIY keyboards

    30 parts3kApache-2.0
  • 2 layers40.6 × 15.2 mmVr mmm, the printed circuit board in 3D

    Vr mmm

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    30 parts1.2k
  • 2 layers270 × 11 mmDaylight, the printed circuit board in 3D

    Daylight

    VoronDesign/Voron-Hardware

    Cool Hardware designed by the Voron Design group

    30 parts1.1kGPL-3.0
  • 2 layers65 × 30 mmRgb to hdmi, the printed circuit board in 3D

    Rgb to hdmi

    hoglet67/RGBtoHDMI

    Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

    30 parts1kGPL-3.0
  • 2 layers40.5 × 58 mmInitial v, the printed circuit board in 3D

    Initial v

    tenderlove/initial-v

    It's a BMW shifter converted to a Bluetooth Keyboard that you use with Vim

    30 parts1kApache-2.0
  • 2 layers34.3 × 41.8 mmMotionCubeViewAllForces, the printed circuit board in 3D

    MotionCubeViewAllForces

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    30 parts915
  • 2 layers57.4 × 62 mmPicoWS2812, the printed circuit board in 3D

    PicoWS2812

    ErichStyger/mcuoneclipse

    McuOnEclipse projects and examples

    30 parts765
  • 2 layers52.1 × 46.8 mmFIRE TEST PANEL, the printed circuit board in 3D

    FIRE TEST PANEL

    jrsteensen/OpenHornet

    OpenHornet 1:1 F/A-18C Simulator Repository

    30 parts431