Skip to main content

dc6006l - CLI/library to control FNIRSI DC Power Supply (DC-6006L, etc)

What is this?

FNIRSI DC6006L is a programmable DC power supply that is quite compact and inexpensive. This CLI tool/library allows you to control an unit over an built-in USB-serial port.

This work is based on the work by jcheger for a similar model, DC-580. They seem to support same set of commands, but are not compatible in message format.

How to install

pip install dc6006l

How to use

dc6006l - Controls FNIRSI DC Power Supply (DC-6006L, etc)
Usage: dc6006l [-p devport] [-m model] cmd [cmd...]
Commands:
  on: Turn power on
  off: Turn power off
  v=<V>: Set target voltage
  c=<A>: Set target current
  ovp=<V>: Set over-voltage limit
  ocp=<A>: Set over-current limit
  opp=<W>: Set over-power limit
  ohp=<sec>: Set over-hour limit (0 to disable)
  noprotect: Disable protection
  stat: Show status (packed trace)
  trace=<n>: Show trace capture (infinite if n=-1)
  flush: Flush/clear log buffer
  echo=<str>: Print given input
  sep: Print separator string
  sleep=<sec>: Sleep for given seconds
  check: Enable double-check mode
Example:
  # Output 1V1A for ~3s
  $ dc6006l v=1 c=1 on sleep=3 off
  # More complex operation
  $ dc6006l check v=1.5 c=1.0 on flush sep trace=15 c=0.5 flush sep trace=15 off
NOTE:
  - Set envvar FNIRSI_PS=/some/devport to specify default port to use.

NOTE

While this code works for me, your milage may vary.

Just as a head-up, in one case, target voltage was unexpectedly set to 15V when I sent a command to set to 1.5V (V0150). Because there is no checksum in frame, I suppose the unit dropped a byte and somehow interpreted as "V1500". While the hardware is nice, it seems there is a serious issue with firmware of the product that it easily drops data sent over a serial port.

I added double-check mode (cmd: check) to cope with this, but this mode is ineffective if you need to change the setting while the unit is already on.

Metadata

Release files for dc6006l 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dc6006l 0.0.1
File Size Uploaded
dc6006l-0.0.1.tar.gz 5.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dc6006l 0.0.1
File Interpreter ABI Platform
dc6006l-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 12.3 kB

Release files / dc6006l-0.0.1.tar.gz

Download URL dc6006l-0.0.1.tar.gz
Size 5.4 kB
Tags Source
SHA-256 checksum
How to use checksums
26989ae30c9c23f6a491b90ecef302d6822ab85cfd0325a362a3df241e0aee09
BLAKE2b-256 checksum
How to use checksums
40ed274b840b532458af40c4c5ecc098a38a9d8086ce2f9f588bdcbd6adc37f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.25.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.6

Release files / dc6006l-0.0.1-py3-none-any.whl

Download URL dc6006l-0.0.1-py3-none-any.whl
Size 6.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9a432fc4f3e88c65f981d71de4c7a044c372d545738189bd57d3e24701957f04
BLAKE2b-256 checksum
How to use checksums
2303d79726002a11196e5cc6d7ef9b8422dced1d2cf7fc443e1e4d79143e3eb3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.25.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.6

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page