Portal "Still Alive" on AVR Microcontrollers





Introduction: Portal "Still Alive" on AVR Microcontrollers

Yet another Portal-related instructable , but Different !
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) :
Move on to the next step for the parts list for each of the two projects

Step 1: Parts List

As mentioned in the intro , the parts required for this project are really cheap.
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).

Step 2: Build the Beast

This is extremely easy to build , as it uses a very small amout of parts.
The schematic is common , for both projects.You will only need to change the chip.
For the 8 bit version of Still Alive , use ATMega16
For the radio tune , use ATMega644

Both chips have the same pinout , so in case you are soldering everything to a perfboard , if you want it to ,make both projects on the same board, use a 40 pin DIP socket and swap the chips when you want.
The schematic is attached to this step.

Here are the firmware files for the AVRs:
1)8-bit Still Alive , for ATMega16 : https://sourceforge.net/projects/avrsa/files/StillAliveATMega16.hex/download
2)The radio tune , for ATMega644 : https://sourceforge.net/projects/avrsa/files/RadioTuneATMega644.hex/download

Step 3: Troubleshooting

The hardware is so simple , that you can't really have problems with it as long as you follow the schematic.The only problem that you may encounter is this one :
If the song sounds very slowed down compared to the video
Are you sure you configured your AVR to run on an external crystal ? Try to remove the 16 MHz oscillator.If it still works , it means it's running on the internal 8 MHz oscilaltor , and that's why it is so slow. Configure the fuse bits for External Crystal Oscillator (Leave all CKSEL bits unprogrammed).

Step 4: This Was a Triumph !

If you successfully built it and it works , then congratulations , the enrichment center is very proud of your huge success ! We are throwing a party in honor of your success.The companion cube is also there (Portal joke.Couldn't resist.)

Anyway , I hope you liked this instructable :)



    • Science of Cooking

      Science of Cooking
    • Pro Tips Challenge

      Pro Tips Challenge
    • Pocket-Sized Contest

      Pocket-Sized Contest

    We have a be nice policy.
    Please be positive and constructive.




    Looking over your design, you've used 6 pins, including vcc and 2 ground pins. Could this be done on the Attiny, which has 8 pins (1 ground, 1 vcc and 1 reset)?

    I reckon 8 pins would be more than enough, and sure enough, https://www.instructables.com/id/Marioman/ has got a similar application working.

    Just wondering

    Is it bad that I know all the lyrics for "Still Alive"?

    Can you provide source code in C or ASM? I just want to understand how to generate MIDI of song? What are the tools I need to cover other songs? Thanks for the post :)


    Where did you get the microcontrollers I can#t find anyhere in my area (UK) that sells them ore ships for a reasonable price.. help?

    I bought them online. There has to be an online shop in your country that sells cheap microcontrollers. just google Electronics shop. Good luck :)

    how would a beginer in programing approach the 8 bit version???

    THE CAKE IS A LIE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    i'm GLaD you like it
    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.

    ok then what would be the far easeist approach for the 8 bit?. if i can build it, it would be a triumph

    sorry for the late reply
    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

    Great Instructable!

    One question: How did you program the songs? I'm trying to figure out how to duplicate your project with an Arduino.