So, I've finally able to send and receive MIDI using Arduino.

My next thing to do was sending 5 pin MIDI to rtpMIDI, and vice versa, using ESP8266, but so far I can't even send MIDI correctly. So far, I used this library, and it send midi without issues with Arduino Mega. But using Wemos D1, strange thing happens.

enter image description here this is output of MIDI OX. Pretty sure I wasn't sending MIDI CC.

Here's the code so far :

#include <MIDI.h>

 // Created and binds the MIDI interface to the default hardware Serial port

 void setup()
     MIDI.begin(MIDI_CHANNEL_OMNI);  // Listen to all incoming messages

 void loop()
     // Send note 42 with velocity 127 on channel 1
     MIDI.sendNoteOn(42, 127, 1);

     // Read incoming messages

UPDATE : Here goes the settings.
enter image description here

Any reason why this happens? Please help me. Thanks!

Schematics :
Basically I just change the Arduino to Wemos D1 Uno. enter image description here

  • how is it wired? MIDI_CREATE_DEFAULT_INSTANCE will use Serial on pins labeled RX, TX on Wemos, but esp8266 outputs some boot log on this RX at start.
    – Juraj
    Jul 11, 2019 at 9:08
  • @Juraj I updated the screenshot. the old screenshot was me trying to send MIDI using TX1, but still not working. Above screenshot were me trying to run that program, with MIDI OUT on pin D1 (TX) Jul 11, 2019 at 9:18
  • Please show a schematic of your circuit.
    – CL.
    Jul 11, 2019 at 16:20
  • @CL Edited the answer with schematics. I just realized the title was wrong! :( I'm trying to send MIDI from ESP8266 (Wemos D1 Uno) through serial, to MIDI cable. Jul 11, 2019 at 16:40
  • Does the Wemos run at 5 V or 3.3 V?
    – CL.
    Jul 11, 2019 at 16:47

1 Answer 1


NOTE : Probably not the answer you're looking for, but it works for me.

Solution : Move the jumper from 5V to Vin.
Why? I don't know. It just works.

Please notice that this is Wemos D1 Uno, which has adaptor input, which can receive 9-24V.
If you're going to use the adaptor, IT MAY BROKE YOUR MIDI DEVICE!
As far as I know, Vin stands for Voltage Input, and everything from the adaptor is routed there. That means if you use 24v adaptor, Vin is 24v!

I'm only planning to use USB as power supply, so yeah. it works for me.
If you're going to use Vin with external power supply, please use voltage regulator to 5v. Better safe than sorry.

Anyway, since I'm planning to use 6N137 to receive MIDI also on this board, here goes :

Input voltages greater than 7 V must be avoided to preclude damage to the gate oxide of the input stage. This damage is not necessarily permanent, but will adversely affect the expected lifetime of the circuit. The gate oxide of AHC devices is only 200 Å thick. An input voltage of 7 V corresponds to a field strength over the gate oxide of 350 kV/cm. Although breakdown of the oxide is expected only at input voltages above 10 V, electrons tunnel increasingly into the gate oxide at field strengths greater than 350 kV/cm, influencing characteristics of the transistors and causing failure.

Source : this question on electronics stackexchange.

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.