Categories
Arduino electronics MIDI software

DIY MIDI Percussion Kit – Part 2

In the first part we built up some percussion sensors using piezo electric elements that can detect a strike and provide feedback on the strength of the blow.

In this part we define a software framework that turns these, and any other similar sensors, into a DIY percussion kit.

Categories
Arduino electronics hardware MIDI

DIY MIDI Percussion Kit – Part 1

Some small projects are interesting because they can enable more than their initial proposition, and the simplicity of producing synthesized sounds using a MIDI interface allows us to experiment with different types of instrument ‘user interfaces’.

In this project I build a flexible software kernel for a DIY MIDI percussion kit that can initially be used switches and piezo sensors but is easily extensible.

Categories
Arduino electronics hardware PCB

Arduino Pro Mini Sensor Board

I often use Pro Mini format Arduino Boards in my projects, especially when the processor is embedded as a ‘set and forget’ controller. They have a small form factor and are very inexpensive.

However, as I prototype systems using standardized breakout modules (see this past article) it has been annoying not having a sensor-type board for this processor footprint. So I decided to make my own.

Categories
algorithm Arduino electronics hardware PCB

Making music with a Yamaha YM2413 Synthesizer – Part 1

When researching material for the SN76489 sound generator (documented in these previous articles) I discovered that many early microcomputer systems incorporated both the SN76489 and a YM2413 FM synthesizer. The Yamaha synthesizer looked like an interesting piece of hardware to explore. Here’s the result.

Categories
Arduino hardware software

A Glockenspiel Music Box

My project ‘to-do’ list has for a long time included automating a percussion instrument. I recently decided that a xylophone or glockenspiel type instrument would be a good idea … until I saw the cost of one of those things!

So to fulfill my ambition in an economical way, I downsized to automating a toy glockenspiel. Here’s how it went.

Categories
algorithm Arduino electronics hardware software

Making noise with a SN76489 Digital Sound Generator – Part 3

In the first part and second part we examined the basics of the SN76489 hardware and the development of a library to manage sound production from this IC.

So, after all this effort, what kind of sound does this hardware produce? In this final post I run a few tests and dig into the resulting waveforms.

Categories
algorithm Arduino hardware software

Making noise with a SN76489 Digital Sound Generator – Part 2

In the first part we examined the basics of the SN76489 hardware and how to manage it at the hardware interface between MCU and IC.

To enable sound generation experiments, the first thing I did was create a library to allow me to write sketches without worrying too much about this underlying hardware management.

Categories
algorithm Arduino hardware software

Making noise with a SN76489 Digital Sound Generator – Part 1

Most computer games from the 80’s are recognizable by the bleeps and bloops they produced for sound. The easiest way to do this to toggle a single I/O pin to generate a square wave but there are some retro sound ICs that allow us to do much better for a minimal investment.

The SN76489 is one such IC that is still available at a very modest price and is easily interfaced to modern microprocessors.

Categories
Arduino electronics hardware PCB

Solenoid Driver PCB

A part of a bigger project needed control circuits for up to 16 DC solenoids. Instead of wiring up a one-off prototype, I decided to design and manufacture a PCB to do the job in a scalable manner, and with a minimum of Arduino pins, so that the same circuits could be used for future high power on/off control tasks.

Categories
Arduino electronics software

Using the MAX7219 in your Projects – Part 2

In the first part we explored the functions of this MAX7219 and how the SPI link is the key to making the device work for us.

In this part we’ll develop code to efficiently display numeric data using 7-segment and LED matrix displays.