Tag Archives: ay-3-8910

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.