At the heart of Turn Touch lies a circuit board with four tactile switches and a bluetooth module. This board alone is the remote, since it can be used without a wooden enclosure.

The source code for the Bluetooth firmware, circuit board schematic, and board layout is available on Github.

The circuit board is composed of four parts:

Bluetooth module

Other board components

The PCB

Metal dome sticker array

The Turn Touch circuit board

Bluetooth Module

Choosing a Bluetooth radio isn’t trivial. In fact, choosing Bluetooth in the first place is a tradeoff.

The goal for the remote is to control smart devices, but those devices range in terms of which wireless protocol they speak. For the most part, you can assume WiFi is in the equation.

Philips Hue lightbulbs speak Zigbee, a low-power peer-to-peer mesh network, and connect to a hub that speaks both Zigbee and WiFi. Sonos speakers, Belkin Wemo smart power switches, Lockitron smart locks, and many others are also on WiFi.

So how about just using a WiFi module?

Part of the requirement for the remote is that a button press is near-instantaneous (with less than a 100 ms delay). But a WiFi module, such as the popular ESP8266, draws up to 250 mA at 3V (750 mW) when transmitting and as low as 0.9 mA when sleeping.

Espressif ESP8266 WiFi module, $6.95 on Adafruit

Considering a standard CR2032 coin cell battery has 225 mAh, you can run a WiFi module with normal use (sleeping 99% of the time) for only 28 hours if you want instantaneous feedback. You can use bigger batteries, but now you’re working on integrating giant AA batteries into a tiny hand-held remote, which won’t work.

Better yet would be to bring the WiFi module down to the 10 µA level. But that requires a deep sleep which severs the connection. So when you press a button that requires the module to wakeup from deep sleep, it can takes several seconds to register the click. Amazon Dash buttons work this way and are able to last for over a year, since a several second latency is not a problem for them.

Raytec MDBT40 Bluetooth LE module, $7.50 on Seeed

Your phone to the rescue

The good news is that while WiFi is too power hungry for this type of device, our phones and tablets, which are on WiFi and get charged every single day, work as a terrific relay. Our phones speak Bluetooth, so why not use the still fresh Bluetooth Low Energy (BTLE) protocol?

There are a number of usable Bluetooth 4.0 modules to choose from. There’s the BlueGiga BLE112 module, Roving Networks RN-42 module, BlueRadios BR-LE4.0-S2A module, and the famous Nordic Semiconductor nRF51822 based MBDT40 by Raytec (pictured above).

The principle concerns for a Bluetooth module are:

The microcontroller and accompanying example firmware

Ease of over-the-air device firmware updates (OTA DFU)

Module size and profile

Power requirements

Debugging abilities

Community and support

Development kit and documentation

Here’s how the most well known and easily available Bluetooth 4.0 modules compare.