OpenMediaVault on the RockPro64: not a happy tale

It should have been so easy. I wanted to set up a personal cloud server – a beefier version of what I’d already done with an old Pine A64 and NextCloud. And having seen it praised on so many YouTube channels, I went for a RockPro64 as the computer. And not just the RockPro64 – oh no. A NAS case,… Read more »

AVR basics: Using cheap ultrasonic rangefinders

As part of my cunning plan to develop ‘smart’ sensors, I’ve been playing around with infrared rangefinders (and may do a post on those soon). But the first kind of rangefinder I ever tried was the ultrasonic type, so it was time to reacqauint myself. And, in particular, I wanted to see if I could do this on the cheap…. Read more »

Installing Sigrok under Ubuntu on the Alpha

One of the tools I knew I was going to want straight away on my new LattePanda Alpha is Sigrok – or to be more precise, the PulseView logic analyser tool. I already have this running on my old Windows 7 laptop, but who the hell wants to use that, right? However, Sigrok is created by hackers for hackers and… Read more »

LattePanda Alpha: a platform for hacking

A while back I decided that it would be good to have a Linux machine dedicated to my various electronics, robotics and other maker-y projects. I have an Ubuntu VM on my iMac, which is all well and good. But being able to physically plug stuff into the machine is handy. I trawled the web for small form factor PCs,… Read more »

Into the cloud with a Pine64, NextCloud and DietPi

Dropbox is all well and good – good enough, in fact, that I pay for it. But it does have occasional irritations. And if you want to play around with cloud-based stuff, what could be better than having a cloud of your own? I’ve just received a LattePanda Alpha single board computer on which I’m running Ubuntu 18.04. I won’t… Read more »

AVR basics: reading analogue input

It’s an increasingly digital world, but not all information comes packaged neatly in 1s and 0s. Sometimes you have to deal with analogue voltage levels using the microcontroller’s analogue to digital (ADC) converter. Measuring analogue voltages is made easy in Arduino projects because the IDE comes with a handy analogRead() function. Providing your input voltage does not exceed what the… 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 »