Home Security Engineering Projects Research

Select Hardware and Software Projects


This section contains notes on various projects that I've spent time working. If you happen to be doing something similar, hopefully I will have saved you a couple of hours (or days) covering ground that I (or someone else) has already mapped.



This project is an experiment in robot vision (e.g. Open CV) and neural networks applied to the practical purpose of cleaning my apartment. My cat is not impressed.

Robot Control with MIT's "Scratch"

Scratch is a programming environment developed by the Lifelong Kindergarten group at MIT. It is intuitive and block-oriented and ideal for children (and adults) to get the basic concepts behind programming. In this section, I describe a rather extensive modification that I made to the Scratch programming environment in order to control robots through a simple serial protocol.

My approach at the time was to reach under the hood and modify Scratch itself directly in its native coding environment (SmallTalk in a Squeak VM). It appears that it may be easier (since Scratch 1.4) to add new buttons and extend the functionality. It also appears that the latest version of Scratch is being implemented in Javascript. However, if you feel the need to learn SmallTalk and poke around in Squeak, I have a some hints to help you get going.


Marvin is the longest-standing robot test-bed in my graveyard of robots. This robot was a favourite at my kid's school. If you are just getting into NXP "HC" series processors and you like to bare-metal program, then maybe Marvin has something you can use!

Sheldon Robot

If recent events have demonstrated that your body is too fragile to endure the vicissitudes of the world, then this is the project for you! We made a cheap telepresence robot similar to the one that Sheldon built on the Big Bang Theory. In this case, it wasn't made to avoid human contact but rather to enhance it.


My daughter's WallE robot. Edited so that it chases things. But not very well.