Category Archives: Projects

Sheldon robot: the web app on Docker

In a previous post, I described how I’m planning to use a web app to communicate with my robot, Sheldon. Well, it just occurred to me that this is a perfect use of containerisation. Time to learn something about Docker. A web app is the perfect solution for this because HTML and JavaScript offer a very simple way to throw… Read more »

Sheldon robot: crash detection

      No Comments on Sheldon robot: crash detection

It’s sometimes handy to know when things are not going well – for example, when your robot’s collision avoidance systems have failed it and the poor, dumb critter has crashed head-on into something. You’d be surprised how often that happens. Work on my robot, Sheldon, is progressing slowly. I’ve just added some infrastructure (not shown in the picture) that will… Read more »

Sheldon robot: remote control

      No Comments on Sheldon robot: remote control

With any robot, it’s always useful to have some form of remote connection, if not full remote control. The question is how to achieve this. By the way, in this post, I’m definitely in ‘thinking out loud/workshop notebook’ mode, because nothing described here is finished. I’m just playing with concepts. Now, when I mention ‘remote control’, I’m not talking about… Read more »

Sheldon robot: smart sensors

      No Comments on Sheldon robot: smart sensors

Microcontrollers can be busy little beasts. That’s because we load them down with jobs to do  – sometimes too many jobs. In the main loop of an Arduino, AVR or whatever microcontroller takes your fancy, we often spend time polling sensors and then throwing away the data as uninteresting. On the robots I’ve built in the past, for example, that polling… Read more »

Sheldon robot: semi-autonomous motion control node

The overall architecture of the Sheldon robot is going to be modular. Aside from a central computer (probably a Raspberry Pi or some such), there will be multiple computers or microcontrollers each managing some sub-system. And the first of these is for motion control. I decided on this hierarchical approach because of previous experience building robots. Most of these were… Read more »

Sheldon robot: exploring the hall effect sensors

The 9V motors on the T300 robot vehicle are each fitted with two hall effect sensors that act as encoders. I figured I’d take a closer look. The two sensors are positioned to read a magnet attached to the rear of the motor’s shaft. They are quite close together so that, as the magnet rotates, one will be triggered very… Read more »

Sheldon robot: motor encoder connections

The 9V geared motors fitted to the T300 tank, which forms the base vehicle for my Sheldon robot project, come fitted with encoders. I’m not sure I need these, but they might be useful to have. But first I had to do a little simple reverse engineering to work out how to connect them. Each motor has a six-pin connector,… Read more »

Sheldon – the soft robot

      No Comments on Sheldon – the soft robot

A comment over on Reddit made me realise that I haven’t yet mentioned a key characteristic of my Sheldon robot project – inaccuracy. I mean, I could* built a robot with incredible precision that would be able to locate and move itself to tolerances of fractions of a millimetre. Think of those amazing pick-and-place robots that populate circuit boards with hundreds… Read more »

Sheldon robot: controlling the motors

Many beginners’ guides to electronics teach you how to build motor controllers using mosfets, H-bridge circuits and all that good stuff. And maybe I’ll get around to doing that one day. But to get this robot project up and rolling, I decided to go for an off-the-shelf motor controller. I’ve used many before, including Arduino shields from Adafruit and Snootlab…. Read more »

Sheldon robot: architecture

      No Comments on Sheldon robot: architecture

Right from the beginning I knew that the Sheldon robot would have a multi-processor architecture. This appeals to me the same way object-oriented programming appeals – you can create a modular system in which each part does a specific task and can be treated like a black box. The structure will be hierarchical. At the top – what I’m going… Read more »

Sheldon robot: the base vehicle

One of the things that spurred my current interest in electronics was a resurgence of my fascination with robots. And so, here we go with another project – a robot base vehicle that I can use for experimenting with sensors and algorithms. (Technically, this is not a new project – it’s a new start to a years-old project, but anyhoo…)… Read more »

ESP8266 IoT room thermometer – part 3

The best projects are the ones you finish. And as projects go, this IoT room thermometer – and, for good measure, clock – was one of the easier ones. To recap, I wanted a thermometer in my office to measure the temperature and compare that with how I’m doing, at any given time, in terms of hand pain. I have… Read more »

DottyMatrix software stack: PHP & Python messaging

On the Raspberry Pi that I’m using to control my DottyMatrix serial-to-parallel Centronics printer interface there are two main software components – a web-based PHP/JavaScript front-end UI and a back-end server programmed in Python. So these need to talk to each other. Here’s the overall architecture of the solution: The program is intended to run permanently on the RPi… Read more »

DottyMatrix software stack: the front end

It’s one thing building an interface – it’s quite another working out how to use it. My DottyMatrix serial-to-parallel device is designed to drive my venerable old Epson MX-80 F/T III dot matrix printer (although it should work with any printer using a Centronics parallel interface). So far, I’ve mostly spoken to it using a terminal, sending text directly from… Read more »