Featured Posts

XloBorg – compass & accelerometer for the Raspberry Pi

Posted by Mike Redrobe | Posted in Technology | Posted on 20-06-2013


This week, PiBorg released XLoBorg – a 3 Axis Accelerometer and 3 Axis Magnetometer add-on for the Raspberry Pi

XloBorg Compass and Accelerometer

Since its so new the current software only gives the raw magnetometer x y z values:

mX = +00371, mY = -00053, mZ = +02539

Magnetic flux strength values aren’t much use to us mere humans,
what we really want is a nice easy 0-360 degree heading value.

Maths to the rescue !

We can find the angle from those “lengths” with arc tan Y/X

heading = math.atan2 (mY,mX)
(For simplicity I’m assuming the Pi is level… a more complicated method would include accelerometer data)

Here’s my full python code to read the sensor, and convert to degrees:

#!/usr/bin/env python

# Load the XLoBorg library
import XLoBorg

# Load maths library
import math

# Tell the library to disable diagnostic printouts
XLoBorg.printFunction = XLoBorg.NoPrint

# Start the XLoBorg module (sets up devices)

# Read and display the raw magnetometer readings

mx,my,mz = XLoBorg.ReadCompassRaw()

print 'mX = %+06d, mY = %+06d, mZ = %+06d' % XLoBorg.ReadCompassRaw()

# get the heading in radians
heading = math.atan2 (my,mx)

# Correct negative values

if (heading < 0): heading = heading + (2 * math.pi) # convert to degrees heading = heading * 180/math.pi; print 'Heading: ', heading

Much better:

mX = +00371, mY = -00053, mZ = +02539
Heading: 351 degrees

Raspberry Pi Biped Robot

Posted by Mike Redrobe | Posted in robots, Technology | Posted on 16-06-2013


2013-06-16 16.44.10

This is a biped based on the BRAT design from a few years ago, updated to be controlled by the raspberry pi and so giving access to usb peripherals, camera wifi etc.

The robot is a 6 servo biped walker featuring three degrees of freedom (DOF) per leg. The robot can walk forward or backwards and turn in place left or right with variable speed. It can even do lots of Robo-One style acrobatic moves.

Currently using the interrupt driven servoblaster software to drive 6 servos.

2013-06-16 17.02.14

Arms and head will increase the servo count, so may offload servo processing to an arduino in addition to the raspberry pi.

Setting up adblock on Raspberry Pi

Posted by Mike Redrobe | Posted in Technology | Posted on 16-03-2013



So you’re used to browsing on the PC with Adblock installed,
then you use the default browser (midori)
on the raspberry Pi and find the web is full of annoying ads !

This not only distracts, but also slows down page loading.

Unfortunately the version of midori on the pi does not support ad blocking direct in the browser,

While Chrome and Firefox are actually available on the raspberry Pi in the form of Chromium and Iceweasel and they do support adblock plus, they are very slow and bring the low powered Pi to a crawl.

Here is a quick way you can block all the ads. Not only will your surfing be faster but you will also save some bandwidth.

Simply use a hosts file from the guys at MVPS – they maintain a list of ads which we can use.

Open a terminal window and type (or copy and paste) the following:

wget http://winhelp2002.mvps.org/hosts.txt
sudo mv hosts.txt /etc/hosts

Ads are now gone !

We could stop there – but you will quickly realise that many sites show an error where the advert used to be. There is a way around that too – by running a local webserver that shows a blank image in their place.

Kwakd – simple webserver to serve blank webpages / images

We’ll have to download and compile it on the raspberry pi:

wget http://kwakd.googlecode.com/files/kwakd-0.3.tgz
tar -xvf kwakd-0.3.tgz
cd kwakd-0.3

now we can run it:

sudo ./kwakd -p 80 &

Ads are now removed, and blank images are served in their place.

Enjoy a cleaner and faster web browsing experience !

Play DVD disks on Raspberry Pi

Posted by Mike Redrobe | Posted in Technology | Posted on 19-09-2012

Tags: ,


In August the Raspberry Pi Foundation started selling MPEG2 codec licenses for the popular Raspberry Pi.

With this installed, the Pi can decode MPEG2 directly on its GPU chip, with very little CPU usage. The ARM CPU used in the Pi isn’t really powerful enough to decode MPEG2 on its own.

Since DVDs use MPEG2, this is a very welcome addition as it means hardware accelerated playback for DVDs.

Unfortunately due to the legal position on decrypting the CSS encryption on DVD disks, many distributions don’t include the relevent files.

You can get around this by compiling it yourself on the Pi, and here’s how:

Download and extract the libdvdcss source code:

wget http://www.videolan.org/pub/libdvdcss/1.2.12/libdvdcss-1.2.12.tar.bz2
sudo apt-get install -y bzip2
tar -xvjpf libdvdcss-1.2.12.tar.bz2

Compile it (only takes a few minutes):

cd libdvdcss-1.2.12
sudo make install

All done, now copy the libraries over:

sudo cp /usr/local/lib/libdvdcss* /lib

Now we can play a DVD direct from the disk:

mkfifo /tmp/dvdpipe
mplayer dvd://1 -dumpstream -dumpfile /tmp/dvdpipe 1>/dev/null 2>/dev/null &
omxplayer -r /tmp/dvdpipe

This may come to XBMC eventually, but current XBMC DVD code doesn’t allow for hardware acceleration.

Synergy – share mouse and keyboard across network

Posted by Mike Redrobe | Posted in Technology | Posted on 06-08-2012


Looking for a cross platform network  mouse sharing program (KVM) I came across synergy:


It works well, but I did run into a less than obvious configuration issue –
initially once I’d installed it on a PC (with the mouse) and a Macbook (as client),
the Macbook couldn’t connect.

These messages appeared in the log:

Warning: Unrecognized client name “XXX”, check server config


It turns out you need to add the hostname of any connected computer in the settings page,
by dragging the screen icon from top right onto the grid somewhere next to your main screen:

and then it’s important to rename it to match the client ‘s hostname, otherwise you’ll get the same errors as above.

Once that’s done it works great, and I’m now able to share the same mouse across multiple computers just by moving the mouse off the edge of each screen.


You can download it for yourself over at



Slim down your Raspberry Pi with an RSMMC card

Posted by Mike Redrobe | Posted in Technology | Posted on 04-07-2012



Just a quick tip for those who want to fit their Raspberry Pi into a small case,
SD cards installed in the Rapsberry Pi stick out a fair amount:
Image Hosted by ImageShack.us
Image Hosted by ImageShack.us

and frank26080115 over on the raspberry Pi forums has even soldered in an adaptor to use a microSD card: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=45&t=9936

If you don’t want to get your soldering iron out, a simpler way is just to use an RSMMC card.
RS-MMC cards are available which are half sized SD cards which usually come with an adaptor to make them SD sized:

Installing an RS-MMC card in the Pi sits flush with the edge, and no longer sticks out:

Image Hosted by ImageShack.us

Image Hosted by ImageShack.us

Enjoy your new “slimmer” Pi !

Raspberry Pi case made from a 99p iphone 4 case

Posted by Mike Redrobe | Posted in Technology | Posted on 02-07-2012



Tinkering with the popular Raspberry Pi, one of the first things you need is a case of some sort to protect it.

eBuyer.com are currently selling iphone4 silicone cases for just 99p delivered:

Silicone Case for iPhone 4G, Green and Black

99p including delivery in the UK



and you can probably buy them similarly cheap elsewhere.

It turns out these are just the right size for the Raspberry Pi to sit in:

There’s a handy cutout for Pi’s HDMI socket which happens to be in approximately the same place as the iPhone’s sim holder.

Arduino Starter Kit

Posted by Mike Redrobe | Posted in PC Hardware, Technology | Posted on 01-03-2012



Well, what is Arduino ?

Arduino is an open-source platform for microprocessor projects, or as the Arduino website puts it:

“Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It’s intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.”

Basically its a little CPU that you can program in C, and easily attach servos and sensors to. The open-source nature means there’s a wealth of example code and libraries out there to modify for your own use.

Available in the UK from oomlout for around £50

So what do you get ?

  • Arduino Prototyping Bundle (Arduino Uno board (328), breadboard & acrylic holder)
  • 75 Piece Jumper Wire Bundle
  • Printed 29 page Experimenter’s Guide
  • 11+1 Breadboard Layout Sheets
  • USB Cable
  • Multi-compartment Plastic Storage Box
  • 9v Battery – Arduino Adapter
  • Loads of components
    • 5mm Red LEDs (x10)
    • 5mm Green LEDs (x10)
    • 10mm Red LED (x1)
    • Toy Motor (x1)
    • Mini Servo Motor (x1)
    • 8-Bit Shift Register (74HC595) (x1)
    • Piezo Element (x1)
    • Pushbuttons (x2)
    • Potentiometer (10k) (x1)
    • Photo Resistor (x1)
    • Temperature Sensor (TMP36) (x1)
    • Relay (5v DPDT) (x1)
    • Transistors (2N222A) (x2)
    • Resistors (560 Ohm x25, 2.2k Ohm x3, 10k Ohm x3)
    • Diodes (1N4001) (x2)

The manual goes through 11 projects, from a simple blinking LED to using shift registers and relays, as well as giving a brief overview of how to program for the board and some more complicated tasks after you’ve built each of the individual projects (such as making the blinking LED fade instead).


How to bypass the Wikipedia Blackout

Posted by Mike Redrobe | Posted in Technology | Posted on 18-01-2012


How to bypass the Wikipedia blackout

Here is a very simple way that will allow you to bypass the Wikipedia blackout


As you may well have experienced today, Wikipedia has blacked out its English language content in protest of a proposed change in US online copyright laws (see below for Wikipedia’s statement.)

However, there is a very simple way that will allow you to bypass the blackout.


Here’s how you do it.


Simply  add  ?banner=none to the address in the address bar:

e.g. http://en.wikipedia.org/wiki/Piracy shows the blacked out page:

wikipedia blackout

So we simply type ?banner=none in the address bar at the top and press enter:

http://en.wikipedia.org/wiki/Piracy?banner=none  returns you to wikipedia’s normal page:

wikipedia piracy


Enjoy !


Polaroid Pogo bluetooth printer and iPhone

Posted by Mike Redrobe | Posted in Cameras, Phones, Technology | Posted on 02-08-2011

Tags: , , ,


Polaroid Pogo and iPhone (Jailbroken!)   

The Polaroid Pogo printer is a tiny handheld bluetooth photo printer. You can take a picture on your phone, and wirelessly print a photo to it.

Unfortunately Apple does not support OBEX printing which this printer uses. After some research and a bit of patience I found the answer I was looking for.

The program through Cydia called iBlueNova solved my problem. I am now able to print through Bluetooth to my pogo printer.

-This tutorial will show you how to get printing with your iPhone to the Pogo printer.

-Install iBlueNova
-On your Jailbroken iphone go to Cydia.
-Search for IBlueNova App.

Run iBlueNova
App Running
Enable the the Toggle
Go to Settings and Toggle “Send as JPEG”
GO to the main menu and select Pictures.
Choose the picture you want to print.
Hit the lower right button.
Choose the Pogo Printer (make sure its on and ready)
-Once you click on the Printer it will ask for a Code.
-Pogo’s Code is 6000.
-As soon as you put in the code it will start to transfer the jpg to the Pogo printer.
-Soon after the 100% mark the printer will start to print. (Some Cropping Happens).
1 – Turn Pogo on (solid green light)
2 – Open iBlueNova
3 – Change Enable to On
4 – Change Visible to On
5 – Tap Pictures
6 – Choose Picture
7 – Tap bottom right button
8 – Tap Polaroid
9 – Cross fingers
10 – PIN Request appears (Finally!!!)
11 – Enter 6000 and Confirm
12 – It says Connecting the Uploading
13 – Completed (Prints!)
Hope that helps you out!