DIY Budget MIDI Controller Showdown | ESP32 vs. Raspberry Pi Pico

  Рет қаралды 6,786

Moby Pixel

Moby Pixel

Күн бұрын

Today, we're building a budget-friendly MIDI Controller using the ESP32 with Bluetooth and Raspberry Pi Pico with MIDI over USB. There are many cheap microcontrollers on the market and picking the right one can get overwhelming. Watch to the end of the video for my recommendations. All the parts are listed below. Happy building!
0:00 Intro
0:16 What All We'll Need
1:20 Building the Box
3:45 ESP32 MIDI Controller with Koala Sampler
4:16 Bluetooth vs. Hardwired
5:14 Pico MIDI Controller with Logic Pro
6:07 Which Board Should You Choose
7:09 Subscribe!
Building Steps:
1. Download & install the Arduino IDE
For ESP32
2. For Arduino 2.0 and newer on the ESP32, go to Settings/Preferences and add Additional Board Manager URLs (remove spaces) https: // raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
For Raspberry Pi PicoPico
2. For Arduino 2.0 and newer on the Raspberry Pi Pico, select the Board Manager icon and install “Arduino Mbed OS RP2040 Boards” (just search Raspberry Pi Pico)
3. Download & install the Control Surfaces & MIDI USB Libraries from GitHub.
4. Add the Libraries in Arduino under Sketch - Include Library - Add ZIP Library.
For Both Boards
5. Download the sketch for this project on GitHub.
6. Select your Board and USB Type under the Tools menu.
7. Upload the sketch to your device.
The code for this project:
Raspberry Pi Pico MIDI Sketch
gist.github.com/NickCulbertso...
ESP32 Bluetooth MIDI Sketch
gist.github.com/NickCulbertso...
There is no schematic for this build. Each button has one pin going to an input pin on the microcontroller, and the other pin going to ground. If you can get one button working, then you should be able to figure out the rest fairly easily. The challenge is cord management, but you got this!
Software You Need (Arduino IDE and 2 Libraries):
Arduino IDE
www.arduino.cc/en/software
Control Surface MIDI Library:
github.com/tttapa/Control-Sur...
MIDIUSB
github.com/arduino-libraries/...
Helpful Links:
How to make a simple MIDI Controller with Arduino that works on iOS
• How to make a simple M...
Which boards are supported
github.com/tttapa/Control-Sur...
Kalimba style MIDI Controller by RocketManRC that goes more in-depth on the ESP32's MIDI capabilities
github.com/RocketManRC/EMMMA-...
Equipment:
Raspberry Pi Pico (with Pins)
www.amazon.com/dp/B08X7HN2VG
ESP32 (with Pins)
www.amazon.com/dp/B08D5ZD528
Breadboards (These don't fit either board. I had to cut one in half to fit the ESP32 and remove two legs on the Pico for it to fit)
www.amazon.com/dp/B09ZQPRFTB
Arcade Buttons (EG Start work well too. Just check the sizes, 30mm)
www.amazon.com/dp/B07YJYFN5D
30mm Forstner Bit
www.amazon.com/dp/B00CCBHXDM
Stickers
www.amazon.com/dp/B07NPCK6CM
Button connectors
www.amazon.com/dp/B07XNDL5QC
Wire Kit (this wire is a little thin for the crimper, but flexible)
www.amazon.com/dp/B07T4SYVYG
Crimper and Dupont Pins
www.amazon.com/dp/B07VQ6YNSC
Cigar Box (you might be able to find one free from a local smoke shop, but you can also get them on Amazon)
www.amazon.com/Premium-Wooden...
Thanks for watching!
Nick
Moby Pixel
Subscribe: / mobypixel
Follow on Twitter: / mobypixel
** Join the Moby Pixel Discord: / discord **

Пікірлер: 53
@Sugar3Glider
@Sugar3Glider 6 ай бұрын
This looks super easy
@mobypixel
@mobypixel 6 ай бұрын
Thanks, @Sugar3Glider! Yeah, it's a fun and easy build once you have all the parts.
@kevinmcaleer28
@kevinmcaleer28 6 күн бұрын
Amazing project and video. Loved every second of this
@mobypixel
@mobypixel 6 күн бұрын
Hey! Thanks, Kevin! That's high praise coming from you. Good luck with your videos!
@564df6g5h4d6f5g4h6d5
@564df6g5h4d6f5g4h6d5 6 ай бұрын
I like your solderless connections that’s a great move.
@mobypixel
@mobypixel 6 ай бұрын
Thanks! Yeah, it'll save me from needing to buy a new board or desolder for each new project.
@aura-audio
@aura-audio 6 ай бұрын
This is awesome, always wondered how to build one of these! Also I love the ESP32 as well! It's definitely suited for more IoT projects and really good for wireless wearables. If only physics would allow us to have less latency 😆
@mobypixel
@mobypixel 6 ай бұрын
Thanks Evan! The ESP32 is really impressive for the price. I might try to snag one that supports MIDI over USB at some point.
@deepseaminingsyndicate
@deepseaminingsyndicate 5 ай бұрын
Hey! Quick question… for purposes I’m making a controller to hook up to my Mk1 octatrak to play in some samples - same as you. I have a Kenton MK3 usb host that acts as a host and converts usb midi controllers traditionally for computer to 5 pin midi. My question is will the Raspberry Pi Pico (RP2040) with this build and code be hosted by my Kenton? The chart in the link says the pico has MIDI over USB (device) but not midi over usb (host)… am I right to say that the Kenton would be the host and it would pick up the pico as a device ? Super broke dad so I’m tryna keep my costs lower than the beautiful ground. Thank you!!
@mobypixel
@mobypixel 5 ай бұрын
Yes, device receiving MIDI messages is the host. I don’t have a Kenton but I imagine it should work without any alterations to the code. Good luck with your build!
@flywittzbeats4008
@flywittzbeats4008 5 ай бұрын
You came through with the fire on the pico beat 🔥🔥🔥 thank you for detailing the latency on the esp. I’m going to try and get a ble midi sketch going on mine just to test but I had a feeling it was too good to be true 😂 I’m also curious about circuitpython on the pico and what that latency will be like. Anywhoooo, awesome video
@mobypixel
@mobypixel 4 ай бұрын
Thanks, @flywittzbeats4008! I imagine CircuitPython would be similar in terms of speed to Arduino. There is a similar build I've seen floating around of an LED arcade button, blue box MIDI Controller that uses CircuitPython. I'm just more familiar with Arduino. Thanks for checking out the video!
@flywittzbeats4008
@flywittzbeats4008 4 ай бұрын
@@mobypixel hey thank you man! And thanks for the reply. Are you still in the Chapel Hill area by chance? I heard you mention it in a prior vid. If so I’d love to get you a beer sometime and dork out haha. My names Elan 🤙🏼🤙🏼
@mobypixel
@mobypixel 4 ай бұрын
@@flywittzbeats4008 Cool! I'll send you an email.
@564df6g5h4d6f5g4h6d5
@564df6g5h4d6f5g4h6d5 6 ай бұрын
Latency is always the red herring with music or gaming. Computers just aren’t as fast as we think they are.
@devbobcz
@devbobcz 5 ай бұрын
Nice video man :) Any ideas how to rename created usb midi interface from "RaspberyPi Pico" to "midiA","midiB", if i have multiple of those device. Thanx.
@mobypixel
@mobypixel 5 ай бұрын
There doesn't seem to be a clear, documented way to change the name. On Mac you can give it an alias in in the Audio MIDI Setup app > MIDI Studio. Or you can edit the name of the board in boards.txt, but that name only shows up in Arduino. I'm sure there has got to be a way to do it. Hopefully it'll become more clear in the future.
@wojtczyk
@wojtczyk 6 ай бұрын
Great video! I find bluetooth for midi (and for other controllers) quite useless. It's a great idea, but the latency is annoying. Wired always wins, no matter which microcontroller you use.
@mobypixel
@mobypixel 6 ай бұрын
Thanks! I had experienced the latency of bluetooth gaming controllers. However, I fooled myself into thinking it wouldn't be an issue here. Maybe it would work okay for a MIDI Sequencer, but playing drums with it was a no go.
@wojtczyk
@wojtczyk 6 ай бұрын
@@mobypixelAlso, I think the digital instruments market shows some confusing trends - Pianos like the Roland go have midi over bluetooth. As long as the sound generation happens on the device while playing, it's fine, but if you try to use these devices as midi controllers for vst synths, the experience hurts due to the bluetooth latency.
@godboat.
@godboat. 2 ай бұрын
idk i use midi ble devices live and the latency isn't noticeable
@vacob6494
@vacob6494 2 ай бұрын
Feel like it's Lo-Fi music. love it. what app you use in the iPad?
@mobypixel
@mobypixel 2 ай бұрын
Thanks! The music examples at the end are instruments from Logic Pro on Mac. The iPad app is Koala Sampler. It's a really fun app that's easy to sample with, has a sequencer, and a bunch of performance effects. I think it is free on desktop if you want to try it out first.
@stewbanker
@stewbanker Ай бұрын
What are those solderless wire connectors called? I don't have a soldering station so I might use them 😅
@mobypixel
@mobypixel Ай бұрын
I have links to the ones I used in the description. The jumper wire pins came in a set and the Arcade connector spade terminals were separate.
@stewbanker
@stewbanker Ай бұрын
@@mobypixel I see, thanks a lot!
@kcrosspsr
@kcrosspsr 5 ай бұрын
How about... can potentiometers be added to the esp32 to use in the koala sampler?... what would be the lines?... or where could I inquire about the subject?... greetings
@mobypixel
@mobypixel 4 ай бұрын
Hey, sorry for the delay! Yeah, you could use pots with the ESP32 but I've not made any projects with ESP32 that use them. On Arduino, you have to connect a pin to power, another to ground, and the third pin to an analog input on the board. Like I said, I've not done it with ESP32 but it is a pretty general feature of most boards.
@kcrosspsr
@kcrosspsr 3 ай бұрын
​@@mobypixel make a code that could work... could you review it and give us a better alternative... this is great! If I could send you an email that would be fine. greetings and thank you very much
@GavStrange
@GavStrange 6 ай бұрын
You're bloody good you! ❤
@mobypixel
@mobypixel 6 ай бұрын
Thanks, Gav! 🙌
@eross21
@eross21 26 күн бұрын
how do you setup the bluetooth do you have to pair it with the ipad? i can’t see my controller at all
@mobypixel
@mobypixel 26 күн бұрын
You need Bluetooth enabled on the iPad, and then the app you are using needs to support USB MIDI. Usually there will be some drop down menu in the app to select your Bluetooth device. You can see it in Koala around 3:45
@eross21
@eross21 26 күн бұрын
@@mobypixel cool. how is the latency on the raspberry pi pico?
@mobypixel
@mobypixel 26 күн бұрын
It’s really good. I didn’t notice any delay when wired up.
@AudioAmoreCuidado
@AudioAmoreCuidado Ай бұрын
I’ve a doubt… using the pico did u need to install loopmidi or any midi bridge program?
@mobypixel
@mobypixel Ай бұрын
No, on Mac I just plug it in and it's detected automatically as a MIDI device. I used the Control Surface library, so they might be handling some of the MIDI routing behind the scenes.
@AudioAmoreCuidado
@AudioAmoreCuidado Ай бұрын
So much thank u! I was trying to made with esp32 in wire way, but doesnt work… thanks for blowing my mind (laughts)
@564df6g5h4d6f5g4h6d5
@564df6g5h4d6f5g4h6d5 6 ай бұрын
How about making a midi device that controls a human foot going in time with the rhythm. Then sends little electrical impulses to the toes to indicate notes beyond 8th notes. Now that would be a real breakthrough. Triplets, quintuplets, mixed in rests. That’s what we need. Don’t get me wrong I appreciate what you’re doing but I bet you could do something more on the breakthrough level if you put your mind to it. Even lights that blink in time that would be a good way to start. Taking the data out and using it as opposed to trying to put data in.
@mobypixel
@mobypixel 6 ай бұрын
Hey, I like that idea, haha! I just imagine a foot flapping about to the music. 😂
@elfaudio
@elfaudio Ай бұрын
the only caveat with both of those boards is they're both have pretty terrible ADC options so if you wanted pots, you're probably better off with something else like a knockoff Arduino type board or a teensy
@mobypixel
@mobypixel Ай бұрын
Hey Marek! That's good to know. I saw where you were making some kind of groove box with the Pico on Twitter a while back. Yeah, Teensy is awesome! It does all the things well.
@mazbox
@mazbox Ай бұрын
@@mobypixel teensys are great but would be even better if they were cheaper!
@11219tt
@11219tt Ай бұрын
Potentiometers work with this?
@mobypixel
@mobypixel Ай бұрын
Yes, there are some potentiometer examples in the Control Surface library. It typically requires one wire running to ground, one to power, and one to an analog pin on the microcontroller.
4 ай бұрын
isn't there a way to use the esp32 usb?
@mobypixel
@mobypixel 3 ай бұрын
Not on this board, but I've heard some of the newer ESP32 boards support MIDI over USB.
@kimtae858
@kimtae858 6 ай бұрын
Embedded developer here that uses Espressif microcontrollers like the ESP32 daily, don't worry about being annoying when complaining about the ESP line's wireless latency. It's real and we all have to deal with it, even with pushing packets over WIFI using UDP. It's just not something Espressif worries about over ease of use and stability of the wireless connection. Hardware connections will always trump over the air, sadly. This is also something that plagues the enthusiast keyboard market. Getting gamer-ready performance + wireless is a serious issue and it seems companies are gravitating towards microcontrollers from Nordic. Weird bluetooth latency spikes still apply though. Maybe things will be better with future hardware (and library) revisions but I'm not holding my breath. Nearly all IoT applications can withstand latency that would be killer to a musical input tool or game controller while Teensy or STM microcontrollers seem do be fulfilling the musical demand just fine.
@mobypixel
@mobypixel 6 ай бұрын
Thanks, @kimtae858! That's all very useful information to know. cheers!
@DRCRecovery
@DRCRecovery 3 ай бұрын
esp32-s3 better because i have made a midi when it's release first time
@hapihap8888
@hapihap8888 2 ай бұрын
f ing bluetooth, every damn time....
Try these 16 Brilliant ESP32 projects!!!
11:18
ToP Projects Compilation
Рет қаралды 548 М.
Building a MIDI Controller Using Arduino
15:41
Switch & Lever
Рет қаралды 626 М.
🌊Насколько Глубокий Океан ? #shorts
00:42
ROCK PAPER SCISSOR! (55 MLN SUBS!) feat @PANDAGIRLOFFICIAL #shorts
00:31
路飞被小孩吓到了#海贼王#路飞
00:41
路飞与唐舞桐
Рет қаралды 26 МЛН
1❤️
00:17
Nonomen ノノメン
Рет қаралды 13 МЛН
Making A $2000 Synth For $99
8:31
Edward Wang
Рет қаралды 250 М.
World’s SMALLEST MIDI Controller | Made with Teensy & Arduino
5:05
DJBB Midi Loopster - Features and Demo
2:37
DJ Baja Blast
Рет қаралды 1 М.
DIY Cardboard FM Synth (8 DX7s!) | MiniDexed & Raspberry Pi
12:39
Building your own DIY MIDI controller - Very Simple
10:10
NerdCave
Рет қаралды 9 М.
SUPER SIMPLE MIDI KEYBOARD DIY HOW TO
19:52
LOOK MUM NO COMPUTER
Рет қаралды 120 М.
The Raspberry Pi Pico Review - $4 ARM Microcontroller
11:18
Jeff Geerling
Рет қаралды 333 М.
The 5 BEST ARDUINOS for Building a MIDI CONTROLLER
9:26
Nerd Musician
Рет қаралды 81 М.
Building a Minimalistic MIDI Controller
5:28
Leandro Linares
Рет қаралды 39 М.
КРУТОЙ ТЕЛЕФОН
0:16
KINO KAIF
Рет қаралды 3,1 МЛН
Blue Mobile 📲 Best For Long Audio Call 📞 💙
0:41
Tech Official
Рет қаралды 1 МЛН