Mark Cheverton bio photo

Mark Cheverton

Geek, maker, artist, and entrepreuneur. Responsible for innovation, acquisitions and investments at Red Gate Ventures.

Twitter Google+ LinkedIn Github

Internet of Things kit for hackdays/spaces

Roughly every quarter my employer, Red Gate, has a 'Down Tools Week' which is a week long opportunity to hack on ideas that never get space in a normal work day. This cycle our theme is the Internet of Things, so I'm pulling together kits to get people up and running. The key criteria are:

  • The audience is primarily software engineers so minimise the electronics knowledge required
  • Eliminate the need for hardware hacking skills such as soldering
  • Provide enough diversity of kit (more than just a pile of Arduino's) to enable people to create something interesting and useful within the week
  • The parts shouldn't be too expensive and should be fairly mainstream

Here's what I have so far. If you have ideas on alternatives or things I've missed then add to the comments at the end. I've listed the original supplier (Sparkfun, Adafruit etc) as well as the UK distributor I used (mostly Proto Pic or Farnell).

Networking

I'd like people to experiment with different options for networking IoT devices. So I started with the following kits:

Bluetooth Low Energy

Bluetooth Low Energy (BLE) or Bluetooth Smart is an update to the Bluetooth spec which allows for very low power consumption making it ideal for IoT devices and wearables. Newer generation Android and IPhones support BLE out of the box allowing direct interfacing from mobile applications.

RFduino BLEduino BLE shield BLE mini

There are a couple of really nice kickstarters proving single board Arduino-based BLE devices - RFduino and BLEduino. I missed both when they were doing their campaigns and they're a bit hazy on when they would be able to ship. So decided to go the more pedestrian route and get a separate board. RedBearLab make a couple of nice looking ones - the BLE shield or the BLE mini so I grabbed one of the latter.

ZigBee

ZigBee is a specification for a suite of high level communication protocols used to create personal area networks built from small, low-power digital radios. Though low-powered, ZigBee devices can transmit data over long distances by passing data through intermediate devices to reach more distant ones, creating a mesh network.

XBee Explorer USB Arduino Wireless Shield Slice of Pi XBee

This is an easy one as the XBee kit is a commonly used for IoT. I decided that for ease of use I'd get three parts: An XBee Explorer USB for direct serial connection from a laptop to aid debugging, a Arduino with the Wireless Shield to act as a device, and a Raspberry Pi with a Slice of Pi to act as a hub. Top off with a couple of series 2 XBee modules.

Radio Frequency Identification (RFID)

RFID is the wireless non-contact use of radio-frequency electromagnetic fields to transfer data, for the purposes of automatically identifying and tracking tags attached to objects.

RWD Dev Board RWD Hitag 2

We have a HiTag2 based Paxton system at Red Gate. ib technology do a reader module which is easy to use through a simple serial interface (more on this in a later blog post). So I picked up their RWD Dev board, and a RWD-HiTag2 module.

Near Field Communication (NFC)

Near field communication (NFC) is a set of standards for smartphones and similar devices to establish radio communication with each other by touching them together or bringing them into proximity, usually no more than a few inches.

mbed PN532 breakout board

NFC doesn't seem to be well supported on the Arduino - in particular it won't work with phones which is the fun bit! Adafruit to the rescue again with their mbed NFC starter pack which includes an mbed and their PN532 breakout board all driven by the μNFCstack developed by local Cambridge company AppNearMe.

Lightweight Local Automation Protocol (LLAP)

LLAP is an easy to use, licence free, "open" and standardised method to send data between local networks of low cost wired or wireless devices. Designed by UK company Ciseco and implemented in their ISM band (868 to 915 Mhz) RF kit.

SRF Stick Slice of Radio Arduino Wireless Shield XRF Module

Ciseco are a small UK company who are doing nice bits of kit at a low price, so I really wanted to support them and get them into the mix. Similar to the ZigBee setup, I went for a SRF stick for laptop debugging, a Raspberry Pi with Slice of Radio as a hub, and an Arduino with the Wireless Shield and an XRF module to act as a device.

GSM

GSM (Global System for Mobile Communications) is a standard developed by the European Telecommunications Standards Institute (ETSI) to describe protocols for second generation (2G) digital cellular networks used by mobile phones.

GPRS Quadband Module

I've not had a lot of experience with using mobile networks for devices. 3G network modules seem a bit expensive, so after a bit of hunting around I decided to experiment with the GPRS+GPS Quadband module for Arduino / Raspberry Pi from Cooking Hacks - if you're going to be on the move then might as well throw in GPS!

Wifi

Wi-Fi is a popular technology that allows an electronic device to exchange data or connect to the internet wirelessly using radio waves.

Adafruit CC3000 Spark Core

The easiest, but not necessarily cheapest or most efficient, option is to connect your device directly to the Internet by Wifi. Adafruit do a lovely little SPI board at a reasonable price for the TI CC3000 wifi chip. I also couldn't resist an Arduino compatible Spark Core, which is also CC3000 based - hopefully it will arrive in time.

Low power IPv6 (6LowPan, RPL, CoAP)

IETF protocols for low-power IPv6 networking, including the 6lowpan adaptation layer, the RPL IPv6 multi-hop routing protocol, and the CoAP RESTful application-layer protocol.

Openmote

Had a bit of trouble finding affordable options for this. Using a Raspberry Pi as a hub with the Contiki OS (an OS in 40Kb of RAM!) looks like a viable option, but getting cheap nodes seems difficult - Arduino Megas running μIPv6 are kind of supported, but the Arduino port doesn't seem very active or loved.

I did spend a long time admiring Libelium's Waspmotes which seems a very polished platform, but in the end I decided on Openmote who are building out boards based on the TI CC2538 system on a chip. This will allow 2.4GHz 802.15.4 communications via a CC2520 radio paired with an ARM Cortex M3 and will be compatible with 6LowPan style platforms such as Thingsquare, Libelium and Contiki.

Platforms / Software

Platform recommendations are difficult as there are so many to choose from at the moment - this is a whole blog post on its own. At the moment I'm just pointing people towards some of the most well known to get experience:

Microcontrollers

Arduino

Arduino

The Arduino will be the primary platform due to it's low cost and ease of use.

Raspberry Pi

Raspberry Pi

Not really a microcontroller, but for hubs and gateways, the Raspberry Pi makes an ideal device. We'll also pick up some extras that we'll need ...

Javascript

Tessel Espurino

Our developers love Javascript and it's event driven model is very well suited to the reactive world of IoT applications. The Tessel and Espruino are two interesting kickstarter projects to build microcontrollers that run Javascript. There's a great Makezine comparison of the two boards by Alasdair Allan. Hopefully I'll be able to grab one of each to play with.

Wearables

Flora

There's no company more interesting than Adafruit when it comes to wearable tech. So picking up a Flora Sensor Pack to play with was a no-brainer.

Sensors and Actuators

Sensors

SensorTag Electret microphone HRLV-EZ1 Flex Sensor

The drive here was to focus on breakout boards to remove the need for electronics skills.

TI's SensorTag is worth special mention - it's a BLE device which has a six on-board sensors and its own iOS and Android SDKs. Alasdair does another great Make blog post tearing it down.

Motors, steppers, servos, buttons, switches and claws

Robotic Claw

We want to interact with the world not just measure it ...

The Basics

We also need all the basics. Here's my initial list which I'm sure I'll be revising as I discover things I've forgotten.

Misc breakout boards

OpenLog

Tools

Breadboard

Consumables

Jumpers

Power

Lipo

Optical

Neopixels

Let me know what you think of the selection in the comments, particularly whether there's anything I missed, or your own favourite kit lists.