You'll probably have to write your own hardware driver, but ROS (Robot Operating System) and Player/Stage are both very nice robot development platforms, and they run on Linux (I run ROS on Ubuntu, but I don't know about compatibility with Puppy). They come with nice drivers for just about everything else, and include packages for SLAM and teleoperation.
Using an external microcontroller is much easier - you can be assured that timing will work out, whereas on a PC the scheduler will switch focus away from your application periodically and possibly cause issues.