EVADE – Space shooter for the Arduboy


One of my very first projects at Modus Create has been to work on EVADE.

EVADE is a side scrolling shooter for the Arduboy. For those of you not familiar with the Arduboy, it is a credit card sized hand held games “console”. As you can probably guess from its name it resembles a the Nintendo Gameboy.

Unlike the Gameboy, it is based on the Arduino platform and holds only a single game at a time. These can be uploaded from the Arduino IDE via a USB cable.

A number of sites online carry to the Arduboy including Adafruit.

So let’s take a look at EVADE.


When I said let’s take a look at EVADE, I really meant look. The team at Modus Create put together an awesome cinematic trailer, you can watch it right here:

EVADE Cinematic trailer from Modus Create on Vimeo.

It’s a video game in the classic sense. Three bosses, three enemies and four lives. You navigate through a star field as waves of aliens attack your ship!

Hopefully this has wet your appetite to the play the game. The files can all be downloaded from the GitHub repository:


Once you have them, plug in your Arduboy, upload and play!

Also don’t forget to check out the Modus Create blog for further updates on how we built this nifty project.



Re-vamp in the works

The planned re-vamp of this site is still in the works. Open source code will be available on GitHub soon. In addition to this sections covering InfoSec, VR and Creative Computing will be included.

In other news Raspberry Pi Home Automation with Arduino is now available in Chinese under the title Raspberry Pi + Arduino.


A hiatus


The blog has been on a hiatus for the best part of a year. This has allowed me to concentrate on wrapping up my current degree and finish up my fourth Raspberry Pi book.

Internet Of Things @ Home will be re-launched this spring with a new look, new feel and a lot more articles.

Watch this space for more details.

Raspberry Pi Home Automation with Arduino 2nd Edition


I am happy to announce the 2nd edition of Raspberry Pi Home Automation with Arduino is now released.


2nd Edition cover


Raspberry Pi Home Automation with Arduino 2nd edition It’s available from all good bookstores and Amazon of course. After much editing and refinement here is a taster of what the book covers:

  • Arduino Uno
  • Raspberry Pi
  • Cooking Hacks Arduino to Pi bridge shield
  • Relays
  • Temperature sensors
  • Water sensors
  • Motor shields
  • Humidity sensors
  • Pressure sensors (FRS)
  • Networking
  • Python
  • C++ and Arduino sketches

Sadly we didn’t end up with space to cover the YUN this time round.

2nd edition of Raspberry Pi Home Automation with Arduino


I’m glad to announce that a second edition of Raspberry Pi Home Automation with Arduino is being planned for release next year.

There will be a major overhaul of some chapters. Based upon the excellent feedback I received you can expect to see:

1.) More home automation projects

2.) Inclusion of projects using the Arduino Uno shield

3.) A look at the Arduino YUN

4.) Revised content on the Raspberry Pi 

5.) An update to the code based upon Cooking Hacks latest ArduPi library 

Keep your eyes on this space for updates on progress!



A brief introduction to BreakfastSerial


In my post on Y-Hack I touched upon a Python based technology called BreakfastSerial. Some of you Arduino fans out there may already be familiar with it, but for those who are not I have provided  short guide below.

BreakfastSerial is a Python based library that allows you to write Python code that can be run on the Ardunio.

The technology

The library runs on top of a technology called Firmata.

Firmata is a generic protocol for communicating with Microcontrollers from software running on a host computer.

You can read more about the Arduino implementation of Firmata at the Arduino.cc website:


BreakfastSerial works by allowing you to interact with Firmata loaded onto your Arduino by writing Python code.

You simply upload Firmata to your Arduino board, and then can start writing Python applications that use it.

We will look at an example next.

Setting up Firmata

In this post I will only be covering the steps for the older boards such as the Uno. There is a separate post in the works for the YUN. I will also be assuming you are using a Linux like environment (Ubuntu, Mac terminal window, Cygwin etc.)

To start with you will need to open up the Arduino IDE sketch pad, if you haven’t download it already you can find it at:


Note, that depending on your Arduino model (e.g. Uno versus YUN) there are different versions of the IDE.

Once you have the IDE installed, you can find the Firmata software under:

File -> Examples -> Firmata -> StandardFirmata

Next connect your board up to your computers USB port and upload the sketch.

Once uploaded you can then move onto the testing out BreakfastSerial.

Installing BreakfastSerial

Open a terminal window on your machine and using pip grab the latest version of BreakfastSerial from PyPi
pip install BreakfastSerial
I tend to work in a virtual environment when using Python. If you wish to do the same, you can create a virtual environment as follows
virtualenv --system-site-packages Ardunio
This will create a new directory called Arduino with a Python virtual environment in. From within this, you can activate it using

If you don’t have virtualenv on your machine you can grab it using pip:

pip install virtualenv

Next we can create a test project using Python. Before we do this though, take an LED and attach it to digital Pin 13 and Ground on your Arduino – yes you guessed it we are going to make the LED blink.

Once you have your hardware hooked up, create a new Python file called blink.py for example:

vim blink.py

Inside this file we are going to add the following code:
from BreakfastSerial import Arduino, Led
Here we are importing Arduino and Led from the BreakfastSerial library.

Next let’s add the following code:
board = Arduino()
pin = 13
led = Led(board, pin)

This sets up a variable board with an instantiation of Arduino and a
pin variable set to 13 (where you attached your LED). Finally the
led variable is declared with a copy of Led(), which we pass board
and pin to as arguments.

Once you have added the above, we can include the final piece of code that creates the blinking action:
the above is pretty self explanatory. The led is switched on, we wait two seconds and then it is switch off.

Save the file and exit.

We can now test our application. From the command line run:

python blink.py

You should now see your LED blink.

And that’s all there is too it really.

There are a host of examples you can try located on the BreakfastSerial site:


have fun!