I noticed when I use sketches with MIDI (using RX/TX), before uploading I have to remove every time the RX wire ... is there an easy way to prevent this?

(I'm thinking about making a push button/toogle for this to prevent it, but maybe there is an easier way).

Update: I use an Arduino Uno

  • @CL: Updated my question (sorry for not mentioning) Commented Mar 13, 2017 at 11:28

1 Answer 1


To allow the bootloader on the Arduino MCU to communicate with the USB chip, the TXD/RXD pins are connected:

Arduino bootloader serial connections

These connections have 1 kΩ resistors so that the signals of the USB chip do not interfere with your own hardware too much. However, this means that your own hardware can easily override those signals.

In this case, your MIDI hardware actively drives the RXD line to a high level.

You is no way to work around this in software. You could try to replace the optocoupler's pull-up resistor (270 Ω) with a 10 kΩ resistor, which would make the USB controller's signals ten times stronger than the MIDI ones, but this might make the signal edges too slow. To reliably prevent conflicts, you have to add a disable function to the MIDI receiver, or power it down, or disconnect it.

  • Thank you very much for this clear answer (and also the background). I will order a toggle or switch that keeps state (like on/off) to hardware-wise open or close the connection from RX to the MIDI circuit, so I don't have to switch it on/off. I don't like to take out the MIDI connector (they are quite well connected), and removing the cable is a bit tedious :-) Also I don't want to mingle with the MIDI ' quality' since I will need all messages to be received well. Commented Mar 13, 2017 at 13:52
  • I changed to a Mega, using 3 channels for MIDI and one for debugging; eventually I might use all 4 for debugging. Commented Apr 30, 2017 at 22:21

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.