As I promised the hardware section, I've now written up the software side of the Zigroller. This is mostly going to be a big block of text with some code snippets thrown in for flavor. I'm going to avoid going too deeply into the math, but I can't completely avoid it. The code is a bit of a mess right now, and there are a number of things that are in there because of the somewhat meandering route I took to this point and because it remains a work in progress.
Since my Zigduino-based balance bot project, the Zigroller, got mentioned in the Make blog last week, I've written it up in a bit more detail here. I'm going to cover hardware first and then I'll cover the control software later. I took a class on digital controls up at UW this summer, and the class included a project option. I'd wanted to build a balance bot for a while, so this was the perfect opportunity. Around the time I needed to pick my project, the Arduroller project turned up on Make and various other places around the web. Since the class was in control theory, it was perfectly acceptable for me to duplicate the mechanical and electrical part of the Arduroller design. I deliberately refrained from reading the code. Since the Zigduino needs more demo projects, I decided to make it remote control as well for a little additional flash.