Things that do stuff 2023
Fully Hackable YM2149F Synth
8 MIDI Channels IN
16 MIDI Channels THRU
OLED Display of incoming MIDI
Channel Select / Mute /Store buttons
Remembers mutes after power off
Powered by USB C
3 voice polyphonic
Switch for Mono or Stereo cables
Code for you to tweak in the Arduino IDE
Program as an UNO
Ability to play 4bit samples
Onboard CH340E USB to TTL
5 pin MIDI 180° din socket IN
3.5mm TRS MIDI type A IN
3.5mm TRS MIDI type A OUT / THRU
Compatible with all MIDI hardware & DAWs
Web page udated 08:04:00 27/02/2023
Overview
This project makes a midi synthesiser from a few easy to get hold of parts.
The audio output is clean and perfect level for putting straight into a mixer or FX unit.
The software was placed in the public domain by the author, Yukimizake in 2012.
Since then some nice features have been added by dansfing.uk and the code has been refactored to compile in the latest IDE.
All the information you need to make the YM2149F MIDI Synth is here for free!
I no longer build these for sale.
Previous release v2.1a and notes on soldering and assembly can be found here v2.1a
I'm no expert in programming so you may find there are ways of making this project even better.
Currently the value knob on the panel alters the level of current cannel.
The buttons on the panel now operate as expected
The DC power input has been removed on this version to reduce the cost
It now works using the MIDI.h library.
MIDI THRU / OUT Socket now works. Socket on PCB v2.1b+
Sample playback now works on MIDI channel 10 and starts at note C3
The button de-bounce is fixed.
The value knob now djusts the volume of the current channel.
Full compliment of sketches to Download added that work on this PCB version.
All sketches backwards compatible to original code by Yukimizake (all hail!)
If you purchased before 11th Feb 2023 - Upload this new script
It offers better timing when things get busy.
It uses less resources.
Easier to add your own code.
Lots of help on MIDI Library
Code
These Scripts all work without modification.
Button Screen Knob Test 8th Feb 2023
LED Blinks with MIDI IN 8th Feb 2023
Requires MIDI library from FortySevenEffects
Original Code by Yukimizake 2012
This has been refactored to compile in 2021
YM2149F with MIDI.h Library 2023
This uses the MIDI.h library instead of the original implementation. It is a basic example that works over eight MIDI channels. No sample playback yet.
YM2149F MIDI.h OLED Buttons 19/02/23
This uses the MIDI.h library and brings the screen and buttons to the code. Sample playback on 10
This version will be pre-installed on purchases.
Space Trash Video Game Video
These Scripts all work without modification.
Button Screen Knob Test 8th Feb 2023
LED Blinks with MIDI IN 8th Feb 2023
Requires MIDI library from FortySevenEffects
Original Code by Yukimizake 2012
This has been refactored to compile in 2021
YM2149F with MIDI.h Library 2023
This uses the MIDI.h library instead of the original implementation. It is a basic example that works over eight MIDI channels. No sample playback yet.
YM2149F MIDI.h OLED Buttons 19/02/23
This uses the MIDI.h library and brings the screen and buttons to the code. Sample playback on 10
This version will be pre-installed on purchases.
Space Trash Video Game Video
Libraries / Dependencies
MIDI.h
Can be installed in the Arduino IDE's Library Manager
This allows easy callbacks for incoming MIDI.
Leaveing the Main Loop clearer.
U8g2: Library for monochrome displays, version 2
The Arduino library U8g2 can be installed from the library manager of the Arduino IDE. U8g2 also includes U8x8 library.
More Info
The Arduino library U8g2 can be installed from the library manager of the Arduino IDE. U8g2 also includes U8x8 library.
More Info
EEPROM.h
Should be installed by default in the Arduino IDE
This allows the storage of the MUTE states in non-volatie RAM.
Should be installed by default in the Arduino IDE
This allows the storage of the MUTE states in non-volatie RAM.
MIDI.h
Can be installed in the Arduino IDE's Library Manager
This allows easy callbacks for incoming MIDI.
Leaveing the Main Loop clearer.
PCB Files
Laser Cutting Files
Upload files to LaserLab in Bristol
Fritzing PCB File
Production Gerber Files
Upload .zip files to a PCB Manufacturer
Upload .zip files to a PCB Manufacturer
Laser Cutting Files
Upload files to LaserLab in Bristol
On their website you can choose the type of acrylic.
I use 3mm tinted or clear. Copy paste from the SVG to suite your needs.
I use 3mm tinted or clear. Copy paste from the SVG to suite your needs.