Skip to Content
PRIZM CloudBlueprintsPeripheral settings

Peripheral settings

A handful of prefabs — the Serial Reader and Writer, I2C Reader and Writer, the CAN prefabs, and SPI-based sensors — talk to a physical bus instead of pure data. Each one exposes a channel constant (for example serial_channel) that says which bus instance it uses, but the bus’s own parameters (baud rate, CAN bit timing, and so on) are not set on the node. They live in the Global Peripheral Configuration panel, one place for the whole blueprint, because several nodes often share the same physical bus and must agree on how it’s configured.

This is a separate, dedicated panel in the Blueprint Editor — it is not part of the Ship deploy dialog. The deploy dialog only asks which bundle to deploy to; whatever is currently set in this panel travels with it automatically. See Deploying a blueprint.

At a glance, here is every peripheral type and how many channels it has — the sections below cover each one’s settings in full:

PeripheralCard in the panelChannelsWhy
UART / SerialSerial: Channel N0, 1Two independent UART controllers on the ESP32-S3.
I2CI2C: Channel N0, 1Two independent I2C controllers on the ESP32-S3.
SPISPI: Channel N0, 1Two independent SPI controllers on the ESP32-S3 — channel 1’s pin mapping is still rolling out on the device side, see below.
CANCAN: Channel N0 onlyThe ESP32-S3 has a single CAN (TWAI) controller — there is no second one to add a channel 1 for.

Open the panel

Click the sliders icon (Global Peripheral Configuration) in the canvas toolbar, next to Undo / Redo / Copy / Paste. It’s disabled until the canvas contains at least one peripheral-aware prefab with a channel assigned — placing one and giving it a channel number is what makes a settings card appear.

The panel lists one card per active channel, not per node: drop three I2C sensors that all use i2c_channel: 0, and you still get a single I2C: Channel 0 card, because they physically share the same bus and must run at the same speed. Cards are grouped by type (Serial, I2C, SPI, CAN) and sorted by channel number. Deleting the last node that uses a channel removes its card and forgets its settings.

Values you set here are saved with the blueprint on Save, and are read back the next time you open it — they are not re-entered on every visit.

UART / Serial

Shown in the panel as Serial: Channel N. Used by prefabs whose channel constant starts with uart — for example the Serial Reader and Serial Writer prefabs, and the Modbus RTU Reader / Writer prefabs.

Channels: 0, 1 — matching UART Channel 0 / UART Channel 1 in the device’s Hardware settings.

SettingOptionsDefault
Baudrate1200 to 921600 bps (14 standard steps)115200
Data Bits5, 6, 7, 88
ParityNone, Even, OddNone
Stop Bits1, 21
Flow ControlNone, RTS, CTS, RTS/CTSNone
ModeFull Duplex, Half DuplexFull Duplex

Switching Mode to Half Duplex (RS-485) forces Flow Control to None and hides the field — half-duplex mode drives the bus through a single DE (driver-enable) pin instead. That DE pin is assigned per channel in the device’s Hardware settings; without it, the UART bus fails to start.

I2C

Shown in the panel as I2C: Channel N. Used by the I2C Reader / Writer prefabs and any sensor prefab whose peripheral is i2c (for example onboard/Qwiic sensors).

Channels: 0, 1 — matching I2C Channel 0 / I2C Channel 1 in the device’s Hardware settings. PRIZM Core Neo wires its onboard accelerometer and RTC to I2C Channel 1 by default — see I2C Bus.

SettingOptionsDefault
Baudrate100 000 Hz, 400 000 Hz100 000 Hz

The per-node address constant (the I2C device address) stays on the node — only the bus speed is global.

SPI

Shown in the panel as SPI: Channel N. Used by SPI-based sensor prefabs (for example the BMA400 accelerometer’s SPI variant).

Channels: 0, 1 — the device has two independent SPI controllers, so both channels can be used at once (for example two different SPI sensors on spi:0 and spi:1).

SettingOptionsDefault
Clock rate1 MHz, 2 MHz, 4 MHz, 8 MHz1 MHz
Mode0, 1, 2, 30

The Mode is the standard SPI mode (clock polarity and phase) and has to match what the connected SPI device expects — check the sensor’s datasheet. Like the clock rate, it applies to the whole channel, so every node on the same SPI channel shares it. Leave it at 0 unless the datasheet calls for a different mode. Setting the SPI mode requires firmware 0.32.0 or later.

On the device side, Soft AP hardware settings today only expose pin mapping for SPI channel 0 — support for assigning SPI channel 1’s pins there is rolling out. Until it appears on your device, wire SPI-based prefabs to channel 0.

CAN

Shown in the panel as CAN: Channel N. Used by the CAN Reader/Monitor and CAN Writer prefabs. This sets the bus’s bit rate — CAN requires every node on the bus to run at the same speed, so it can’t be a per-node setting.

Channels: 0 only — the device has a single CAN controller today.

SettingOptionsDefault
Timing25, 50, 100, 125, 250, 500, 800 kbps, 1 Mbps250 kbps

Per-frame details (the arbitration ID to send or filter on) stay on the individual CAN node.

Last updated on