Hacking Stage 3b: Software

Stage 3: Robosapien Alarm Clock

I will describe the software running on the hardware described on the previous page, namely two PICmicros and an LCD panel integrated into my robosapien, which constitutes my Robosapien Alarm Clock.

Running on one PIC, which is connected to the LCD display and the second PICmicro, is code modified from Thomas Langewouters’ alarm clock. This simplified making the robosapien alarm clock greatly as I don’t think I could have written the code for an accurate clock. Running on the second PIC is, at the moment, code to receive the robosapien IR protocol from the remote control and passes it on to the robosapien unless the S> (sonic program) button was pressed in which case the PIC relays the remote data to the clock PIC to allow setting of the clock and the alarm.

What’s still to be done?

Ideally I’d like to disconnect the finger and foot switches and run them to the second PIC allowing for the finger and foot switches to be dealt with seperately.

I’d also like to connect the SP03 (text-to-speech synthesizer) enabling robosapien to speak phrases, I’ve had this working before, when I had a breadboard taped to robosapien’s back, so I know it will work but I cannot find anywhere suitable to hide it under robosapien’s shell.

One major upgrade to the alarm clock would be displaying rss feeds or other internet related text on the LCD panel in robosapien’s chest (i.e. ‘you’ve got mail’ or ‘new post on robosapien.tk’). This would require an internet connection, something I don’t really have at the moment except at university but it’s a possibility when I return home at the end of the semester.


  • clockv2.jal – the code to display the clock on the LCD
  • racv2.jal – the code for the second pic
  • saplib2.jal – pic-to-robosapien and remote-to-pic communications
  • sapcommands.jal – list of constants used to name each of the remote buttons (this makes it easier to read/write routines)
  • I’m not going to post the code for my pic-to-pic communication as it is rather ugly and still doesn’t work 100%.

Related Links

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.