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:
| Peripheral | Card in the panel | Channels | Why |
|---|---|---|---|
| UART / Serial | Serial: Channel N | 0, 1 | Two independent UART controllers on the ESP32-S3. |
| I2C | I2C: Channel N | 0, 1 | Two independent I2C controllers on the ESP32-S3. |
| SPI | SPI: Channel N | 0, 1 | Two independent SPI controllers on the ESP32-S3 — channel 1’s pin mapping is still rolling out on the device side, see below. |
| CAN | CAN: Channel N | 0 only | The 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.
| Setting | Options | Default |
|---|---|---|
| Baudrate | 1200 to 921600 bps (14 standard steps) | 115200 |
| Data Bits | 5, 6, 7, 8 | 8 |
| Parity | None, Even, Odd | None |
| Stop Bits | 1, 2 | 1 |
| Flow Control | None, RTS, CTS, RTS/CTS | None |
| Mode | Full Duplex, Half Duplex | Full 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.
| Setting | Options | Default |
|---|---|---|
| Baudrate | 100 000 Hz, 400 000 Hz | 100 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).
| Setting | Options | Default |
|---|---|---|
| Clock rate | 1 MHz, 2 MHz, 4 MHz, 8 MHz | 1 MHz |
| Mode | 0, 1, 2, 3 | 0 |
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.
| Setting | Options | Default |
|---|---|---|
| Timing | 25, 50, 100, 125, 250, 500, 800 kbps, 1 Mbps | 250 kbps |
Per-frame details (the arbitration ID to send or filter on) stay on the individual CAN node.