This repository is no longer officially maintained but feel free to open a pull request with your contribution. As we ran out of devices, we don't sell it anymore, but if you you want one you can find here all the schematics, manuals, documentations and code to build your own.
Connect our device to your computer and start making music! Totally Plug&Play without any extra software, just your favourite MIDI sequencer (Logic, Ableto, Nuendo). It is not only a great tool for making music and experimenting, you can also use it to learn more about electronics, programming and Arduino. You have tons of code examples ready to load, but if you feel up to it, you can also contribute with your code. And last but not least! It is open source! You can either buy it at our website, our build it yourself, all the schematics and code are available in this repository.
About us • MiDispositivoMIDI V3 • Documentation • Expansions • FAQ • Contributing • License
Hi! We are BanaNut Electronics and we develop software and hardware for Arduino with educational purposes. We were born at the UPM University in Madrid during 2013 and we haven't stopped ever since.
LightWand Kosmonaut V2 | MiDispositivoMIDI V3 |
---|---|
Everything started with the first version at the Polytechnical University of Madrid (UPM) in 2013. We were a couple of young students interested in music and electronics, and we came up with this idea. We started reusing some hardware, mainly found at SparkFun's website, but only one year later, we had the second version that was fully designed by us. After some trial and error and feedback from users and friends, we released this third version V3 in 2017. We not only released the code, but also we started producing devices and selling them on the internet, first in our web and later on at Tindie.com store.
During the years, the different versions of MiDispositivoMIDI have been used by many people, engineers, musicians and even kids. We gave some workshops at UPM Madrid for students in Electrical and Telecommunications Engineering, where we gave all the materials and the students had to solder, assembly and code the device.
We are proud to present the MiDispositivoMIDI V3, which is the latest version we have out in the market (Jan 2019). MiDispositivoMIDI is an open source MIDI controller based on Arduino. In other words, its a small device with tons of LEDs and buttons, that you can connect to your computer to, in example, make music. Our device works with the MIDI protocol, a very well known protocol used in the music industry. You can just plug our device and start using it with your favourite DAW, such as Logic, Ableton or Cubase. No other extra softare is needed.
If you are also interested in programming and electronics, this device offer you a great tool to learn by example. You can also use it to prototype and play around. And also, since it is open source you can fully costumize it to your needs. If you don't know much about coding, just load the codes that we provide, and use them. But if you like coding, you can also publish your code with new features or improvements for others to use.
These are the features of our device:
- Plug & Play MIDI device.
- Open source based on Arduino.
- Have 16 pad buttons in a 4x4 matrix.
- Have 2 lateral buttons.
- Have RGB leds with 256 levels of intensity of each color.
- Micro USB connection.
- Dimensions of 10x10 cm.
- Modular design. Connect up to 4 devices.
- Fully compatible with Logic, Ableton or Cubase.
We invite you to check our YouTube channel, where we post videos about our devices. You can also follow other social networks such as Instagram o Facebook.
- https://www.youtube.com/watch?v=3QnzLwpbpRE&t
- https://www.youtube.com/watch?v=8WFfShg-0Dk
- https://www.youtube.com/watch?v=2y8fhmTmedI
- https://www.youtube.com/watch?v=TsuVpFoLFyI
We provide a C++ Arduino library that you can use with our device, that simplifies the tasks of handling the LEDs and buttons. The code is self documented, but we have also written a nice Wiki page where you can find more information about the hardware, some hints about MIDI protocol and some low level software examples in Arduino, that will allow you to understand how it works:
TODO: Write some nice code snippets
//TODO
Our device has a modular design, which means that with the same hardware, you can add modules to convert it into a bigger controller. For example, if you put four MiDispositivoMIDI V3 into a 8x8 configuration, you will have 64 buttons. All this can be done using the same hardware and with very few modificatons in the code. Note that you can also replace a 4x4 button matrix by a 4x4 potentiometer matrix, but this feature is not implemented yet.
You can connect 4 MiDispositivoMIDI V3 in a 4x16 configuration to get the following. With something like this, you can, for example, create an step sequencer. See this video for an example:
Same as before, you can connect the devices with a different configuration. Note that the connections are done under the PCB with an extra PCB, so no extra wiring is needed.
TODO
TODO
Feel free to send us a mail to [email protected] if you have any question, but read before our FAQ since there are some common issues that can be fixed quite easily:
- I can't load code to my device. Why? Make sure that in the Arduino IDE boards section (Tool->Boards) you have selected "Arduino Leonardo"
- I was playing with some code, and now the device is gone form the serial port list. Why? If you were playing with some experimental code, you might have screwed up the "operative system" of the Arduino. But no worries, the fix is pretty straightforward. Open an example from the basic library (i.e. Examples->Basics-Blink) and hit the "Upload" button. You will first see that it is "Compiling" and that that is "Loading". Click the reset button right after "Compiling" is finished. With this you should get the bootloader running and you will be able to load the code. After this, you should be able to see the device in the serial port list as usual. Note that the reset button is the one on the top (not the ones on the left).
- When I press a button, the LED takes a bit to light up, why? There should not be any delay when you press a button, so right after pressing the pad, you should see that it lights up (assuming of course that it configured to do so). If this delay is present, please, make sure that you have a MIDI program reading the port in your computer.
Feel free to create a pull request with your new feature, we will be pleased to add it to our repo. We can differentiate between three different types of contributions:
- Contributing to the Arduino library: Feel free to add stuff related to our Arduino library in the
src
folder. Note that if you add a new feature to our library, we would love to see also a working example in theexamples
folder using that new functionality. Name if asMDM_V3_Library_xxx
so that we know that that code uses the library. - Contributing with new examples: You can add code inside the
examples
folder. Just remember to name it withMDM_V3_NoLibrary_xxx
if that code is not using any function provided by the library. - Other random stuff: Feel free to add images with your own setup, correct existing code, fix bugs or whatever you have in mind.
MiDispositivoMIDI by Alvaro Lopez & Pablo de Miguel Morales is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Thanks goes to these wonderful people (emoji key):
Pablo Alonso 💻 |
per1234 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!