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

  Рет қаралды 5,728

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 **

Пікірлер: 47
@564df6g5h4d6f5g4h6d5
@564df6g5h4d6f5g4h6d5 5 ай бұрын
I like your solderless connections that’s a great move.
@mobypixel
@mobypixel 5 ай бұрын
Thanks! Yeah, it'll save me from needing to buy a new board or desolder for each new project.
@Sugar3Glider
@Sugar3Glider 4 ай бұрын
This looks super easy
@mobypixel
@mobypixel 4 ай бұрын
Thanks, @Sugar3Glider! Yeah, it's a fun and easy build once you have all the parts.
@aura-audio
@aura-audio 4 ай бұрын
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 4 ай бұрын
Thanks Evan! The ESP32 is really impressive for the price. I might try to snag one that supports MIDI over USB at some point.
@flywittzbeats4008
@flywittzbeats4008 4 ай бұрын
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 2 ай бұрын
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 2 ай бұрын
@@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 2 ай бұрын
@@flywittzbeats4008 Cool! I'll send you an email.
@deepseaminingsyndicate
@deepseaminingsyndicate 4 ай бұрын
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 3 ай бұрын
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!
@wojtczyk
@wojtczyk 4 ай бұрын
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 4 ай бұрын
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 4 ай бұрын
@@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. Ай бұрын
idk i use midi ble devices live and the latency isn't noticeable
@devbobcz
@devbobcz 4 ай бұрын
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 4 ай бұрын
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.
@gavinstrangeakajamfactory9746
@gavinstrangeakajamfactory9746 5 ай бұрын
You're bloody good you! ❤
@mobypixel
@mobypixel 5 ай бұрын
Thanks, Gav! 🙌
@564df6g5h4d6f5g4h6d5
@564df6g5h4d6f5g4h6d5 5 ай бұрын
Latency is always the red herring with music or gaming. Computers just aren’t as fast as we think they are.
@vacob6494
@vacob6494 Ай бұрын
Feel like it's Lo-Fi music. love it. what app you use in the iPad?
@mobypixel
@mobypixel Ай бұрын
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.
@kcrosspsr
@kcrosspsr 4 ай бұрын
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 2 ай бұрын
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 2 ай бұрын
​@@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
@blkkout
@blkkout 10 күн бұрын
What are those solderless wire connectors called? I don't have a soldering station so I might use them 😅
@mobypixel
@mobypixel 10 күн бұрын
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.
@blkkout
@blkkout 10 күн бұрын
@@mobypixel I see, thanks a lot!
@AudioAmoreCuidado
@AudioAmoreCuidado 24 күн бұрын
I’ve a doubt… using the pico did u need to install loopmidi or any midi bridge program?
@mobypixel
@mobypixel 24 күн бұрын
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 24 күн бұрын
So much thank u! I was trying to made with esp32 in wire way, but doesnt work… thanks for blowing my mind (laughts)
@kimtae858
@kimtae858 4 ай бұрын
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 4 ай бұрын
Thanks, @kimtae858! That's all very useful information to know. cheers!
@564df6g5h4d6f5g4h6d5
@564df6g5h4d6f5g4h6d5 5 ай бұрын
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 5 ай бұрын
Hey, I like that idea, haha! I just imagine a foot flapping about to the music. 😂
@elfaudio
@elfaudio 3 күн бұрын
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 3 күн бұрын
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 3 күн бұрын
@@mobypixel teensys are great but would be even better if they were cheaper!
@11219tt
@11219tt 13 күн бұрын
Potentiometers work with this?
@mobypixel
@mobypixel 13 күн бұрын
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.
2 ай бұрын
isn't there a way to use the esp32 usb?
@mobypixel
@mobypixel 2 ай бұрын
Not on this board, but I've heard some of the newer ESP32 boards support MIDI over USB.
@DRCRecovery
@DRCRecovery 2 ай бұрын
esp32-s3 better because i have made a midi when it's release first time
@hapihap8888
@hapihap8888 Ай бұрын
f ing bluetooth, every damn time....
SUPER SIMPLE MIDI KEYBOARD DIY HOW TO
19:52
LOOK MUM NO COMPUTER
Рет қаралды 119 М.
The Pi Pico has problems, so I made my own, the ProPico
7:17
Dmytro Engineering
Рет қаралды 35 М.
it takes two to tango 💃🏻🕺🏻
00:18
Zach King
Рет қаралды 31 МЛН
ELE QUEBROU A TAÇA DE FUTEBOL
00:45
Matheus Kriwat
Рет қаралды 25 МЛН
Dynamic #gadgets for math genius! #maths
00:29
FLIP FLOP Hacks
Рет қаралды 18 МЛН
Launchpad || DIY or Buy || Keyboard Matrix & MIDI Tutorial
12:43
GreatScott!
Рет қаралды 1,1 МЛН
Making A $2000 Synth For $99
8:31
Edward Wang
Рет қаралды 246 М.
World’s SMALLEST MIDI Controller | Made with Teensy & Arduino
5:05
Building your own DIY MIDI controller - Very Simple
10:10
NerdCave
Рет қаралды 9 М.
Make a TINY Arduino Drone with FPV Camera - Will It Fly?
20:26
Max Imagination
Рет қаралды 461 М.
The midi controller you build out of cardboard
27:44
Gabe Miller Music
Рет қаралды 13 М.
Build your own synthesizer module with PICO ADK!
11:36
Floyd Steinberg
Рет қаралды 14 М.
Building a Minimalistic MIDI Controller
5:28
Leandro Linares
Рет қаралды 38 М.
Raspberry Pi Intends to Float: New IPO details
11:44
Level 2 Jeff
Рет қаралды 18 М.
Эффект Карбонаро и бумажный телефон
1:01
История одного вокалиста
Рет қаралды 2,6 МЛН
wyłącznik
0:50
Panele Fotowoltaiczne
Рет қаралды 23 МЛН
Apple watch hidden camera
0:34
_vector_
Рет қаралды 52 МЛН
как спасти усилитель?
0:35
KS Customs
Рет қаралды 517 М.