Communicating with a CAN bus through an LPT printer port

… because, why not?

A few months back, I found myself in a position where I needed to develop a proof of concept for a CAN bus data logging system, but the hardware hadn’t been finalised. At the time, there were talks of using x86-based hardware, which would eventually communicate with the CAN bus via an SPI CAN controller. Unfortunately the dev board was on back-order and I wanted to keep the project moving. Continue reading


Tasks: A Time-Triggered Scheduler for Arduino

This has been a long time coming. A few years ago (back in 2012!) I wrote a basic TT scheduler which was really more of a ‘proof of concept’ and not really friendly for an everyday Arduino user. It relied on a strong knowledge of C or C++ and needed Eclipse with an Arduino plugin to get it to work. I’ve promised myself since then that I’d  write a proper Arduino library to demonstrate time-triggered scheduling to Arduino IDE users as well as learning some C++ skills for myself. Continue reading

Hexapod on a Budget – Part 3: Movement Algorithm Prototyping with Pololu Maestro Control Center


In part 2, I talked about the electronics layout for the hexapod. Now it’s time to make it move.

Continue reading

Printing to a Polaroid Pogo printer from any device via dropbox on Windows

So I’m currently planning my wedding, so it’s only apt that I talk about one of the mini projects that I’ve been working on. It involves a little Bluetooth printer, and difficulties in printing from iOS devices.

Continue reading

SmithLink, advanced telemetry from Smith Electric Vehicles – YouTube

A project I contributed to while I was at Smith Electric Vehicles working on the embedded software for the vehicles’ on-board telematics devices:

SmithLink, advanced telemetry from Smith Electric Vehicles – YouTube.

Hexapod on a Budget – Part 1: The Chassis


Back in January, I wanted to kick off a new robotics project, and began looking at multipedal robot kits. I’ve found walking robots fascinating for a while now, and have been closely following the work of companies like Boston Dynamics in their search to mimic natural movement through machines. Continue reading

How well do you know your SI units? Low-tech ‘gamification’ of SI unit revision with this clever deck of playing cards.

The International System of Units (abbreviated to SI from the French Système International d’Unités) is the modern form of the metric system and is  a system of units of measurement devised around seven base units and the base 10 mathematics. It is the world’s most widely used system of measurement, both in everyday commerce and in science, technology, Engineering and Maths.

The system has been nearly globally adopted. Three principal exceptions are Burma (Myanmar), Liberia, and the United States. The United Kingdom has officially adopted the International System of Units but not with the intention of replacing customary measures entirely.

The Autonomous Systems Lab, based at Southampton University, UK have devised a clever way of helping anyone studying Engineering or the Physical Sciences learn and revise the SI units by incorporating 52 of the most common units into a deck of standard playing cards Continue reading

Accurate timing for smaller embedded projects


Previously, I have talked about high-precision, multi-task execution on an arduino / AVR based microcontroller.

But what if you don’t need a scheduler? What if you’re only doing one thing, and all of your functionality can easily be fit into a tick period of 5 or 10 ms, but you still want the timing precision to say “These operations will be executed every x ms, and take no longer than x microseconds”. Of course, on a reasonable-sized micro, you could use a TTC scheduler such as the one described in my previous posts, and only have one task, but what if you can’t afford the additional overhead of running the scheduler. If your project calls for a small 8-bit, 8 MHz micro such as the Microchip PIC12F family, you’re limited in both the code space, and processing power. You need to completely strip down the time-triggered philosophy to its bare bones Continue reading

Cloud Robotics Hackathon 2013: Video, Results and Thanks

So the results of the hackathon were released yesterday, and I must say, we’re very happy with how things turned out. We were placed 4th against some very tough competition, and were given an honourable mention by the organisers:

Before naming the three winners, we would like to give a give a honourable mention toteam Telemetron. They created an outstanding robotic behaviour and actively participated and documented their project throughout the week. They were also very active on Twitter. As a result they submitted by far the best documentation. – Cloud Robotics Hackathon 2013 Continue reading