Violin key inside chip Violin key inside chip

Enrico Colombini (Erix)

play-v6: real music from Arduino Uno

An exercise in optimization

What is play-v6?

This project started as an 8-bit guitar simulator and evolved into a sophisticated 6-voice music player running on the limited resources of an Arduino Uno.

I wanted to see how far I could get with only a few resistors and capacitors. Looks like I got quite far... and I still have free resources and an endless wish list!

play-v6 is Open source (CC BY-SA). Follow the links on the right side for detailed instructions on how to build the simple filter and start playing music.

The program is ready for the Arduino IDE and for Atmel Studio 6. It is written in plain C: not a single line of assembly language!

YouTube video

(Note: clicking on the above image links to YouTube; their site can set cookies)

Main features play-v6 architecture diagram

play-v6 is highly optimized C code: in a tight 512-cycle CPU loop it manages to do:


Use the computer-side tools (Windows / Linux / OS X) to add music and instruments to play-v6:


play-v6, rev.1.0 including tools, filter plans and copyright-free sample music (1 MB).

Makefile for people using avr-gcc from the command line.



play-v6 by Enrico Colombini is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.


  Updated 03/01/19 by Enrico Colombini (