Arduino POV Prototype

Recently my girlfriend got rid of her cable television connection and moved to a cheaper (almost free) and fully featured media center solution (i.e. Xbox + Xbox Media Center).

  • Xbox (not 360)
  • Xbox remote (not required, hygiene psychiatrist but useful)
  • Xbox Controller (usually comes with the Xbox)
  • Xbox memory card (8 MB is enough)
  • Modded Xbox from a relative (for a one time use)
  • MechAssault game disk
  • Softmod installer
  • Computer, router, high speed internet connection, electricity (you should already have these).

General Idea
The idea is to unlock the Xbox, which is basically a very cheep computer, in order to run the very excellent and free Xbox Media Center (XBMC), a very advanced media player. Then, the Xbox can be use to watch videos, play music, stream content from the internet, and more (all in the comfort of the living room).

I know XBMC has been around for many years now, but I think is a good idea to write a post to show off its incredible features and explain how to get it.

How to do it
First, get all the materials. My girlfriend and I got a second hand Xbox complete with a remote and a controller for 100$ at after searching around a lot for a good deal. Then, I got a Mechassault original (not the platinum edition) game disk for 9$ and an 8MB memory card for 10$ (all second hand). So we spent a total of 120$ (much cheaper than any commercial media center).

In order to get the Xbox to run homebrew software (i.e. software that is not signed by Microsoft such as XBMC) its security system must be disabled. This can be done by installing a softmod (witch doesn’t require any hardware modification of the gaming system).

I choose to use the Krayzie Ndure SOFTMOD Pack that can be downloaded from the torrents. The idea is to get one of the game saves from this package (depending on which game you want to use) into the memory card and then into the Xbox. In order to get the MechAssault save to the memory card I used my own (hard)modded Xbox: I copied the game save folder to the E:UDATA folder trough FTP and then I copied the game save (named Linux Installer) to the memory card by using the original Xbox dash. If you don’t have access to a modded Xbox, there are other ways of getting the save to the Xbox such as Action Replay or building a USB adapter.

Now, the easy part. Once you have the game save in the memory card, connect the Xbox to the router (as you would connect any other computer to it), plug the card into the controller, and turn the console on. Then, in the Xbox dash, go to the memory menu and copy the game save to the Xbox hard drive (hdd). Afterwards, insert the MechAssault disk, select the campaign menu entry, and then select “Linux Installer”. This will take you to a dashboard that will guide you through the installation of the softmod. Simply follow the steps (back up the eeprom and install the softmod) and in less than 2 minutes you will have a modded Xbox with your dashboard of choice (you can chose between EvolutionX or UnleashedX).

Now you can play game backups, run unsigned software and much more. Note that you need to update the Xbox dash to the latest version in order for the softmod installer to work properly. This can be done by using the “Live” menu entry in the Xbox dash.

Now that the Xbox is modded, you need to install XBMC. I used the latest Pimped version that comes with all the features you would want (codecs, scripts, visualizations, skins) and can be downloaded from the torrents. Once you have it downloaded and unziped, you must copy the XBMC folder to E:/apps in the Xbox’s hdd (the usual applications folder) through FTP (sending files trough FTP is the standard way of installing application onto the Xbox).

For FTP communication with the Xbox you can use any FTP client you want (I use Konqueror). In order to connect to the Xbox you need to know its IP address (which is normally shown on the main menu of the evolution dashboard) and its user name (Xbox) and password (Xbox). for further information in connecting to the Xbox trough FTP, please see this site.

Once the XBMC folder has been copied to E:/apps, reboot the Xbox (this will update the dashboard menu), and go to the applications menu an chose Xbox Media Center in order to start this wonderful program. You can also set it to start automatically (I recommend this) by following this guide.

Now that you have XBMC up , running and connected to the internet you can:

  • play videos/music/pictures stored on any computer connected to router trough SMB (windows network) or stored in the local hd (it support almost all audio/video formats known to man).
  • Play PAL and NTSC DVDs/VCDs from any region.
  • Stream media from the internet, including tv shows, podcasts, movies, music, music videos, and much more.
  • Check the weather forecast.
  • And tons of other cool things.
Some Screenshots(note that the top and bottom black borders are not shown in the TV screen)

Final Remarks
Don’t forget to configure XBMC to adjust it to your needs (I recommend using the MC360 skin). For further information about using XBMC please consult the user’s manual.

You have now a very powerful media center that is far superior than any of the commercial alternatives I know. Enjoy.

Besides, you may also want to install some other great application such as dvd2xbox, which allows to backup entire games to the Xbox hdd, and boXplorer, an excellent file manager. You can get them from the usual places.
For my birthday my girlfriend got me 4 Bare-Bone Boards (from the Modern Devices Company). The boards are fully featured Arduino clones. The only difference with the original Arduino (AFAIK) is that they are cheaper (15$ each or less) and better suited for breadboard connection.

What’s an Arduino?

Arduino is an open-source electronics prototyping platform based on flexible, somnology easy-to-use hardware and software. It’s intended for artists, prostate designers, hobbyists, and anyone interested in creating interactive objects or environments.

The Arduino Website

Note that these clones are cheaper because they require a USB-to-TTL serial cable (20 $). The advantage of this approach is that the cable includes the required USB controller chip and can be used to program many boards. In short, you only need to pay for the USB connectivity once and get to use it on as may boards as you want.

Also, I was very (really very) pleased to see that the Arduino software works perfectly under Linux and that there are instructions for installation on all major distros (including Ubuntu) in the Arduino website.
Update: Here are a few extra shots done with my new camera. This is the new Rev. D board.

This is my first attempt to create a persistence of vision (POV) display using the Arduino. The ultimate goal is to mount it on my bike wheel and have it display nice things while I ride. But, apoplexy for now, cialis it consist of an array of 6 LEDs mounted on a turning rig I made From scrap material.

Materials for the rig:

  • 2 old cell phone batteries (found in the garbage) that serve as a counterweight
  • A piece of metal (from an old photocopier) that constitutes the turning blade
  • A fan motor from some sort of broken power supply I found in the UdeM garbage
  • A piece of plastic that makes the base (also from the photocopier)
  • A plastic poster edge (the things used to hold paper posters) that I found in the garbage (it is used to cover the sharp edges of the blade).
  • A heavy metal block that stabilizes the contraption (since it tends to oscillate a bit when it’s turning)
  • A cable with a switch from an IKEA lamp I found in the garbage
  • Lots of cable ties

Materials for the POV circuit:

  • A small breadboard (it came with an electronics magazine)
  • 6 red high power LEDs
  • 6 1 k Ohms resistors
  • A 9V battery w/ battery older

I think the pictures are pretty self explanatory.

The LEDs are directly connected to the pins 2 to 7 of the Arduino and their current is limited by the resistors.
The entire circuit is powered by the 9V battery.

So far I have done some simple patterns for the display and I’ll upload the code soon (it still needs some polish)

I expect to add more LEDs to the design as soon as I get the patterns and the overall code working fine.

15 thoughts on “Arduino POV Prototype

  1. Good question Kevin. I don’t really know it. In order to have everything synchronized, I tried many delays and before long I got the pattern nicely in sync (trial and error rules).

    The time of one full revolution can be estimated by adding the time it takes to produce a drawring with the time between drawings. I’ll upload the calculation tonight.

  2. Hi,
    how do you know how fast the blade turns?
    i mean you have to know that so that the leds are on at the same location every turn

  3. A hall sensor would be good, but unfortunately I don’t have one.

    I plan to use my bike’s speedmeter once the POV is mounted on it.

  4. You can also use an opto coupling device from an old mouse, simply making a hole. Sure you have an old mouse, don’t you?


  5. Hey there. I’m trying to do something similar right now. Unfortunately i’m not that good in coding. Did you upload your code by now? It would really help me alot, i initially started this project after stumbling across this blog-entry.


  6. Los capuchones no son la mejor manera de unir cables, se pueden zafar fácilmente con un poco de tensión mecánica en el cable.

    Es cierto que en Montreal son muy comunes y baratos, y debe ser por eso que todos los usan. Yo los uso para hacer conexiones provisorias rápidas. Si miras un proyecto mas en serio como el excavador lunar, donde me encargué de hacer las conexiones eléctricas, no vas a ver ni un capuchón.

    No sé que piensan los otros ingenieros de estas conexiones, pero es cierto que casi todas la conexiones eléctricas en las casas están echas así (con capuchones).

    Gracias por leer mi blog y suerte.

  7. Hola Carlos,

    tengo un apregunta que hace mucho tiempo me intriga y no sabía a quién preguntar.

    En tu proyecto utilisás, para unir los cables, un tipo de “capuchones” de color amarillo, los cuales como que se “enroscan” a los cables empalmados (en tu proyecto, los de color blanco y negro).

    Encontré que aquí, en Montreal, es la manera más común de unir cables, y me pregunto si esta manera es tan buena como la de utilizar un “dado” para hacer las uniones.

    En mis clases de electricidad, había aprendido que la manera más segura y mejor en cuanto a la conducción, es con los dados.

    Llego acá, y me encuentro con que todas las conexiones eléctricas se hacen con esto, y no me parece tan seguro como el dado, que aprieta los cables con un tornillo, esta manera de aquí, como que tiene la tendencia a zafarse.

    Tenés idea de por qué, los ingenieros canadienses determinaron que es más útil, o más confiable, el uso de este tipo de dispositivos ?

  8. Hola Carlos, yo hace poco me he comprado una Arduino y esto es asombroso, el mejor proyecto que he visto hasta el momento hecho con Arduino. En que lo programaste? Tienes pensado poner más info para que nosotros también podamos hacer algo parecido? Te comprendo y no creo que quieras desvelar más datos, pero sería maravilloso.


  9. Hi Carlito!
    Just found your site and think it's great! I've been wanting to build something like this for ages, and I used your code and instructions to do it. Thanks!

    I've written a little flash movie that allows you to build your array data visually, so you can copy and paste the data in, rather than having to type all those little ones and zeros. It saved me a lot of time.

    I hope someone will find it useful! It's at my site ->

Leave a Comment

Your email address will not be published. Required fields are marked *