Simple POV Homemade Arduino Shield




Introduction: Simple POV Homemade Arduino Shield

Has Gunnery Sergeant Hartman (Full Metal Jacket) says during the riffle pray “There are many like it, but this one is mine”

Step 1: Material

Indeed there is many project like available on internet.

This one use a tilt switch as trigger

1 x Arduino board (
7 x 500 ohms resitors ¼ W
7 x basic red leds
1 x 10 k ohms resitors ¼ W
1 x tilt switch (I use this one
A piece of prototyping board plated holes
Male header (0,1") 1 row, 40 pins (need only 28 for complet arduino connexion , and realy need 10 for this project)


A PC to program the arduino
An soldering iron
Some tin
A cutter

Step 2: Prepare the Board

You have to cut the board to get a piece of about 21 x 18 holes (the hole spacing is 2,54 mm)
For this kind of board, just score with a sharp knife, place a metal ruler or similar on the top and snap it.

Then you have to solder the Male header.
First cut the male header in
2 pieces of 8 pins
2 pieces of 6 pins

Then, solder the Male header. Take care of the two 8 pins. They must be tilted to fit the arduino connectors. First, make a try with a single soldering point.

You can find instructable of this here =>

and here

Step 3: Solder the Electronics Parts

Solder the 500 ohms resistors. They must be connected to the male header of the arduino pin 6 to 12

Solder the leds. The “upper” leds must be on the pin 6

Solder the tilt switch and the 10 kohms resistor.

With my tilt switch, I’m using only two pins (see picture)

Add some jumper wire… and finally it should looks like the last picture

Step 4: The Code

You can tune these parameters

If you use deferent pin for your leds or for your sensor
#define led1 6
#define led2 7
#define led3 8
#define led4 9
#define led5 10
#define led6 11
#define led7 12
#define sensorPin 2

Currently this code display two message : “SNOOTLAB” and “RULEZ”

The two messages are define in
char texte[] = "SNOOTLAB"; // data to write on startup
char texte2[] = "RULEZ"; // data to write after "repet" writing of the first message

The message changes after 10 displays. You can change this value here
#define repet 10 //number of repetition before changing message

Step 5: Enjoy

I think there is many way to improve this, by using interruption for example. For this purpose, I have connected the sensor on the pin 2 of the arduino of the external interruption.
If you made a think like this, please post this upgrade on instructable.

Be the First to Share


    • Make it Glow Contest

      Make it Glow Contest
    • First Time Author Contest

      First Time Author Contest
    • PCB Challenge

      PCB Challenge

    38 Discussions


    5 years ago on Introduction

    If i am using a Hall Effect sensor, then do i need to change the code for sensor?

    Means how it triggers the change and the time delay?


    5 years ago on Introduction

    Hi Phil,,,, you did an excellent work...i want to try the same thing, but want to build it on a rotating base. Can you please guide me what changes i might need to do in the program?


    Reply 5 years ago on Introduction

    Hi bhawick55

    Thank you for your comment

    For a rotating base, I
    think this code can work without modification. The main modification is on the hardware part

    The tilt sensor can’t work
    on a rotating base because the centrifuge force will “stick” the ball in the
    tilt sensor

    The way to do that is an
    optical sensor, a REEL sensor or a hall effect sensor

    You can find some inspiration
    on this project è



    Reply 5 years ago on Introduction

    Thank you for your feedback, i will try to do it using a hall effect sensor, will let you know how it works.


    6 years ago on Introduction

    I built this project (on a breadboard for testing), and have come across two problems. 1. The led on pin 12 doesn't light up (I have checked that it works, and it works on the same pin in a different program). 2. I have tried changing the settings, but I can't get the text to show up, like it does in the video. I'm using an UNO, not a Duemilanove, if that makes any difference


    Reply 6 years ago on Introduction

    Hi, thank you for your
    interest for my project.

    Can you send me a picture
    of your breadbord ?

    About the arduino UNO or
    Duemilanove, I don't think it is important.

    The code doesn’t use any
    uno or duemilanove specific function

    About the led on the 12
    pin, this led is use with some char (like _, @ , j,...) but most of them doesn’t
    need the led on the pin 12.

    Take a look in the file
    font7x5.h. The char using the led 12 are like this one

    //106 j








    If the last
    line have some “1” the led 12 will lit

    You can found here an example of this setup on breadbord ==>


    Reply 6 years ago on Introduction


    What do you call error ?
    Error to download, ?
    Error to unzip ?
    Error in the Arduino IDE ?
    What is the error message ?



    hello author,

    I really liked this project.

    I tried running this code and got the following errors. Can you please tell me what changes are to be made.
    Thanks in advance.

    sketch_apr10a.ino:6:21: error: font7x5.h: No such file or directory

    sketch_apr10a.ino: In function 'void displayChar(char)':

    sketch_apr10a:97: error: 'charbook' was not declared in this scope


    Reply 6 years ago on Introduction

    In the file you have two files : font7x5.h and pov05.ino you have to put this two files in to the same directory (in arduino you have to name this directory "pov05")

    Let me know if it works



    Reply 6 years ago on Introduction

    Hello again

    Thank you so much.

    I put these 2 files in the same directory. Its still showing an "error sketch_apr11a.ino:781:21: error: font7x5.h: No such file or directory"

    should i remove:- #include "font7x5.h"..?


    Reply 6 years ago on Introduction

    It strange because your error message talk about : sketch_apr11a.ino file

    You have to open the pov05.ino file with arduino and to copy the code from this file into the arduino ide.

    Please find below a step by step guide to do that

    1 - close all the windows of your Arduino IDE

    2 - download the file

    3 - unzip it in your skectchbook folder

    4 - be sure that the two files (font7x5.h and pov05.ino) are in a folder named pov05 at the root of your sketchbook folder

    5 - start arduino ide, now in the menu "file" => "skectchbook" you souhld have a item called pov05.

    6 - clic on pov05

    7 - enjoy


    7 years ago on Step 4

    please help me! pov05.ino is the arduino sketch. but what about the font7x5.h? where should I install the font?


    Reply 7 years ago on Introduction

    Copy the font7x5.h file in the same directory of the pov05.ino file. Thank you for your interest for my instructable.


    7 years ago on Introduction

    Voilà ma bricole >>>
    Merci d'avance

    Untitled Sketch.jpg_bb.jpgUntitled Sketch.jpg_bb.jpg

    8 years ago on Introduction

    I received all the materials needed for doing a similar pov :), i am on the soldering components part and i have a problem :s >>> how can the 500 ohms resistors be connected to pin 6 to 12 of arduino male header meanwhile it is occupied by
    two male header of 8 pins?
    Don't know if i have missed something to resolve that
    Thank you in advance!:)


    Reply 8 years ago on Introduction

    You have several ways to make that.
    The first way is to make a kind PCB trace like this
    The second way is to solder the leg of the resistor on the 8 pin header
    I will post a picture of the back of my pcb with the two solution ASAP (maybe tomorrow)

    suggestion: 2 unnecessary dots can be removed by changing these lines

    for (a=0;afor (a=0;a

    for (a=0;a<(sizeof(texte)-1);a++)
    for (a=0;a<(sizeof(texte2)-1);a++)