In all datasheets up until now I have only seen MISO and MOSI in use as SPI data line identifiers. However the datasheet of an automotive microcontroller refers to these lines as SPI_TXD and SPI_RXD.

I'd assume that this is just a different naming convention and the following is true:


Unfortunately I cannot provide a link to the datasheet as it is not publicly available.


Is this correct, provided that we're looking from the uController (i.e. Master) side?

  • \$\begingroup\$ Is this in the pinout description? On a device pin it's usually as seen from that device (at least that's the case for the RP2040). So a pin named RX would be MISO on a controller and MOSI on a peripheral. On a connector I would say there is no convention. \$\endgroup\$ Nov 9, 2021 at 14:03
  • 2
    \$\begingroup\$ The answer will be in datasheet itself. There can be no generic answer. \$\endgroup\$
    – Mitu Raj
    Nov 9, 2021 at 14:03
  • 10
    \$\begingroup\$ It doesn't make sense to refer to MOSI and MISO as "Rx" or "Tx" unless you do so from a certain node's viewpoint. The naming is senseless - MOSI and MISO are great names since they eliminate the whole tx rx brainfart terminology that we see in for example UART-based buses. Tx and Rx of what, is it a modem, is it a terminal, is it semi-duplex. Sigh. Anyone wanna play a game? I pay you a dollar for each time I mixed up MISO with MOSI and then you pay me a dollar for each time I mixed up Tx and Rx of UART-based buses. \$\endgroup\$
    – Lundin
    Nov 9, 2021 at 14:08
  • \$\begingroup\$ I've just received a notification that my question here has been viewed more than 10.000 times. That's crazy considering that it has only received 6 votes. \$\endgroup\$
    – pfabri
    Apr 28 at 16:05

3 Answers 3


MISO stands for Master Input, Slave Output.
MOSI stands for Master Output, Slave Input.

As data is received (RX) on the input and data is sent (transmitted, TX) on the output, from the master's point of view, MISO is its RX pin and MOSI is its TX pin, so:

(For a slave, this would be reversed)


MOSI is the name of the wire between master-out (transmit) and slave-in (receive).

  • So you have master.tx pin -> MOSI wire -> slave.rx pin.

MISO is the name of the wire between slave-out (transmit) and master-in (receive).

  • So you have slave.tx pin -> MISO wire -> master.tx pin.

A microcontroller could be a SPI master or SPI slave. This determines which pins connect to the MOSI and MISO wires.

If the microcontroller is a SPI master (which is likely if the other SPI device(s) are sensors), then its SPI_TXD pin will drive the MOSI wire, and its SPI_RXD pin will receive from the MISO wire.


Yes, that is correct. Also, you may run into SOMI & SIMO.
Why the manufactures insist on changing a standard name is beyond me.

  • 7
    \$\begingroup\$ The root of the problem is that there exists no ISO/IEC standard for SPI. \$\endgroup\$
    – Lundin
    Nov 9, 2021 at 14:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.