spi Write

Write a data value to the SPI slave device and return its response.


Data values are written to a SPI slave device connected to the micro:bit by the SPI pins. The data value might be either a command for the connected device or some value for its use. If the write operation causes the connected device to send a value back to the micro:bit, this will be the return value for the spiWrite function.


This function needs real hardware to work with. It’s not supported in the simulator.


  • value: a number which is the data value to send to the SPI slave device.


  • a number value which is the response from the SPI slave device.


Send the command to read the value of the WHOAMI register from the device connected to the SPI bus. The chip select line is connected to pin 0 and the SPI signals use pins P13, P14, and P15.

pins.digitalWritePin(DigitalPin.P0, 1);
pins.spiPins(DigitalPin.P15, DigitalPin.P14, DigitalPin.P13);
pins.spiFormat(8, 3);
pins.digitalWritePin(DigitalPin.P0, 0);
let command = pins.spiWrite(143);
let whoami = pins.spiWrite(0);
pins.digitalWritePin(DigitalPin.P0, 1);
serial.writeLine("WHOAMI register value: " + whoami)

See also

spi pins, spi frequency, spi format

SPI Programming