Terminal Mode
Mode 1 · Supernova only · Introduced in firmware v4.4.0
Terminal Mode turns the virtual COM port into an interactive text shell. Open
the port in any serial terminal (PuTTY, screen, minicom, the Arduino Serial
Monitor) and type commands to drive I2C, I3C and GPIO directly. No Mission
Control, no SDK, no code.
It’s built for quick bring-up work: scanning a bus, poking at a register, toggling a pin to see what happens.
Quick start
Section titled “Quick start”{% stepper %} {% step %}
Put the device in terminal mode
Section titled “Put the device in terminal mode”python device_settings_cli.py set --cdc-mode terminalThe tool resets the device: the mode only takes effect at boot. {% endstep %}
{% step %}
Open the COM port
Section titled “Open the COM port”Any serial terminal will do. Baud rate, parity and stop bits are ignored: this is a USB CDC endpoint, not a real UART, so pick anything. {% endstep %}
{% step %}
Press Enter
Section titled “Press Enter”The banner and prompt appear:
Binho Supernova Interactive ShellType 'help' for commands.>{% endstep %}
{% step %}
Explore
Section titled “Explore”help lists every command with a short description. info reports the device
name and firmware version.
{% endstep %}
{% endstepper %}
What the shell can do
Section titled “What the shell can do”- I2C: speed select (100k / 400k / 1M), bus scan, read, write, and combined write-read.
- I3C: clock configuration, scan, ENTDAA / RSTDAA / target reset, SDR read/write/write-read, broadcast and direct CCCs, HDR-DDR read/write, IBI enable/disable/wait/read, and hot-join polling.
- GPIO: per-pin read and write on pins 1–6.
- Built-ins:
helpandinfo.
Line editing is included: 16 commands of history on the arrow keys, Tab
completion of the first word, Ctrl-C to cancel a line, and a @ prefix for
silent mode. Lines are limited to 256 characters and 32 arguments.
What it can’t do
Section titled “What it can’t do”- SPI: no shell commands.
- UART bridging: the COM port is the terminal here. Use UART Passthrough for bridging.
- Analog reads, DAC, VREF, and the RGB LED: not exposed.
- Power rail control: the shell powers both switchable rails to 1.8 V at startup so the buses and level shifters work, but there is no command to change the voltage or turn a rail off.
- Firmware update or bootloader entry: no shell command. Both remain reachable over HID.
- More than one session: a single USB host, single port.
Transfers are capped at 256 bytes by the shell’s buffers, and commands run one at
a time, blocking until they finish. An operation that doesn’t complete within two
seconds prints ERROR(timeout).
Getting back out
Section titled “Getting back out”The HID system channel does keep running, which is the way back:
python device_settings_cli.py set --cdc-mode uart_passthroughThis works while the device is still in Terminal Mode. Device info, reset, bootloader entry and voltage control stay available over HID for the same reason.
Credit
Section titled “Credit”The shell is a deliberate emulation of the open-source I3CBlaster project, which inspired its design and command style.

