> Complete documentation index: [llms.txt](/llms.txt). Markdown versions of all pages are available by appending `.md` to page URLs.

# ASCII Command Set

> The Binho Nova ASCII Command Set: a human-readable serial protocol for controlling the device.

:::note
**Which devices does this apply to?** Binho Nova speaks this protocol natively.
Binho Supernova and Binho Pulsar speak it too, but only while running **Nova
Compatibility Mode**: a USB CDC operating mode that emulates the Nova protocol so
existing Nova host software keeps working.

The emulation is close, not exact. Two whole families (UART and SWI) are absent on
Supernova and Pulsar, 1-Wire is Pulsar-only, and a handful of commands are accepted
but have no hardware effect. Each page in this section opens with what applies to
the device, and diverging commands are marked individually. The full summary
lives on [Nova Compatible Mode](/guides/usb-interfaces/usb-cdc-operating-modes/nova-compatible-mode/).

:::

The ASCII Command Set is a human-readable protocol for talking to the device over a serial port connection. It suits tasks such as debugging device drivers / performance issues, as well as device evaluation and proof of concept development.

:::note
This section is presented as a "Language Reference": it lists every command and its parameters. For worked examples of driving Nova from Python instead, see the [Nova SDK](/software/legacy/nova-sdk/).

:::

Every command returns a response. The three response formats are described here:

* [Receiving Responses](/hardware/nova/ascii-command-set/receiving-responses/)

The ASCII Commands are broken down into several categories.

### Device

The _device_ category includes functions which get device information, control the LED, and set the mode of operation among other things.

* [Device Commands](/hardware/nova/ascii-command-set/device-commands/)

### Buffer

The _buffer_ category includes the functions necessary to read/write the internal buffer. Using the buffer is especially useful when sending predetermined multi-byte transfers, such as when reading and writing FRAM, EEPROM, and FLASH memories.

* [Buffer Commands](/hardware/nova/ascii-command-set/buffer-commands/)

### IO

The _IO_ category includes the functions necessary to control the pins when not being used for digital communications. Each of the available IO pins can be assigned a variety of functions such as digital input, digital output, analog input, analog output, PWM output, and other specialized functions.

* [IO Commands](/hardware/nova/ascii-command-set/io-commands/)

### SPI

* [SPI Commands](/hardware/nova/ascii-command-set/spi-commands/)

### I2C

* [I2C Commands](/hardware/nova/ascii-command-set/i2c-commands/)

### 1-WIRE

* [1-WIRE Commands](/hardware/nova/ascii-command-set/1-wire-commands/)

### SWI

* [SWI Commands](/hardware/nova/ascii-command-set/swi-commands/)

### UART

* [UART Commands](/hardware/nova/ascii-command-set/uart-commands/)
