I'm trying to build this Midi2CV (control voltage for analog synths) using a Arduino Nano:


I was hoping to use this Nokia screen too for settings and debugging purposes, but I just realized there's only one hardware serial port on 328p and software serial seemed to be doomed for MIDI:

SoftwareSerial too slow for MIDI?

So I have three peripherals:

  • DAC (MCP4822)
  • Nokia 5110 screen
  • MIDI

I've gotten both the DAC and screen to work fine on normal pins so I'm thinking I'm good with just using the hardware serial for MIDI and the DAC and screen can use software. Or am I in for a world of pain without getting a more powerful chip with more hardware serial ports? And if so, what's the recommendation? (shoestring budget)

  • 2
    Neither the MCP4822 nor the 5110 screen use UART. You only have 1 UART, and you only have 1 "peripheral" that uses UART - so where is your problem? The DAC and screen are both SPI devices.
    – Majenko
    Commented Sep 8, 2017 at 13:22
  • I guess I have no problem then? I'm noob. I've gotten both to screen and DAC to work over SPI on normal D-pins. So the hardware serial thing on RX/TX is only (needed?) for UART? Commented Sep 8, 2017 at 13:36
  • 1
    For SPI you should be using pins 10-13 plus extras for other CS pins as and when you need them. Pins 0/1 are connected to the USB port through an adaptor chip, but if you don't use USB you can use them for hardware UART (and are the only pins on the Uno that can do hardware UART).
    – Majenko
    Commented Sep 8, 2017 at 13:38

1 Answer 1


Of your three functions (DAC, screen and MIDI) only one (MIDI) actually uses UART.

The other two devices are SPI devices which, while it is a serial protocol isn't UART (serial is a concept not a protocol).

Connect the DAC and screen to the SPI port (you can share SCK, MOSI and MISO, but select different CS pins) and you have the UART pins (0/1) available for MIDI use - as long as you don't want to use the USB connection which is linked directly to those pins.

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.