Author: Stephen

So, we’ve got as far a working keyboard, which can send MIDI messages to an instrument or a PC, including via USB. If we think back to part 1, though, we had that before we started the project! The whole point was that the additional features didn’t work correctly. Let’s make a start on them by connecting up an Arduino control panel adaptor.

Why do this?

If you’ve been following my MIDI keyboard series, in part 4 you’ll have seen my dangerous looking MIDI connection. While I have a plan to improve on this later, I wanted to have a more robust connection during development. Because I already need a USB connection to the Arduino to upload software updates, I wondered if I could use this to transfer MIDI data as well.

In this post, we take a simple look at what I/O is, and why it exists in all systems. Then we look at the method of multiplexing which allows us to connect to it more efficiently, making the most of the pins available on a microcontroller. Continue reading “Multiplexing I/O – Why and How?”

It is a communication protocol which allows electronic musical instruments to communicate with each other, to synchronise timing, for example. It also allows the interface which the musician uses to be separated from the instrument, which makes the sound. This means that a musician can use a single keyboard to play many different electronic instruments.

So, in part 1 we described the problem. Now, let’s take a look inside and start to plan a solution.

What’s inside?

As you can see from the picture below, the whole system consists of three circuit boards. If you can only count two, you’re not concentrating! There’s one peeping at you through the gap between two of the keys (C and C#, for those of you that are of a musical bent).