Church Organ Midi To Solenoid Controller

Hi All, This is my first time posting here so apologies if this information has already been covered in another post, or if I’m not posting in the correct section, although I believe this falls under DIY.

Okay, down to business. I’ve been attempting to build the “Midi to Solenoid” controller that has been featured in the church organ videos. I’m no beginner with electronics, but coding and midi are new to me. I was hoping some of you guys might have already built this system and might be able to provide some insight on why I cant get mine to work.

I used the provided gerber file and had several of the PCBs made, and populated one of them. I also rigged up a couple bread boards with some resistors and leds as an easy way to test the system without going through the trouble of hooking it up to the actual solenoids. I also used the code provided with the gerber file for the Teensy processor and after some trial and error, (Installing Arduino Teensy addon software) I’m quite confident that the code is uploaded to the Teensy.


A quick note before I go further, I have made two modifications to the board from the original design, which I don’t believe should impact its operation, but I felt I should mention anyway incase you guys know something I don’t. The first modification is that I am running the board at 24vdc rather than the original 15vdc used on the church organ. My applications solenoids run on 24vdc. I checked to make sure that the voltage regulator was able to still step down the 24vdc to the needed 5vdc for the Teensy and other control voltages, as well as checking the voltage ratings on all other components used on the board, and 24vdc was within the safe operating range for all of them.

The second modification I made was using a larger volt rating capacitor on the voltage regulator circuit. (I had these left over from a previous project) It is still a 10uf (same rating as the original) just a larger volt rating. I don’t think this would cause any issues, but correct me if I’m wrong. Everything else on the board is the exact same as what was shown in the video.

To provide the midi data, I purchased an Arturia minilab 3 as it was the smallest and cheapest good quality keyboard I could find that had a five pin midi jack.

I have tried adjusting the octaves on the keyboard to get within the correct range for the Teensy to pick up the data, but no luck. There is zero life in any of the output channels. I’ve tried reinstalling the software onto the teensy several times, and have done a lot of continuity testing to make sure that its not a bad connection on the board causing the issues. Everything on the board is receiving the correct voltage, but again, no results. I’ve also tried bypassing the leds by putting my meter on the outputs of the transistor arrays, and bridging to ground, but still no voltage flowing through.

I’m pretty sure that issue is with the software on the teensy or the keyboard. If any of you guys have any insight on this or any suggestions that would be amazing. I really don’t want to have to scrap this project after all the time and money I have put into it.

Thank you for reading!

2 Likes

Starting with the very basic, are the keylab and the teensy set to the same midi channel?

2 Likes

Agreed, check the channel first, then make sure your MIDI in wires are the wright way around, most MIDI problems stem from the opto input circuitry. Do you have a scope or a good meter, test the output pin of the opto when moving the pitchbend wheel, you should see data regardless of MIDI channel.

If that is working then put a Serial.print after the midi data is read to display the bytes and recompile the code to the Teensy.

I put data tell tale LED’s on my midi circuits, so that I know that the data has got past the opto isolator.

Have you tested the MiniLab with any other Midi Device?

are you using a 7805, stepping down from 24V to 5V is a bit jump and not recomended ( Big heatsink! )

Yes, I have tested the Minilab with my PC, all seems to be working there. The tell tale LEds are a good idea, Ill have to see if I can figure out how to add that to the code.

You do have a point with the 7805, 24vdc is pushing the safe range. Ill probably socket it and add a heat sink if I can get the board working.

The Keylab has a direct five pin midi cable going from it straight to the board. I wanted to try and remove all variables from the system that might stop it from working. As for the code on the Teensy I used exactly what was provided with the board, no alterations. It was my understanding that the code was already configured to detect certain notes at a certain octave range and that all I needed to do was to go through the notes on the keyboard until I started getting results, but that did not work. If I am mistaken and do need to alter the code from what was provided, please let me know.

Don’t add the tell tale to the code, create a physical one.

Does the organ board use a 7415 for shaping the output of the opto, isolator. if it does use one of the spare inverters to drive an LED.

I was told on here not to over supply the VR.

Yes, but look into the manual of the keylab. There has to be a way to configure its midi channel, match that to channel your teensy is listening to.

Agreed, it’s not code, buffer the output of your opto isolator to drive a LED. Just swap pins 4 & 5 over of the MIDI in for a quick test.

I put my meter on pins 4 and 5 of the MIDI input. There is an ambient 0.36vdc which will rise up to 0.38vdc when I press a key on the keyboard and will jump to 0.5vdc when I use the pitch slider.

4 & 5 are current loop based, you need your meter on the output of the opto isolator. Preferably a scope to see the data.

I don’t know if it’s the same for Teensy, but when uploading program to Arduino Nano via USB, you need to disconnect the RX input from the opto-isolator otherwise the upload is likely to fail - all serial communication goes through a single connection.

https://shedsynth.wordpress.com/midi/, https://shedsynth.wordpress.com/midiarp-a/

And a second thought: start with simplest possible test programs, ignore MIDI for the moment.
Write yourself a simple Teensy program to click one of your outputs on and off with a one second delay, to convince yourself that your software upload is working.
Then extend that test program to exercise all channels.

And when you get back to testing MIDI, it might help that the middle C on your keyboard is probably note number 60.

3 Likes

good advice, start with the basics , work backwards.