Jubilee Sonication Station
SoftwarePython orchestration and interface-board source for plate-handling sonication on an existing Jubilee platform. [1] [2] [3] [4] [5] [6] [7] [8]
Installation & first result →Official websiteGetting started
- For
- Robotics developers inspecting the selected design and configuration [1] [2] [3] [4] [5] [6] [7] [8]
- Hardware
- Existing Jubilee/Duet3 motion platform with attached Pi/local I2C/GPIO sonicator interfaces and matched labware/tool… [1] [6] [7]
- Source rights
- Some licenses are unresolved. Review licenses
- Unknowns
- compute requirements not fully established. Review gaps
Source researched · Not tested by us
Sources checked · Research details
Licenses & related hardware
- License
- MIT · license not fully assessed for documentation · Details by part
Overview
Sonication Station combines Python orchestration and interface-board source for plate handling and sonication on an existing Jubilee platform. Its reader value is the controller/deck/tool workflow and inspectable implementation. It is not a complete motion platform, a validated assay or a certified sonicator installation. [1] [3] [6] [7]
Is this for you?
- Known limitations
- Package metadata declares MIT but no root license text identified; hardware/media reuse grant not established.
- Network interruption can halt the machine per README; local use recommended upstream, not validated production readiness here.
- Explicit simulated mode is not hardware communication; sonicator cleanup lacks an encompassing finally in inspected operation.
- No calibration, energy delivery, assay efficacy or safe interruption behavior established.
- Station initializes local Sonicator I2C/GPIO even when motion controller simulated; remote motion address does not relocate those interfaces. README JSON/required-argument mismatches remain source-level adaptation work.
Editorial assessment of bounded source evidence; no runtime, fit, manufacturing or compatibility proof.
What you need
- Operating system
- POSIX/Linux classifier in setup.py; actual controller environment not independently validated.
Source-reported requirement/configuration, not a tested installation, compatibility matrix or measured runtime result.
- Languages / runtimes
- Python>=3.6 per package metadata.
Source-reported requirement/configuration, not a tested installation, compatibility matrix or measured runtime result.
- Dependencies
- Existing Jubilee/Duet3/Raspberry Pi platform and configured labware/tools
- Python>=3.6 declared; inpromptu 0.0.5, Adafruit MCP4725 and Blinka dependencies
- Physical sonicator interface/hat, I2C DAC and GPIO enable wiring
Installation & first result
Open the upstream getting-started guide [1] [2] [3] [4] [5] [6] [7] [8]
- Install editable package per README only in selected controller environment.
- Inspect clear-deck homing, plate configuration and tool return requirements.
- Review sonicator enable/DAC and exception cleanup before attempting operation.
Editorial assessment of bounded source evidence; no runtime, fit, manufacturing or compatibility proof.
- Installation
README pip3 install -e . in the selected local controller or remote motion host environment. Sonicator I2C/GPIO remains local even in simulated mode, so station hardware/interface assumptions need reconciliation.
Source-reported requirement/configuration, not a tested installation, compatibility matrix or measured runtime result.
Hardware, models & data
Project notes
Choose the controller environment first
The README describes local operation on Jubilee's attached Raspberry Pi and a separate-PC network route. It recommends the local route for production use and warns that network loss can halt remote execution and latency can slow it. These are upstream operating recommendations, not production reliability established here. The motion controller has a simulated mode, but SonicationStation still constructs Sonicator unconditionally. That initializes I2C/GPIO on the local Python host, including with simulated=True. Selecting a remote motion address does not route those sonicator interfaces to the machine's Pi; neither a hardware-free station mode nor the separate-PC interface arrangement was established. [1] [3] [6] [7]
The documented installation is pip3 install -e . from the repository. Setup metadata declares Python 3.6 or later, package 0.0.1 and dependencies including inpromptu 0.0.5, Adafruit MCP4725 and Blinka. A current compatible environment was not reproduced; those declarations do not establish availability for an arbitrary PC or operating system. [1] [2]
Configure the machine state and deck deliberately
The quickstart requires powering on with no labware, homing, selecting or creating the deck configuration, loading labware and only then executing operations or protocols. Use setup_plate to define plate locations, well counts and heights, and a safe_z clearance that accommodates loaded labware and the actual tools. The implementation guards setup_plate/sonicate_well on safe_z rather than supplying a universal safe height. The documented sequence ends with tool return, labware removal and power-off. The README also calls for recovering tools after emergency power loss. Those prerequisites matter before adapting the example protocol; a Python import does not home or calibrate the machine. [1] [8]
The controller implementation sends G-code through the configured machine HTTP interface, and the sonicator module initializes an I2C DAC at address 0x60 with a GPIO enable output. Match the physical DAC/enable wiring and interface board rather than assuming an application command reaches the correct instrument. The original KiCad board and schematic were retrieved and identity-checked, but no native DRC or electrical/host connection was tested. [3] [4] [5] [6]
The README's JSON example wraps commands in a protocol object, while execute_protocol_from_file passes the parsed object directly to code iterating operation entries. Its example also omits power, pulse_duty_cycle and pulse_interval required by sonicate_well. Reconcile the JSON structure and required arguments against the pinned implementation before adapting the example; these are static mismatches, not reproduced runtime failures. [1] [7]
Inspect interruption behavior before physical use
The sampled sonicator operation sets DAC power, toggles enable in a timed loop, and resets outputs at normal completion. That reset is not enclosed in an encompassing finally block in the inspected method; an exception or interruption cannot be assumed to take the normal completion path. Its __exit__ cleanup method also does not itself prove how every calling context handles failure. This review establishes no safe-interruption or shutdown behavior. [6] [7]
The package metadata declares MIT, but no root license text was identified; that declaration does not establish a hardware or media grant. External dependencies, sonicator and parent platform retain separate terms. No complete cost, package installation, machine connection, homing, tool calibration, acoustic output, exposure accuracy or assay efficacy was tested. [2] [4] [5] [6]
What we checked
Pinned source and selected artifact structure review only; no dependency installation, upstream build, native CAD/kernel/fit/strength validation, fabrication, wiring, calibration, simulation, powered operation or performance testing. Original archives stay private.
Updates
- Upstream last updated
- Not established
- Latest release
- Not established
- Profile updated
- Nov 1, 2026
- Sources last checked
- Nov 1, 2026
- Next review
- Dec 1, 2026
- Reviewed revision
18c0a87
Source files and licenses
Identifiable robotics contribution with inspected actual source and bounded design/workflow investigation; no missing core functionality inferred.
| Layer | Availability / license |
|---|---|
| software | available · MIT MIT declaration in setup.py, not a located root grant; dependencies separate. [7] [2] |
| documentation | available · License not fully assessed No blanket documentation/media grant established. [1] |
Outside the selected contribution; no separate released layer claimed.
References
Each source links to the exact revision we read. “Used for” shows where this page relies on it.
- S001 README.md
Revision, date & where cited
machineagency/sonication_station contributors · github.com · revision
18c0a87· README.md at · Accessed Nov 1, 2026
Used for: Overview, Is this for you?, What you need, Installation & first result and 4 more - S002 setup.py
Revision, date & where cited
machineagency/sonication_station contributors · github.com · revision
18c0a87· setup.py at · Accessed Nov 1, 2026
Used for: Is this for you?, What you need, Installation & first result, Choose the controller environment first and 2 more - S003 sonication_station/jubilee_controller.py
Revision, date & where cited
machineagency/sonication_station contributors · github.com · revision
18c0a87· sonication_station/jubilee_controller.py at · Accessed Nov 1, 2026
Used for: Overview, Is this for you?, What you need, Installation & first result and 2 more - S004 pcb/sonicator_pi_hat.kicad_sch
Revision, date & where cited
machineagency/sonication_station contributors · github.com · revision
18c0a87· pcb/sonicator_pi_hat.kicad_sch at · Accessed Nov 1, 2026
Used for: Is this for you?, What you need, Installation & first result, Configure the machine state and deck deliberately and 1 more - S005 pcb/sonicator_pi_hat.kicad_pcb
Revision, date & where cited
machineagency/sonication_station contributors · github.com · revision
18c0a87· pcb/sonicator_pi_hat.kicad_pcb at · Accessed Nov 1, 2026
Used for: Is this for you?, What you need, Installation & first result, Configure the machine state and deck deliberately and 1 more - S006 sonication_station/sonicator.py
Revision, date & where cited
machineagency/sonication_station contributors · github.com · revision
18c0a87· sonication_station/sonicator.py at · Accessed Nov 1, 2026
Used for: Overview, Is this for you?, What you need, Installation & first result and 4 more - S007 sonication_station/sonication_station.py
Revision, date & where cited
machineagency/sonication_station contributors · github.com · revision
18c0a87· sonication_station/sonication_station.py at · Accessed Nov 1, 2026
Used for: Overview, Is this for you?, What you need, Installation & first result and 5 more - S008 docs/quickstart.md
Revision, date & where cited
machineagency/sonication_station contributors · github.com · revision
18c0a87· docs/quickstart.md at · Accessed Nov 1, 2026
Used for: Is this for you?, What you need, Installation & first result, Configure the machine state and deck deliberately
Correction guidance · Discussion is not enabled · Profile format 0.7.0-draft.5