Third party cookies may be stored when visiting this site. Please see the cookie information.

Home Babies & Children Gallery Information Free Software Reviews Blog

Stewart's Blog

Monkeys, megabytes, medical and more ...

(Children, computing, first aid and other ramblings ...)

When it’s time to re-install Ubuntu / Kubuntu Linux

November 17th, 2015

One of the benefits of a Debian based Linux operating system is how easy it is to upgrade. In the case of Ubuntu and the KDE version Kubuntu then there is a new release every 6 months providing. This provides a way to get the latest versions of all the software with minimal fuss. For those that prefer a more stable system there are long term support (LTS) versions that just need the usual security updates to be applied, but I prefer to be a little closer to the cutting edge with new software updates.

I first got my current Dell laptop during 2013 and installed Ubuntu 13.10. Since then I have successfully upgraded the operating system 3 times including a change from the Unity desktop to KDE window manager. Unfortunately the 4th time was not so successful. The operating system appeared to be working at first, but the touchpad became erratic and the system slowed considerably.

The latest upgrade included the update to systemd based operating system. This is perhaps one of the most significant changes to Linux in the past few years (and arguably one of the most controversial). I believe systemd does bring many benefits, but it may have been a contributing factor to the problems that occurred after the upgrade.

I therefore took the non-trivial decision to re-install the operating system from scratch, and it now performs so much better. Not only that, but the clickpad (soft touchpad) that caused me many problems before was properly detected and configured by the operating system and the same with the power indicator which had also been a problem when the laptop was new. Whilst in theory it should have been possible to upgrade all the appropriate components, it looks like it was a good time to re-install rather than upgrade.

Screenshot Kubuntu 15.10

Upgrade steps

There are several things that can be done to make upgrades go more smoothly. Although one of these depends upon certain choices being made during the initial install of Linux.

Create a separate home folder

If you follow the default install for most Linux distributions then you will end up with a single filesystem which contains the programs and data. This is similar to Windows having a single C: drive for both data and applications.

If however you choose custom network partitioning during the install then you can split the physical disk into one partition for the programs and system configuration files which is the root filesystem (/); then add a separate file system called /home where user data is stored.
This means that you can upgrade the operating system and reformat the root filesystem without deleting your user data.

If you haven’t done this already then you may want to look at performing a backup and restore to manage the upgrade, but it’s a useful thing to consider during the re-install.

Create a backup

Hopefully you have a backup of your important data already, but it’s especially important that you have your backup when you are performing a re-install. All going well then you shouldn’t need the backups, but if you choose the wrong option or if there is a power cut during the install then there is a risk of data loss, so make sure that you have an up-to-date backup before starting.

How to make the backup is personal preference, but I bought a 5TB external disk drive so that I can backup all my data. I formatted my external disk drive as a Ext4 Linux file system, this has the advantage of preserving all file permissions, but does prevent accessing the data from a non-Linux computer (not a problem in my house). I used a file manager to drag and drop the contents of my home directory onto a directory on the external disk drive.

As well as creating the backup it’s also important to validate that the backup was performed correctly. How this is done depends upon the risk you are will to take vs the time to validate the data. Ideally you would want to run a full checksum across all the files and compare them with the local disk, but as it already took about 12 hours to copy the data (left running overnight) the time to validate that would be too long. I therefore made a simple check using du. The du command reports on “disk usage” and so gives me an idea if the backup copy is approximately the same size as the original.

du -h --max-depth=0 /home/stewart
compared with
du -h --max-depth=0 /media/diskname/stewart-backup

At first it came up that the backup was significantly smaller – which I realised was due to it not copying hidden files and directories. Lucky that I checked as this includes my email archives etc., although fortunately the upgrade went successfully anyway.

I therefore used Konqueror to copy the hidden files by enabling view hidden / system files first.

Move the home folder

Although it would be possible to use the same home folder I wanted this to be a clean install without any of my old configuration options. I therefore renamed my home folder prior to the upgrade so that I could then selectively copy the data into the new folder. I did this by booting into a Live USB stick (running Kubuntu 15.10), mounted the home file system (though the file manager) and then renamed the folder to add “.old” to the end. I then moved the appropriate data into the /home/stewart folder that is created by the installer.

Don’t format the home drive

To ensure that I kept my old data on the home folder I chose the custom partition open. I chose to use the old home directory and entered /home as the mount-point but ensured that the format option was NOT checked before starting the install.

Adding applications back

There is plenty of software installed by default, including LibreOffice (free Office Suite), Firefox web browser and various KDE applications. But there’s also lots more than can be installed for free which typically involves a few clicks of the mouse or running a command in the terminal. The following is a partial list of some of the most useful applications that I installed after the re-install or plan to do soon.

GIMP (advanced image editor)
Konqueror (Web browser, which I mainly for ftp and ssh transfers)
Thunderbird (my personal preference for email client)
KeepassX (password safe application)
Epson printer drivers
JEdit (portable Java based text editor)
OpenBox (virtual machine software)
Steam (Games platform)
Dropbox (sync files across computers)
Scratch (programming language used for teaching programming to children)
Openssh server (allows secure remote connection, control and file transfer)
Kdenlive (Advanced non-linear editor for creating videos)
Mixxx (DJ music software)
Terminator (split window terminal application)
vim (Hardcore shell text editor)
kubuntu-restricted-extras followed by running sudo /usr/share/doc/libdvdread4/ (restricted audio and video codecs required for playing DVDs etc.)
Handbrake (Use for converting DVDs for Kodi)*

Summary – when to re-install vs upgrade

Normally I perform a live upgrade whenever a new version of Ubuntu / Kubuntu comes out, which is every 6 months. This mostly works, but is not infallible. My own stance is that whenever a new version comes out I find a convenient time to upgrade (sometime I’m not going to be hitting a deadline on an assignment where I need my laptop working) and try a regular system update. If that should fail, or result in a poorly performing system (as in this case) then it’s time to re-install. Whilst a re-install is very time consuming with the proper backups it should be possible to do so without any loss of data.

* Note in some countries it is illegal to copy DVDs, whereas other countries permit copying for backups and to allow it to be played on a different media player (eg. Kodi / XBMC). Please check you local country laws before copying copyright DVDs.

Fixing erratic Clickpad / Touchpad behaviour on Dell Inspiron 7000 series with Kubuntu / Ubuntu 15.10

November 6th, 2015

I have a Dell laptop – Dell Inspiron 17 model 7737

When I first bought it I installed Ubuntu 13.10, which worked well with a little tweaking of the clickpad settings. More details about installing Ubuntu Linux on the Dell model 7000 series are available here.

Since then I’ve moved to Kubuntu (based on Ubuntu but with the KDE desktop), which worked well up to Kubuntu 15.04. Since then I have now upgraded to the latest version Kubuntu 15.10 which has now resulted in more problems due to the clickpad. I’ve created a workaround, although it’s still not quite how I’d want it working.

Clickpad / Touchpad on Dell 7000 series laptop

I’ve referred to this as a clickpad, although it’s also known as a soft touchpad. As you can see from the photo above instead of having separate buttons underneath the touchpad the touchpad is a single piece with a painted line indicating where the left and right buttons are. Instead of having multiple buttons it is down to the finger position whether it is taken as a left or right button press.
The problem is that when using one finger to press the button and a second as the drag (as you would on a normal touchpad), then the touchpad sees this as a mutli-touch gesture. In earlier versions of Ubuntu the clickpad behaviour could be changed by setting the detectable area for the touchpad, but this no longer appears to work in Ubuntu 15.10.

I haven’t been able to get it working as I would like to, but I have managed to change the behaviour so that it is more usable.

The change I made was to disable the I2C driver and instead rely on the usb driver. This is done by editing /etc/modprobe.d/blacklist.conf

Add the entries:

blacklist i2c_hid
blacklist mac_hid

then update using:

sudo depmod -a
sudo update-initramfs -u

This does not completely fix the erratic behaviour, but the usb driver works slightly better.

To drag a window etc. then I first need to put my drag finger onto the touchpad and then whilst leaving my finger on the trackpad click the button on the button part of the trackpad with another finger.

Unfortunately there is no indication of a better fix on the Dell website. Although they do supply one laptop with Ubuntu pre-installed, they don’t provide any support for the 7000 series and I don’t know whether the Ubuntu laptop has the same clickpad. There is no mention of support for this on their website.

I’ve got the touchpad so that it is usable, but it’s still not idea. Unless anyone has any other suggestions, I’ll be avoiding buying a laptop with a similar touchpad until this is fixed in Ubuntu / Kubuntu.

Redditch Fire Station Bonfire and Firework Display 2015

November 5th, 2015

Another great Bonfire Night and Firework Display at Redditch Fire Station. Although it was originally expected that 2014 would have been the last display the Fire Service have now confirmed that they do plan to continue with the regular tradition for 2016 and beyond.

There is a reasonable admission fee (£4 adults, £2 children in 2015). There is a small funfair suitable for younger children and hot food available to purchase. The bonfire was lit at 7.30 with fireworks around 7.45pm.

Next generation innovators at Malvern Festival of Innovation

October 20th, 2015

I recently spent a day at the Malvern Festival of Innovation – introducing pupils to physical computing and computer programming.

The event was in co-operation with STEMNet (who arrange the background checks and provide support) and The Institute of Engineering and Technology (IET) (who provided all the materials and equipment on the day).

The event was held at the Three Counties Showground. When I arrived the event was already setup with 10 Raspberry Pi computers. This allowed up to 20 pupils at a time with two pupils at each computer. We had 5 schools attending 1 hour session throughout the day.

The pupils were provided with a worksheet describing how to wire up the circuit and step-by-step instructions walking them through writing a simple Python program and explaining how the code worked.

At the end of the session most of the pupils managed to create a simple reaction timer game using an LED, switches and the Raspberry Pi.

We were on hand to deal with an issues and problems that the pupils came across. This was usually that a wire was inserted into the wrong position on the breadboard or Raspberry Pi, or a typo in the code which was usually found by comparing the line they had typed with how it was written on the worksheet. I also spent some time talking to some of the teachers who were run a similar activity in their schools.

It was a fairly long day to spend on your feet, but it was very rewarding. This was the first time many of the pupils had created any physical computing and most of them appeared to enjoy the experience.

There are many opportunities for hands on activities throughout the year, providing mentoring and training using technology based skills. Previous programming experience is not required although is useful. The materials were all provided with full details of what was required and most of the others helping on the stand did not have much programming experience. The main thing was lots of enthusiasm and applying simple logical reasoning. There were others on hand with more experience if anyone got stuck.

High altitude ballooning with the Raspberry Pi and Lego figures

October 7th, 2015

We visited the education day on PyconUK again this year (read about last years PyconUK Kids education day). It’s a great day for children to get excited about programming and this year electronics as well.

Another new feature of this years education track is that the Raspberry Pi education Skycademy team launched high altitude balloons with a Raspberry Pi onboard. My children gave some lego figures that were sent up in one of the flights.

This was something that really captured my children’s imagination and they have learned so much as a result.

High altitude Raspberry Pi Balloonist Lego Figures

We were already aware about the ballooning since seeing the video of an earlier launch and having listened to David Akerman talk at the Malvern Raspberry Jam, but sending the lego people up in the payload really connected us to the flight. We followed all the tweets on the day.

Afterwards we looked at the maps and did some research about how high it went, learned about the stratosphere and why the clouds are at a certain height and lots of other science stuff that we didn’t know before (even though I’m a STEM ambassador).

We went to watch the second Pycon balloon launch on the Sunday which was great. Although James and Marc were both busy making sure they could launch during their approved window they both explained some of the things they were doing to my children and Marc gave a good explanation of why the weight of the payload was so important (as he topped up the payload with his loose change to add some extra weight).

We really enjoyed learning about the flight and watching the launch. They (and I) learned so much from it that they wouldn’t have otherwise. A great way to teach about the earths atmosphere.

For more details see: Nicholas Hughes – High Altitude Ballooning

Computers and robots – Digital Maker Badge with Beaver Scouts

October 5th, 2015

The Scouts have introduced some new staged activity badges which provide different levels of achievement. One of the new ones they’ve added is the Digital Maker which is all about using making games, programs and robots. The highest stage goes as far as making their own robot using off-the-shelf components, but I was working with the youngest members of the scouts, the Beaver Scouts, so we worked towards stage 1.

I went along to one of our local Beaver Scouts and with the help of my 10 year old daughter we put together some fun and educational sessions.

Beaver Scout with Meccanoid Robot

I split the objectives over 2 nights, the first focussing on computing and computer games and the second robotics. There were about 15 children for each session which were a mix of girls and boys. The girls appeared to enjoy this just as much as the boys.

Session 1 – Computers, Raspberry Pi and computer games

The first session was mainly looking at computers, how they work and how to put one together. The Raspberry Pi was ideal for this as it’s possible to see the actual board including the processor and it was small enough that I could take a few along with me. After explaining some of the parts of a computer we split the group into two and each person in the group got to plug a certain peripheral into the computer and then see if it booted and worked. Which I’m pleased to say worked for both teams.

I then showed them inside of an keyboard by breaking an old keyboard open. On the night I managed to pull the wrong part of the keyboard and sent some keys flying, but that only added to the fun.

We then played a game and talked about how playground games originated and about how computer games are made. We discussed some of the things we’d like to see in a game and the Beavers had chance to think about how they would design their own game.

We finished by looking at websites and what’s happening behind the scenes taking a look at some html. The children then got to make some changes to existing websites. The resources suggest using Google X-ray Goggles, but because we didn’t have any Internet access at the scout meeting place we instead used Google Chrome on some websites I’d saved offline and used the Inspect Element.
This was a little fiddly and not quite so easy as X-ray Googles, but some managed to change the famous Bear Grylls quote on the Scouts website.

Session 2 – Mecannoid, Robots and the SandwichBot

The second session was much more fun hands-on activities. I first brought in Meccanoid (4 foot high Meccanno Robot). After a demo of what Meccanoid could do we talked about what most real robots looked like and introduced the Maplin Robot Arm.

We then had some games to see how difficult it is to “program” a robot. First having the Beavers in pairs take turns at being a robot and a controller and given directions. We then played a SandwichBot game where I acted as a robot following the instructions given by the Beaver Scouts. This was a bit messy and lots of fun, especially when they instructed me to scoop out some butter, but didn’t say to use the knife!

The beavers then had a got at controlling some robots. We split them into two teams one of which used my robot arm control software and a Raspberry Pi Touch Display to control a robot arm to pick up lego, the other team programmed a BeeBot to drive around a circuit. We then swapped over. I did hope to have two robot arms, but the second didn’t arrive in time, but there was just about enough time for each child to have a short go at both the Robot Arm and the BeeBot.

Beaver Scout with robot arm


It was fun to run the session and the children appeared to enjoy it – especially the SandwichBot.

It would be a great way for someone with programming or computing experience to work together with their local Beavers (or Cub Scouts). For anyone else interested in doing something similar I’d suggest first enrolling as a STEM Ambassador and then get in touch with a local unit and see if they are interested in you helping out.

Find out more including a activity suggestions at Scouts Digital Maker Badge

Robot Arm control software for the Raspberry Pi

September 18th, 2015

Frustrated by the lack of Linux support for an education Robot Arm I bought – I’ve written my own. Other community members had already worked out the code to allow you to program the robot arm yourself in Python, but I wanted something that young children could easily see and interact with. I have therefore written some software to provide a graphical way to control a Robot Arm with a Raspberry Pi.

To get started you’ll need an educational robot arm kit. When buying the robot arm you need to ensure that you buy the version that includes the USB computer interface (or buy the usb interface separately). The robot arm from CPC and from Maplin both include the USB interface, but other suppliers may provide a handheld remote control instead

The software is written in Python, using Pygame and runs on the Raspberry Pi as well as other Linux computers. It even works on the new Raspberry Pi display (although due to the size the entire application is not on the screen).

G-Robot Arm - GUI software for robot arm on the Raspberry Pi

For more details, including download instructions see:

Robot Arm - with Raspberry Pi

Review of Meccano Meccanoid G15KS educational personal robot

September 5th, 2015


This is a review of the Meccanoid G15K personal robot from Meccano. It’s a programmable robot that’s about 4 feet tall (about the same size as a 6 year old child). The recommended minimum age is 10 which I believe is the age for making it; I’m hoping to use it to teach programming to children younger than that. The Meccanoid has only recently been released for public sale (I pre-ordered through Maplin) so there is not much information beyond the manual at the moment.

As you expect with Meccano there is a lot of assembly required. It took me about 7 hours to make, which I split over 3 days.

Once built it responds to voice commands as shown in the video below:

The Meccanoid is expensive for a toy at around £350 for the 4 ft tall G15KS or £170 for the smaller G15, but if this is educational then it is easier to justify. But does it’s educational aspect justify it’s high cost? Read on to find out more.

Building the robot

The instructions for building the robot are good. They are easy to follow, but you need to be particularly careful to look at the diagram to ensure you get the parts the correct way around, as it’s easy to make a mistake.

There were a couple of issues with the instructions the main being step 32 – where the suggested screw is too short. It states a 12mm (1 inch screw), but I had to swap it for a 14.7mm screw instead. There were some spare 12mm screws, but I had to borrow the two 14.7mm screws from a different set. There is a step later on (step 106) where I think it would be possible to use smaller screws which may be an alternative if you don’t have any spare screws. I also noticed another mistake where it showed a screw going into the wrong hole, although it was obvious which hole it should have gone into.

It is possible to assemble on your own, although having another person help will make it easier to put in some of the screws. In my case my 7 year old son was more than happy to help. A useful feature of the supplied spanner is that it can hold the nuts in place which is very useful in some of the tight spots (it took me a little while to work this out).

The only part of the build that is not detailed is where to connect and route the cables. Fortunately this was fairly obvious as due to the lengths of the cables it became evident that some of the motors needed to be daisy-chained.

There is no need to connect the Meccanoid robot to a computer, unless you want to change the language. But if you do want to change the language (I changed the language from US English to UK English) then the software is for Windows and MAC OSX only, there is no Linux version. There is a supplied USB cable, but it is very short; fortunately you only need to do that once so it’s not an issue.

Voice recognition for robot instructions

To command the robot you first say it’s name (default is Meccanoid) and then give it a command. Unfortunately the voice recognition is not very reliable. I expect this is due to different accents, but with such a limited vocabulary I would have expected it to be a bit more reliable than it is. For example whilst it always hears its name and recognizes some commands very well (such as Tell me a joke), it struggles with shorer words such as Dance and sometimes gets the commands wrong such as going forwards when I want it to go in reverse.

To record the video I deliberately chose instructions that it usually works with.


The Meccanoid robot is primarily made out of polycarbonate pieces. This is a change from the standard Meccano which uses metal (which is probably not strong enough), but stronger than the Meccano junior sets which use a more flexible plastic.

The pieces and screws are based on the same hole spacing and thread size as the other Meccano products. This is based on imperial measurements and whitworth reflecting Meccano’s British history (although Meccano is now French, owned by Spin Master which is Canadian). I think there would have been a good case for using the change in materials to change to a more universal metric based system which would have made it more compatible with other generic parts, although I expect that wouldn’t have gone down well with existing Meccano fans. It does have the advantage that it is 100% compatible with existing Meccano (hence the reason I could borrow screws from another Meccano set).

The parts do feel to be fairly sturdy although when built it does feel a little fragile. I think it would take a reasonable amount of handling but wouldn’t want to put it to the test. I think I will need to supervise children fairly closely with it..

As I was writing this a screw has fallen out, but I don’t know where it’s from. Perhaps it wasn’t tightened up properly when we assembled him.

At the moment there are only instructions to build the humanoid shape robot which is supplied in a printed manual. The promotional video also shows it reconfigured as a dinosaur, but there are no instructions for that at the moment either in the manual or available online.

Programming toy – via LIM and Mobile Phone / Tablet

The Meccanoid robot will follow spoken instructions or follow a LIM (Learned Intelligent Movement) commands which are “programmed” by moving the joints when in learning mode. The LIM mode is good to create simple movement sequences, but it’s not really what I would call programming.

The Meccanoid robot can also be controlled using a smart phone or tablet using bluetooth. Android and IOS are apps are available from the usual App stores. The mobile phone options include Ragdoll mode which is easy to use, or Motion Capture using a phone camera to mimic your movements. When I first tried the motion capture it rebooted my phone which I now realise is due to the top bracket from pushing against the power and volume control buttons on the phone. Whilst I did get motion capture to detect me eventually (not fully pushing the bracket down) I found it to be unreliable. I think this may depend upon the mobile phone, size and distractions in the room, and lighting, but I didn’t really get it to work very well using that mode.

Real programming

As a toy the Meccanoid is great fun, but what I really wanted it for is to teach programming. I hope to be able to create code that will communicate via bluetooth with the robot. In particular I’d like to be able to control this using a Raspberry Pi computer. This would provide a platform for children learning programming, which I think would help to make programming more enjoyable.

My expectation is based upon the statement that this is to encourage open source programming and that “Communication protocols will be made openly available on our website”. So far there is no more information on the website, but I hope that they will add that information soon. I have sent Meccano an email asking for more details of the bluetooth protocols and I will post details as I progress.


At the moment the robot is great fun and really cool, but at the moment it is just a toy. As such the £350 price is very high.

I do expect that the communication protocols will be released in future and that will greatly increase the programming options available. I’m looking at writing software to support this when the details are known. At that point I expect this will be a great tool for teaching programming to children and then the cost will be justified.

Neopixel GUI for the Raspberry Pi

May 1st, 2015

I’ve started work on a graphical application to control Neopixels using the Raspberry Pi. This is one of my first projects using Python and Tkinter.

It’s primarily designed for a disco DJ environment where a DJ may want to change the LED sequence based on the music being played. It uses nice big buttons (ideal for touch screens) to choose from a selection of pre-programmed sequences.

Neopixel GUI application for the Raspberry Pi

I’m still working on it, particularly the lack of documentation, but it can be used now.

Download neopixel-gui from github

The software has been tested using the MyPiFi Neopixel Controller board which is currently available on ebay if you missed the kickstarter.

Raspberry Pi St George’s day with Unicorn Hat

April 23rd, 2015

I’ve recently bought a Pimoroni Unicorn Hat for my daughter to use on her Raspberry Pi. It’s a add-on for the Raspberry Pi which provides 64 LEDs each of which can be individually set to any colour.

As it’s St George’s day I’ve created a St George’s cross.

St Georges day Unicorn Hat on the Raspberry Pi

The photo is shown through a diffuser as the LEDs are very bright for a photo.

Programming is easy using the supplied Python libraries.

First install the python libraries following the instructions here: Pimoroni Unicorn Hat.

You can download the St George’s cross below:

St George’s flag Unicorn Hat file

Unzip the file using
tar -xvzf stgeorgesflag.tgz
and then run using sudo

Twitter Status - follow stewartwatkiss

UK days out, children and holiday information is also available on the Days Out Diary web site
Linux, LPI and the Quiz / Test Program posts are also available on the Penguin Tutor website
First Aid Information, first aid games and first aid practice test / quiz entries are also available on the First Aid Quiz Web site