This is an interesting topic, one that I can speak on. Self-Motivation is a major major thing in my life, and I think I spend some time every day thinking how I can motivate myself. I have lots of things around me, which help me motivate myself. I have even though writing some kind of an E-Book called "Motivation On The Wall" or something...lol
I think self-motivation depends on a lot of factors, for e.g. your experiences in life (good or bad), your ambitions, your hobbies, etc. I think there is scope for put sparks of motivation in everything you do, and in fact one can actually make it a hobby. Here are some things I do/plan to do to motivate myself.
On my wall, I have a poster, stating my ambitions (in code words - because no one else can understand them), and what I owe to my family, who have done a lot to me, which shows up right in front of my face when I open my eyes in the morning.
In front of my books/dairies etc, I have pictures of people I adore, and motivational quotes. I usually write something or the other on my hand before I leave for university, which comes in front of my eyes, quite a few times (suitable only for youngsters. lol). I have motivational poems and quotes on my walls as well, but I really think they dont work as well as things related to your experiences & ambitions do. I also have pictures of people who I have challenged in life in some way or the other, on another side I have pictures of people to whom I have promised I will be something in life and on another side I have pictures of some girls I have had a crush on in the past

.
I also maintain a little file, in which I keep, cut out newspaper articles, about people and things related to fame, for e.g. Mittal's daughter's marriage, things about bill gates, and other stuff talking of millions and billions.. hehe. When I am down and out, having a quick look actually makes a lot of difference.
When you are working on a particular project its also nice to note down, what you ultimately want to achieve from it and why you are doing it, when you seem to be running out of steam, going through it can be really helpful.
I think breaking down your goals into little milestones and then treating yourself after achieving each milestone is also a good idea.