Bulky MIDI 32

A HW build of the MT32-PI project, allowing you to emulate a Roland MT-32 using a Raspberry Pi. Includes enough additional modules to build a MIDI-mountain as well as adapters for connecting to most things retro.

Internet of Things (IoT)C++CC-BY-SA-4.0

Abstract

Bulky MIDI 32 is an open-source Internet of Things (IoT) project. A HW build of the MT32-PI project, allowing you to emulate a Roland MT-32 using a Raspberry Pi. Includes enough additional modules to build a MIDI-mountain as well as adapters for connecting to most things retro. I had a lot of fun building the original BulkyMIDI-32, my process can best be described as an exciting journey down a rabbit hole of all things MIDI including similarly themed audio projects. This resulted in a multitude of adapters built for connecting things together, including a whole host of interesting modules that can be either used with the BulkyMIDI-32 - or - in many cases they can be also be used by themselves or alongside other vintage music equipment. It is built using C++, Raspberry Pi. The complete source code is publicly available on GitHub under the Creative Commons Attribution Share Alike 4.0 International, making it a useful reference for students building an Internet of Things (IoT) mini project or final-year project.

1. Introduction

I had a lot of fun building the original BulkyMIDI-32, my process can best be described as an exciting journey down a rabbit hole of all things MIDI including similarly themed audio projects. This resulted in a multitude of adapters built for connecting things together, including a whole host of interesting modules that can be either used with the BulkyMIDI-32 - or - in many cases they can be also be used by themselves or alongside other vintage music equipment. In order to keep things separate I've split the modules-section so that you'd quickly be able to determine which PCB designs could belong together.

As previously mentioned several modules has been designed as part of the same project, these add different functionality and due to their identical form factor - they can all be stacked to build your very own MIDI-mountain! Though they bear the BulkyMIDI-32 name, they can all be used independently of the main BulkyMIDI-32-module - they will communicate using standard MIDI. Should you want to, they should be able to live happily alongside your vintage MIDI-devices.

When I was young I'd heard rumours about a fantastical sound card for the computer known as the Roland MT-32 - imagining that if it was good enough to be the default sound device for games such as Monkey Island, then it had to be good! Of course I was a kid at the time, the kind that didn't even have enough money to even be allowed inside the kind of stores that would sell this stuff. Fast forward to adulthood and I learned that it wasn't a sound card at all - it was a standalone MIDI-module! The second thing I learned was that they originally were, and still are, incredibly expensive items. Especially for those of us who were born without any sense of rhythm.

2. Objective

A HW build of the MT32-PI project, allowing you to emulate a Roland MT-32 using a Raspberry Pi. Includes enough additional modules to build a MIDI-mountain as well as adapters for connecting to most things retro.

This project demonstrates how C++, Raspberry Pi can be applied to a real-world Internet of Things (IoT) problem.

4. Technology Stack

C++Raspberry Pi

5. System Requirements

General requirements for this technology stack — check the README for exact versions.

  • Arduino IDE / PlatformIO or a C++ compiler (g++)
  • Target board (e.g. Arduino, ESP32) where applicable
  • Git (to clone the repository)

6. Installation & Setup

git clone https://github.com/tebl/BulkyMIDI-32.git
cd BulkyMIDI-32

Full setup instructions are in the project README.

7. Future Enhancements

Suggested extensions you can add to make this your own project.

  • Add a mobile dashboard using Blynk or Firebase
  • Store readings in a cloud database for history charts
  • Add alerts via SMS / Telegram when thresholds are crossed

8. Viva / Review Questions

Common questions examiners ask for projects in this domain.

  1. Which microcontroller / board and sensors are used and why?
  2. How does the device send data (Wi-Fi, MQTT, HTTP, Bluetooth)?
  3. Where is the sensor data stored and visualised?
  4. How is power consumption managed?
  5. How would you secure the device and its communication?

9. Source Code & License

This project is developed by tebl and published on GitHub under the Creative Commons Attribution Share Alike 4.0 International. Please follow the license terms and credit the original author when you use or modify this code.

Want to build this as your internship project?

Work on an Internet of Things (IoT) project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.

Apply for Internet of Things (IoT) Internship