Category Archives: Projects

SmartParallel: First complete PCB layout

Well that wasn’t easy. Finally, the SmartParallel TTL serial to parallel printer interface has a complete PCB layout. And I learned a few lessons along the way. The most important of these, perhaps, is that when assigning signals to the pins of a microcontroller during the schematic drawing part of the project, don’t rely on whimsy or the luck of… Read more »

DIY joystick for the BBC Micro – part 2

In the first part I described the interface between two RJ45 Ethernet sockets and the BBC Micro’s analogue port. The idea behind using RJ45 connectors is that you can use any old Ethernet cable to connect the joysticks. But as these are homemade joysticks, they’ll need RJ45 sockets of their own into which one can plug the other end of… Read more »

DIY joystick for the BBC Micro – part 1

My recent PC build was undertaken partly to allow me to play Elite: Dangerous. There was no small amount of nostalgia involved in that decision: the original Elite was one of the few games I played back in the 8-bit days. But while I can now play the two incarnations of the game – separated by 30-odd years – side-by-side, there… Read more »

SmartParallel: refreshing the design

The SmartParallel, aka DottyMatrix, project has been languishing for a while now, but it’s time to get it restarted. SmartParallel is a serial-to-parallel interface that I embarked on because I wanted to be able to use my decades-old Epson MX-80 F/T III dot matrix printer with a number of platforms that don’t have parallel interfaces, such as the Raspberry Pi…. Read more »

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 »