Dial Is A Simple And Effective Wireless Media Controller


[Patrick] was looking for an easier way to control music and movies on his computer from across the room. There is a huge amount of remote control products that could be purchased to do this, but as a hacker [Patrick] wanted to make something himself. He calls his creation, “Dial” and it’s a simple but elegant solution to the problem.

Dial looks like a small cylindrical container that sits on a flat surface. It’s actually split into a top and bottom cylinder. The bottom acts as a base and stays stationary while the top acts as a dial and a push button. The case was designed in SOLIDWORKS and printed on a 3D printer.

The Dial runs on an Arduino Pro mini with a Bluetooth module. The original prototype used Bluetooth 2.0 and required a recharge after about a day. The latest version uses the Bluetooth low energy spec and can reportedly last several weeks on a single charge. Once the LiPo battery dies, it can be recharged easily once plugged into a USB port.

The mechanical component of the dial is actually an off-the-shelf rotary encoder. The encoder included a built-in push button to make things easier. The firmware is able to detect rotation in either direction, a button press, a double press, and a press-and-hold. This gives five different possible functions.

[Patrick] wrote two pieces of software to handle interaction with the Dial. The first is a C program to deal with the Bluetooth communication. The second is actually a set of Apple scripts to actually handle interaction between the Dial and the various media programs on his computer. This allows the user to more easily write their own scripts for whatever software they want. While this may have read like a product review, the Dial is actually open source!

27 thoughts on “Dial Is A Simple And Effective Wireless Media Controller

  1. Ouch. That’s bad battery life! Using just a BLE chip with app on-board, you’d be looking at several years of battery life from 2xAAA. It’s about time Arduino stepped up its game.

    1. There are plenty of power saving options available to an Arduino user, and it looks like [Patrick] has not used any of them. The first thing to look at of course would be sleep states.

    2. Ive got an “arduino” with a wireless module that I use as a keypad. It’s powerd by a 3v coincell battery. I expect at least 6 months of battery life out of it. I dont think you can blame the arduino here. notevenprotip: turn off the transmitter while the device is idle…

      1. The BLE stack should handle that for him.

        I’ve been using Nordic’s SoCs with M0+ in them and they’re so low power when they’re in sleep that I can remove the battery for 2 seconds and put it back in without it restarting! Like 2 micro-amp draw with most peripherals spun down and the sram banks still on!

    1. Just need to soften/smooth the exterior to finish it. Sanding or Acetone, or heat etc.

      Wood or metal would be neat, not sure if the BT would work, but if that is solved very expensive models could be made.

      I’d love to see a version using skateboard wheels or hockey pucks, or PVC end cap, make it a super hack accessible to those without a 3D printer. Or print a structure that can press into a PVC cap or wheel, then the printer doesn’t have to be running all day to make 1 wheel.

      I have a VCR spindle modified into a jog wheel begging for this mod. I should re-purpose one of my Atmega8 AVRUSB devices to read it, instead of the gutted PS2 mouse I have used.

  2. the battery in the standard apple remote control lasts for about a year, no furious spinning required

    a remote control that goes out of service for regular charging is not “elegant”, it’s “awkward”

    1. Willing to bet that this version is a lot more configurable, however. The Griffin Powermate software is not very robust (I should know, I own two…) and really struggles with certain keyboard shortcuts. Also, when bound as ‘scroll up/scroll down’ it doesn’t appear to the system as a mouse so keyboard shortcuts involving the mouse (e.g. Ctrl+scroll-wheel for zoom in nay applications) don’t work.

      This looks like a neat build. Good effort!

  3. If you can get one cheap enough the i-drive controller from a bmw is a feedback enabled rotary envoder that can be pressed and slid left right up down etc too. And they look nice lol arduino can talk to it thro canbus or obv it could be gutted and an arduino could just take ot over itself.

  4. Loving it! Need something like this! [Patrick] maybe you can add scrubbing as a click-and-turn feature. That will make it the perfect multimedia remote for people that do not like to use software like Kodi (XBMC)

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.