David points out the 4bitsynth – a MIDI controllable digital synthesizer using the ATMega48 chip and a resistor ladder digital to analog converter. This simple project produces some nice NES-esque square, triangle, and noise waveforms – code is available here – 4bitsynth
6 thoughts on “4-bit AVR synthesizer”
blahblahsays:
can this be done with the arduino… if so how – what are the differences between the chips?
does this have a midi in port that can connect to a midi controller?
thanks.
Davidsays:
I’m not sure this can be done with the arduino…maybe?
It is not the same chip as the Arduino (which uses ATMega168 I think). This project uses the ATMega48. It might be feasible to do it within the arduino environment from a software perspective — it’s mostly a matter of speed and performance I suppose.
The project does provide connectivity to standard MIDI controllers (see the wiki).
The 4bit synth uses the raw, precise timer functions of the MCU to produce waveforms. The different frequencies produced is a matter of changing how fast those internal timers pulse.
The project was written in C, so if you are comfortable with the arduino and read a little bit, you shouldn’t have much trouble understanding the code. Also, there are compiled binaries on the site that you can just upload to the ATmega48 (just get an Atmel AVRISPmkII or USB Tiny ISP).
Petersays:
Hi Magaio,
I just found your 4bitsynth while looking for ideas how to build a mini AVR synth, and I really like your synth, GREAT!!! Thanks a lot for putting this online and making it available, I’ll definitely build one of these myself.
Maybe it would be even possible to program various sounds which can be changed (maybe blended) via midi params (or some analog input)?!
Our websites use cookies to improve your browsing experience. Some of these are essential for the basic functionalities of our websites. In addition, we use third-party cookies to help us analyze and understand usage. These will be stored in your browser only with your consent and you have the option to opt-out. Your choice here will be recorded for all Make.co Websites.
Allow Non-Necessary Cookies
Escape to an island of imagination + innovation as Maker Faire Bay Area returns for its 15th iteration!
Buy Tickets today! SAVE 15% and lock-in your preferred date(s).
can this be done with the arduino… if so how – what are the differences between the chips?
does this have a midi in port that can connect to a midi controller?
thanks.
I’m not sure this can be done with the arduino…maybe?
It is not the same chip as the Arduino (which uses ATMega168 I think). This project uses the ATMega48. It might be feasible to do it within the arduino environment from a software perspective — it’s mostly a matter of speed and performance I suppose.
The project does provide connectivity to standard MIDI controllers (see the wiki).
The 4bit synth uses the raw, precise timer functions of the MCU to produce waveforms. The different frequencies produced is a matter of changing how fast those internal timers pulse.
The project was written in C, so if you are comfortable with the arduino and read a little bit, you shouldn’t have much trouble understanding the code. Also, there are compiled binaries on the site that you can just upload to the ATmega48 (just get an Atmel AVRISPmkII or USB Tiny ISP).
Hi Magaio,
I just found your 4bitsynth while looking for ideas how to build a mini AVR synth, and I really like your synth, GREAT!!! Thanks a lot for putting this online and making it available, I’ll definitely build one of these myself.
Maybe it would be even possible to program various sounds which can be changed (maybe blended) via midi params (or some analog input)?!
Best regards,
Peter