Skip to content

feat(kbiosystems): add KBiosystems Ultraseal ePRO heat sealer driver#1170

Merged
rickwierenga merged 3 commits into
v1b1from
feat/kbiosystems-eseal
Jul 20, 2026
Merged

feat(kbiosystems): add KBiosystems Ultraseal ePRO heat sealer driver#1170
rickwierenga merged 3 commits into
v1b1from
feat/kbiosystems-eseal

Conversation

@rickwierenga

@rickwierenga rickwierenga commented Jul 20, 2026

Copy link
Copy Markdown
Member

Adds a driver for the KBiosystems Ultraseal ePRO microplate heat sealer (pylabrobot/kbiosystems/ultraseal_epro.py).

  • KBiosystemsUltrasealEPRO: plain class over pylabrobot.io.serial.Serial (9600 8-N-1, no handshake, CR terminator).
    API: setup, stop, seal, set_temperature, request_temperature, request_status, initialize,
    the sealing-parameter setters (time/foil/distance/force/force-mode/eco), the request_* readers, and
    send_command.
  • ASCII command protocol: ? status (UltrasealEPROStatus bitfield), E error (DEVICE_ERRORS), S seal,
    I init, A/B/L=/DO=/PS=/FS=/ECO_ for temperature/time/foil/distance/force/eco, C/D/F
    setpoint and current readings, V firmware. The device echoes the command in front of its reply; the echo
    is stripped before parsing.
  • seal() runs the full sequence: wait for ready, apply time/temperature/foil and force-or-distance
    parameters, wait for the heater to reach the setpoint, seal, then return to the idle temperature.
  • Docs API entry and user-guide hello-world added (product page: https://www.kbiosystems.com/product/ultraseal-epro).

Not tested against hardware; setup() logs a warning asking for a PR to remove it once verified.

🤖 Generated with Claude Code

rickwierenga and others added 2 commits July 20, 2026 16:33
KBiosystemsESeal: plain class over pylabrobot.io.serial.Serial (9600 8-N-1,
CR terminator). API: setup, stop, seal, set_temperature, request_temperature,
request_status, initialize, the sealing-parameter setters, and send_command.

ASCII command protocol: ? status (ESealStatus bitfield), E error
(DEVICE_ERRORS), S seal, I init, A/B/L=/DO=/PS=/FS=/ECO_ temperature/time/
foil/distance/force/eco, C/D/F setpoint and current readings, V firmware. The
device echoes the command in front of its reply; the echo is stripped before
parsing.

Docs API and user-guide entries added.

Not tested against hardware; setup() logs a warning asking for a PR to remove
it once verified.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The device's current name is Ultraseal ePRO (formerly eSeal). Rename the class
to KBiosystemsUltrasealEPRO, the status enum to UltrasealEPROStatus, and the
module to ultraseal_epro.py. Docs note the former name and link the product
page.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@rickwierenga rickwierenga changed the title feat(kbiosystems): add KBiosystems eSeal heat sealer driver feat(kbiosystems): add KBiosystems Ultraseal ePRO heat sealer driver Jul 20, 2026
The Ultraseal ePRO homes on the I command; run it as part of setup() instead of
exposing a separate initialize() method.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@rickwierenga
rickwierenga merged commit 000e6cc into v1b1 Jul 20, 2026
1 of 19 checks passed
@rickwierenga
rickwierenga deleted the feat/kbiosystems-eseal branch July 20, 2026 23:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant