H-T-R-C - A Universal Remote With BLE

An open source, hackable, extendable, powerful universal remote with IR, Bluetooth and a low power ARM micro as a base.

Similar projects worth following
The basic idea is to get an ARM chip and a BLE (Bluetooth low energy) radio in a universal remote. Never fully satisified by the pricefeature ratio or openness of the other popular universal remotes and a distinct lack of them in an otherwise open HTPC community (XBMC, MythTV, Mediaportal) I've decided to build my own.

I plan to firstly, prototype using dev modules. I'll then move on to designing a case and then a PCB. The case will be inspired by reaserching popular commercial remotes. The idea of the base PCB will be that it can be re-configured for any new design or case. I have a few ideas of how to implement the PCB to support different button layouts.

Unfotunately, this means all I'll have to show for a good few weekends is pictures of dev modules. Hopefully that won't limit my competition performance too much

Concept Video:

The idea is that the remote is connected to your HTPC or media player via BLE. It will also have IR to be able to do all the other usual universal remote stuff like macros and learning. Community supplied IR codes will hopefully play a big part and I'd like to get a good collection of them that can be useful in other projects, perhaps Lirc will help get me started.

An screen should show you the current status of the media you're playing and other useful info.

The remote will be made up of a BLE radio and ARM microcontroller (either as a single chip solution or as seperate chips), some buttons, an LCD (possibly a sharp memory LCD or eInk), most likely a low power MEMS accelerometer, possibly a gyroscope and a magnetic compass. 

But most of all (I like the way you move?), it should be extendable, hackable, configurable. Add 433Mhz to control your remote control outlets or 868Mhz to show when your doorbell is pressed. Wire in a 27Mhz module and control that old RC car.

I think a touchpad might be quite useful, or perhaps a query keyboard. It probably won't be possible to design a nice looking remote with a querty keyboard, touchpad, LCD and well-laid out navigation buttons. I'd like to see examples of nice remote in the comments.

I realise that you can do most of this with mobile apps these days. But I hate having to unlock my phone and load up an app just to control the TV and its no good for guests and family members. WAF (Wife/Significant-other acceptance factor) and ease of use by children is a requirement here.

I want people to be able to develop/hack on this without shelling out for development kits or expensive software, which will be difficult given the available BLE modules, but I'll explore the options in another post.

The last thing on the 'todo' list is BLE to IR repeaters. For people that have their AV equiptment locked away in a cabinet, the coin-cell sized/powered device would be able to relay IR signals sent to it over BLE by the remote. Also from mobile apps I guess.

The 'stretch' goal for this project is a BLE internet gateway. A device with Wi-Fi/Ethernet and BLE. The remote could then, talk to any network device even when your Media PC is off. The gateway could be useful for further open home automation devices using BLE too.

Here's my basic system diagram

  • Some links

    jacksonliam08/08/2014 at 16:37 0 comments

    I don't really have anywhere else to put this stuff, so in the spirit of this being my living notebook, heres some links I've come across:

    A BLE library for the nrf51822 (Arduino?):

    Cheap NRF51822 Debugger (McHack)

    The Laird BL-600 looks like a pretty good candidate for the module. About 8 quid from mouser and is an NRF51822 with all the trimmings on a certified module. The module can be programmed like any other nrf51822 chip but also contains a stack called smartBASIC which is probably as horrific as the name implies (If you find BASIC horrifc, which I do!).

    More info:

    Breakout Board:

    The Laird dev kit is £100, so quite an investment. They have a programming Jig which looks like a great idea for bulk programming these modules, but it costs over £300, perhaps I'll need to hack together something like that (fire up SCAD!).

    I also remeber reading something about bringing pin20 (or another similar pin) high to turn on the antenna, so better remember that If I use these modules.

    Do I need to sign off these logs?

  • NRF8001 Arrives

    jacksonliam07/25/2014 at 09:19 0 comments

    I've got my nrf8001 module from olimex. I would've rather have got the adafruit one but it cost a bit more after factoring in UK shipping or buying from a UK reseller. I'm leaning towards using the nrf51822 for this so it'll probably end up in the parts bin anyway!

    I don't get access to the windows software required to create configurations for the BLE module without purchasing a proper dev kit, but have run the module from an arduino with nordics arduino lib. The lib contains instructions for porting to other microcontrollers which doesn't look like much work so I'll probably give it a go.

    If that's not very useful I'll see if I can borrow a license to the nrf8001 software or use someone's copy to create a config.

    In the mean time I've been playing with the zero gecko dev board, the real time power monitor is fantastic. If I go for nrf8001 I'll probably get one of the gecko dev boards with a beefier chip since they come with a power profiler, so you can link power use to lines of code which is just too cool! Though I pretty much know where the power will go (turning on the BLE radio), most of the rest of the time will be spent in sleep mode.

    My final time went into looking at certified modules with antennas that I'd put on a fabbed PCB, most of them look like a 'contact sales' kind of deal though some claim samples are available. I'll keep browsing component sites to see if there's anything I can just order!

  • Dev Boards

    jacksonliam07/05/2014 at 23:07 0 comments

    So far I have an nrf51822 cheapy module. It was about £5 on ebay and has two lots of 18 anoying 1.27mm spaced DIL pins. I've read about people programming these with mbed generated code ( and using the programmer built into STM boards (Sorry, Can't find link ATM) so I'm going to try that with one of the mbed demos once I get the headers figured out - both the pinouts and how the hell to connect them up, 1.27mm IDC plugs are like £7 each!

    As for the ARM chip, I'm already almost certain about using Energy Micros ARM EFM32 series. They have great hobbiest support, a nice free eclipse based IDE (at least for windows) and support GCC. I haven't settled on a chip yet but I do have the Zero Gecko development board (pictured) with the Sharp memory LCD. It should be useful for its real time power use monitoring / profiling tools and for evaluating the sharp memory LCD. The Zero Gecko doesn't have native USB which I would like the option of (for firmware updating, loading configurations).

    The only thing in the negatives column for Energy Micros is no mbed support. I would like to use mbed if possible. I really like the Freescale boards (its my go-to arduino replacement) and the dev boards are SO cheap so freescale are still a contender, I need to check the power use though.

  • BLE Modules

    jacksonliam07/05/2014 at 22:55 0 comments

    I want anyone to be able to build and contribute to this for free. Whether they run OpenBSD or FreeDOS, a 3970X or BCM2835. The problem being that the BLE stacks are not very maker friendly. Since I don't want to go through the headache of getting certifications, I've looked at what certified modules are about.

    It boils down to three manufacturers really. The TI CC2541 Chip, The CSR1001/CSR1011 or the Nordic nrf51822 / nrf8001.

    The TI chip doesn't have an embedded ARM, it has an 8051 based MCU. The problem is the bluetooth stack required comes with the £2k+ IAR software. The free kickstart version has a limit on binary size which is smaller than the BLE stack on its own.

    There are some other stacks written for the TI chips / modules such as Bluegiga, but the quality, module availablilty and closed source nature of these third party stacks worrys me.

    The CSR chips seem to sit behind sales representitives and I've even seen mentions of NDAs. Its a shame as they look like good chips. But they're out. Looks like CSR only want to play with the big boys. The dev kit is also quite expencive.

    That leaves the Nordic chips. The nrf8001 is made to be configured by an external microcontroller using a serial based interface. The nrf51822 has its own low power ARM Cortex processor. Both look great. The tool downloads (including the BLE stack) sit behind a 'product key' on the site, but you get a key with the relatively cheap dev kits. These seem like the right choice here to me.

    I've yet to find out if the nrf8001 interface can be developed without using their windows tool. But it should be a case of people not able to use the tool being able to do feature development and only requiring use of the tool if the BLE interface needs changing.

    The nrf51822 has mbed support, including a high-level BLE interface. So I'm going to use that, at least until I find it has limitations or is not suitable.

    So I'm going to prototype two systems:
    1) nrf8001 + Low power ARM chip
    2) nrf51822
    And see which one holds up best for low power use, open-ness of the build system and price. In that order!

View all 4 project logs

Enjoy this project?



newworkemail900 wrote 11/09/2023 at 16:41 point

Flexible PLA is absolutely on my todo list! If not for the actual domes themselves to give a better feel to the buttons. you can rea here  :

  Are you sure? yes | no

Adam Fabio wrote 07/24/2014 at 03:30 point
The hackable universal remote - the dream of man - even Woz himself worked on one after he left Apple. Thanks for entering The Hackaday Prize, Jackson! I hope you get some feedback on your button types. I personally like quiet rubber keys on remotes - but custom membrane keypads can get expensive. Maybe some of those new flexible 3D printable filaments would fit the bill? Don't forget about the video - and Keep the updates rolling in!

  Are you sure? yes | no

J. Ian Lindsay wrote 07/24/2014 at 10:23 point
Yes, that suggestion will work. My team mate Mathew has done it with flexible PLA with impressive results. Doesn't feel very good on your finger (ridges) but otherwise works.

  Are you sure? yes | no

jacksonliam wrote 07/25/2014 at 08:43 point
Flexible PLA is absolutely on my todo list! If not for the actual domes themselves to give a better feel to the buttons.

  Are you sure? yes | no

jacksonliam wrote 07/25/2014 at 08:52 point
I also wondered about coating 3D printed buttons with some kind of rubbery material, perhaps plastikote or a flexible resin like scotchcast, to get rid of the layer lines and make them look more 'mass produced'. I can then use a stencil (either rigid or sticky-back with weeding) for putting on the numbers.

  Are you sure? yes | no

Tiago wrote 07/06/2014 at 16:13 point
I like normal rubber buttons, but good quality and with a good response (not the kind where you have to press them with all your strenght just to get a response from the remote.

Laptop style keys would not be too good, as a remote will be thrown around and they are too sensitive, so they WILL be triggered by that.

Mechanical switches could work, but they would need to have very strong actuation force, perhaps buckling spring. They might take too much space as well, making the remote way too bulky.

I like long thing rectangle shape, with the LCD between the top buttons (power, and other important stuff) and the rest of the remote.

I think a trackpoint style mouse would be pretty neat, make sure it is easy to control with the thumb while holding the remote with one hand, with mouse buttons on both sides, for lefties.

  Are you sure? yes | no

jacksonliam wrote 07/05/2014 at 23:25 point
I'd like to get feedback on which remotes (universal or that come with an appliance) people like using the most.

The choices are endless, should we have round buttons, square, clicky, soft, rubbery, hard, metal or plasticy, do I use cherry switches, would laptop style keys be nice? What kind of travel is nicest, should keys stick up or be flush. What shape of remote is best, square, peanut, rugby ball shaped? Should navigation be at the top or middle, where should an LCD sit, should it be touch? Would people actually use a query (e.g for searching youtube or netflix) and would a mouse be useful? What about a blackberry phone style mouse (IR or rollerball)? or a thinkpad style nipple mouse?
Enough rambling - let me know!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates