MIDI Over UART with Arduino and CircuitPython
HTML-код
- Опубликовано: 11 сен 2024
- As I began to hack the Scout Synth, I went down a MIDI over UART rabbit hole adventure with CircuitPython and Arduino.
MIDI UART Experiments Repo: github.com/Bli...
Scout Kit: www.oskitone.c...
Scout Documentation: oskitone.githu...
#midi #arduino #circuitpython
Local Organizations to Support Reproductive Rights in Texas:
Texas Equal Access Fund: fundtexaschoic...
The Lilith Fund: www.lilithfund...
Bans Off Our Bodies: docs.google.co...
Frontera Fund: fronterafundrg...
West Fund: www.westfund.o...
Clinic Access Support Network: www.clinicacce...
The Bridge Collective: thebridgecolle...
The Afiya Center: www.theafiyace...
Information to support AAPI communities: anti-asianviol...
Bystander Intervention Training: www.advancingj...
How to intervene if someone is being harassed: www.afsc.org/b...
Fair Fight fights for voting rights in the US: fairfight.com/
Black Lives Matter: blacklivesmatt...
Reclaim the Block: www.reclaimthe...
Kim Crayton's Guiding Principles: hashtagcauseas...
One Anti-Racist Action daily newsletter: archive.oneact...
Transgender Law Center: transgenderlaw...
Be an Informed Advocate to Transgender People: www.aclu.org/i...
National Center for Transgender Equality: transequality....
hi hello hey there- a lot of comments about what the problem is communicating with the Scout directly with UART from another MCU. if you watch until the end, you'll see that there is not a problem to solve because it's working and i address that both devices need to be on the same shared power and ground connections in order for UART comms to work directly.
i didn't think about this when i first started down this rabbit hole, since as i pointed out the feather and qt py worked without issue since they were both getting power from the same USB ports on my laptop and honestly i haven't worked too much with devices communicating via UART directly. i figured other folks starting out also wouldn't think about this which is why i went through everything step by step to demonstrate the troubleshooting and to illustrate it plainly. i also have circuit diagrams in the github repo showing this as a reference.
My apologies - I think I might have started that thread of commenting. I did watch to the end, but didn't spot the mention of shared ground - my mistake.
Best wishes,
Kevin
sorry got carried away there
Is it possible you are missing a ground connection? Try adding a ground wire between the QT Py and the Scout. I see the QT Py RP2040 has jumper wires to the + & - rails of the protoboard, but I am not seeing anything except the UART wire on the Feather or the Scout. That would explain issues on battery, or working for a limited time as the ground voltages float away. If so, it is an easy fix. You already did all the hard stuff!
Thanks for sharing this, and all of your projects. I also enjoyed seeing it on the Adafruit Show and Tell, and look forward to your future MIDI endeavors!
Excellent, thanks for sharing, I'm so glad to have discovered your channel!
thank you so much!
I am stoked for this video, this build, your work, that cat pic, and that SMOKIN' Sonic Youth Pettibon poster.
thank you!
Those Opto-Isolators were to prevent ground loops between different synths.
I'm enjoying watching what you're doing with your Scout! It's great to see MIDI on them. I can confirm you can actually drive quite a lot of Arduinos from a single UART line off the back of a MIDI interface - in my case, I'm driving around 10 or more as part of my Lo-Fi Orchestra! I'm not sure that technically this is something one should be doing, but for a multi-drop receive only, I figured I'd be ok, and for my purposes it is.
Is the QtPy a 3V3 device? Have you had to put some level shifting in there somewhere? Could something like that be related to the power issues you were seeing?
I've also found that even if things are powered differently, it can often be useful to ensure they are sharing a common ground, especially when linked up over a comms link like this. Real MIDI doesn't care, as it has optoisolators, but when linking directly to UARTs, the devices need to have a common reference point to know what the baseline for a high or low signal is. Sometimes a single jumper wire connecting GND pins might do it.
Thanks for posting. I look forward to seeing where you take it next.
Kevin
That was going to be my suggestion too - the TTL signals need to share a common ground.
Yep - 2nding that. Was my first thought while watching, "where's the common ground connection?"
it's in the usb connection - coming from the same hub I presume, otherwise nothing would work. that's why it works with the breadboards
oh but when you then do the same and one is on battery, just connecting rx wouldn't work. I assume though that liz would be aware of that.
Hy Kevin how to make serial uart orange Pi as MIDI
Lady, can you tell me, is it possible to run a Leonardo as a MIDI controller without connecting to a PC, just by powering it externally? I have a switchboard with 8 switches and 1 exp. pedal and I use it to send CC messages to PC and use it to toggle on and off vst instruments and effects. I also want to use this for my guitar processor (Boss GT-10) that accepts MIDI signals as an extension of controls, and want to connect with a MIDI cable to it. Is this possible ? I can share my current code if necessary.
Sounds like a voltage issue? I remember hearing / seeing it in the datasheet that the atmega328 is only capable to run at 16MHz at 5V and it seems like the low voltage made it go out of sync. Also not sure if the ftdi likes voltage signals that low when it's comparing the 4V battery signals to the 5V coming from USB - that midi circuit seems to work as a levelshifter here.
Just went into debug brain mode, sorry :) anywho great project and I'm looking forward to receiving my modified oskitone pcbs once JLC finally fixes the DHL customs issue.
otoh the commenters might be right with the ground connection, it works with the boards because you have the grounds connected in the usb hub, but just copying that to the battery powered scout that wouldn't work - you need the ground connection.
Ho to make serial uart on orange Pi as MIDI device working