Category Archives: audio / music / synths

New YM Synth board

So I respun the YM Synth, I didn’t try to cram in the layout this time so its quite larger.  I moved to a larger pic, and added some leds…. The new pic doesn’t require a crystal for USB so we dropped the crystal.  Unfortunately now I have to port over all the code.


Fun with Le Strum

2013-07-03 22.00.18I picked up a Le Strum kit from tindie. The kit is made by Jason Hotchkiss.  He’s got some amazing kits.  I also picked up an Arpie, but i’ll get to that one when I have time.




2013-07-03 20.37.52


So what is Le Strum ?  It’s a midi controller that generates notes by strumming.  So what do you get in the kit ?  Well a PCB board, a ton of buttons, a few ic’s and passives… etc.  Everything needed to put the kit together.



2013-07-03 21.10.20

First thing to notice here, is there is a _lot_ of soldering to do.  All the resistors, diodes, and buttons oh my!  The instructions are pretty straight forward, hosted on github, no complications, put the resistors in, the diodes, caps, buttons, solder it all….  Assemble the strumming probe, power it on and rock out!



2013-07-03 22.00.06

Don’t forget to attach the legs in the correct order, I had the long and the short ones offset at first and it was odd… but that was quickly fixed.

So powering it on for the first time.  Everything looked like it could work — but I couldn’t get any audio out of it.  I was using a USB-to-MIDI adapter and trying to get some music into Fruity Loops Studio but I wasn’t getting any midi notes.

I started diagnosing the problem fearing i would have to disassemble the entire thing.  I grabbed an LED and shoved it into pins 4 and 5 in the midi port and verified there was some data being clocked out (despite there being a midi led on the board… I wasn’t sure if the led was wired to the actual traffic or just a gpio on the pic).  So I had data clocking out but my USB-to-MIDI adapter (which I’ve used in the past) just wasn’t happy.

So I ended up hooking the Le Strum up to my MIDI controlled YM2149 that is technically still in beta.  Surprisingly it worked fine with my board.  So it may be a cheap USB-to-MIDI adpater being picky about signal quality or clock skew.  Good thing the kit comes with the quick reference card it was a timesaver.  My YM board didn’t like the default setting of being on note-off but changing it to note-on and in 2 channel organ + strum mode it sounded awesome.  Here’s a video of me strumming some chiptunes!

2013-07-03 20.50.58So in closing, awesome kit.  My only concern is the incompatibility with my cheap usb to midi adapter.  Makes me wonder if other equipment will have the same issue.  My next issue is the longevity of the strum pads, I feel they are going to wear out pretty soon and I’m very temped to just blob them with solder to keep them from wearing out.  Here’s a closer up picture of the pads, they are just like large pcb pads — I guess we will have to see!

More info on the AY/YM Midi Synth Kit


I’ve gotten a few requests for more info about my kit.  So here is some more info until I finish writing the documentation:



  • USB MIDI Interface using usb cable.  Driver-less install in windows, will check Linux/MacOSX.
  • USB MIDI seems to work with IOS devices using the media connection kit.  Also you can use a USB->MIDI adapter and use the Hardware MIDI socket.
  • Hardware MIDI IN Interface using MIDI DIN socket.  No MIDI OUT for device chaining.
  • USB Streaming interface, I have an app that streams .ym files at the moment, but its a simple register dump so essentially one could implement tracker support.
  • Can run run from a USB power supply, like a phone charger.  Can run off of a wall wart (soldering to some normally not populated holes on pcb is required).  Can run off of batteries, should run between 4.5 and 5.5 volts so 3 aa’s or aaa’s alkaline (1.5v) packs = 4.5 volt, or 4 aa or aaa’s (1.2 volt rechargable cells) = 4.8v
  • Still working on the firmware updater, but hopefully I can get this working and push updates to the firmware.
  • MIDI — Volume and Pitchbend are supported.  Velocity can be enabled and is simulated as volume, but otherwised ignored.  Pitchbend is calculated on the fly so it should bend from + or – 1 full note.
  • MIDI notes down to 18hz (I’d have to double check) are supported.
  • YM Specifics such as envelope effects and noise control are implemented as CC commands.
  • With the latest revision, 1 channel is on the left, 1 is on the right, and 1 is center.  There is a jumper to enable mono output as well.
  • Right now multiple USB devices can be used as separate channels, but I’m trying to think of a better solution for adding more channels.
  • When will it be available ?  Soon hopefully, I’m still working on some minor details, and sourcing parts and documentation.

Let me know if there is anything else I can comment on.


A quick video of the YM Synth

Here’s a quick video showing the streaming functionality. Right now there is no GUI on the host side, just a command line program that reads .ym files and streams them to the chip at 50hz.

The (re)Birth of a synth!

2013-04-04 02.22.25I decided to dust off a project that I’ve been working on-and-off for over a year now.  Just to introduce it really fast…  I’m taking a vintage sound generation chip, the YM2149F or AY-3-8910 and giving it a modern upgrade.  First thing I did was see how hard it would be to add a MIDI interface to it.  I was able to create a USB MIDI stack, and map notes of the chip to MIDI notes, then I thought it would be cool to add hardware MIDI as well.  I’ve created most of the things in the MIDI world to equivalents on the chip.  Most of the noise generation and ADSR envelope filters are implemented as CC commands.  Pitch-bend works, velocity is toggleable via DIP switch (and just really does a volume, I personally don’t like velocity implemented this way).  And volume works.  I’ve been able to use fruity loops to create some cool retro sounding music.  Then it dawned on me that I didn’t even implement the most obvious feature!  Streaming old chiptunes!  With the help of The Leonard Homepage I used his open source emulation app to hack into my device and just stream the registers to the chip, producing really awesome music!

I’m looking to make this a kit for other people to experience, so I was going over the assembly instructions last night.  I need to work on documentation, some code fixes, and to order a buncha parts first so its not quite ready but… soon enough. I’ll see if I can throw a video up soon.