This one shows you how to :
1)Build a very cheap device that plays an 8-bit version of Still Alive from Portal
2)On the same hardware , but with a different chip , play the "radio tune"
Here are both projects , in the same video (I hope the video quality does not affect how this entry is rated.I filmed it with a phone camera) :
Remove these ads by
Signing UpStep 1Parts List
What do you need ?
You need to know how to program AVR microcontrollers
Here's the parts list :
1)A 16 MHz crystal oscillator
2)A 75 Ohm (Or something around that value) resistor
3)An audio jack connector , so you can connect the device to speakers
4)A 7805 5Volt voltage regulator
5)For the 8 bit version of still alive you will need an ATMega16.For the second project , you will need an ATMega644.The parts above are common for both projects.
And the tools list :
1)An AVR programmer
...and that's it.You really don't need any tools , IF you have a breadboard and some wires .
But in case you don't have a breadboard , grab a perfboard , a 40 pin DIP socket for the microcontroller , a soldering gun , and solder everything on the board,according to the schematic (Which is in the next step).
| « Previous Step | Download PDFView All Steps | Next Step » |









































EPIC INSTRUCTABLE!!!!!!!
THE CAKE IS A LIE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
however this is not a beginner project
you need to know how to set up timer interrupt routines,how to generate waveforms,and you need to create your own music format in order to make this.
If you like it and wanna build one,just download the hex and get an atmega16.
the easiest approach for the 8 bit song is what I already did.it's a very simple waveform generator that reads a song and modifies the frequencies
One question: How did you program the songs? I'm trying to figure out how to duplicate your project with an Arduino.
Thanks
You just need to cut a part of the song that you will loop , and make a RAW file @ 6KHz out of it.Then make it an array in the program memory , and have an interrupt , which at each 1/6000 part of a second , outputs the next value in the array , or , if it reached the end , play it again from 0.
The 8-bit still alive , is rather difficult to make.Here is how it works :
It uses a sound engine which i used in a previous project, called Penguin Sound Engine.This sound engine has the same channels you would find on a NES : 2 Square channels , 1 triangle channel , and 1 noise channel.If you want to learn about how it works , go to my other instructables and have a look at penguin.You wanna check the soundfx.h header file , where there are the sound playing functions ,and the main.c file , under Void Interrupt() , where i put the play routine.
About the music file : it is converted from a .MOD file i found on the web.I have a program that takes the mod file and then converts it to an array that will be interpreted as music data by the microcontroller.The converter , however , is so slow and buggy , that i didn't even post it on the internet.If i find a way to make one that will work , maybe I will upload it.Anyway , you also have in the soundfx.c file the info about the file format , so , if you want more info about the sound engine , go check the Penguin instructable.