rooDial a Wireless Volume Knob for Roon with Microsoft Surface Dial

In this thread I would like to introduce and support rooDial, a solution to use the Microsoft Surface Dial as a wireless volume control for Roon.

I would be happy to answer here all questions from interested parties and all rooDial users.

rooDial is my first Roon Extension and part of the rooExtend platform ( that I will gradually expand with further Roon extensions. The aim of rooExtend is to make useful Roon extensions easily accessible to Roon users without in-depth IT knowledge.

rooDial supports Roon cores on all platforms (Windows, MacOS, Linux, roonOS), all Roon Tested DACs and all Roon Ready playback devices including the free Roon Bridge.

The rooDial Extension itself runs on a tiny RaspberryPi zero w, which is used to translate the Bluetooth signals from the Microsoft Surface Dial to Roon. The software for the RaspberryPi can simply be downloaded and copied to an SD card. The RaspberryPi is then ready for use. You only have to connect the RaspberryPi to your LAN or WiFi and pair the Bluetooth Dial.

So that the solution can be used quickly and easily by laypeople, four videos are available that explain the procedure step by step.

A small license fee is payable for the rooDial Extension. I offer an annual subscription for $ 12 and a lifetime license for $ 29.

I wish everyone a lot of fun using the Micosoft Surface Dial with Roon.



I would like to buy such license from you if you could adapt the code for Ortho Remote from Teenage Engineering. Can you make a comparison between these two remotes in terms of features, built quality and functionality with your plugin?

I am running Roon ROCK on an Intel NUC10i5. Is this plugin designed to run with ROCK installed on an Intel NUC, or only for the RPi as separate device?


I looked for Ortho Remote in the internet. Really a nice looking volume knob, also Bluetooth! My first impression is that there is real a chance to integrate it with rooDial :slight_smile:
To be able to test and see if it will work I need such a device. Are you able to send me one? Or can you make a connection between me and the manufacturer?

rooDial is compatible with the rock but cannot run inside the rock. So you need an additional Raspberry Pi 4 or a Reapberry Pi zero w to make it run.

I also got comments that make me believe that running the Dial with a Windows PC the remote distance is limited. With the Pi you have more than 10 meters and also a wall inbetween.

Best Charly

1 Like

Hi! Can you use it with MacOS? You say “all platforms”, and then only list Windows, Linux & roonOS. If so I’ll order one today! Thanks!

Sorry I forgot :wink: It also supports roon core running on Mac.

1 Like

I actually have both remotes and can give you some info about them.
I bought the Ortho first in the hopes of getting it to work with Roon somehow, but I could not do that with my limited technical ability. Now I use it as a volume control for my laptop, which works OK.

The Dial is rather new for me, as I bought it specifically for use with DrCWOs extension (I obviously felt a very urgent need for a volume knob :slightly_smiling_face:)

Well - how do they compare?
The Dial is heavier and feels much more solid. There are no tolerances I can feel and the feeling when turning it is very smooth. Controlling Roon with it through the extension feels like the volume knob of an expensive classic amplifier.

In contrast the Ortho feels much cheaper and volume control (through Bluetooth as well) always feels a bit laggy - sometimes there are also jumps in the volume instad of a steady change. It works OK, but does not feel nearly as nice.
Other than that the Ortho has a kind of matte finish that begins to show signs of use very easily.

Here are a few pictures of the two in comparison (scales show weight in grams):


Andreas just to let you know. I get an Ortho Remote on Jan.12. Integration probably done till mid Feb.

1 Like

I really would like to have a wireless volume knob, but my naim audio equipment only works with volume in roon set to „fixed“. So your solution is not for me (an all the other naim owners).

You can increase volume at the device and use DSP volume of roon (which is extremely good, 64Bit Domain and Dither) for the device. DSP Volume can be controlled by rooDial.
Try if you can hear an audible difference. I can‘t :wink:

In my home the DAC is directly connected to my Krell 2250e without any analog volume control involved. This would be the same as increasing analog volume at its max. There is no hiss at all and volume control in the 64Bit domain is nearly lossless.
Shure at very very low levels you may loose some bits of resolution but at such low levels the difference to environment noise is very small and this is audiophile listening no more.
My recommendation is: Increase analog volume to the highest volume that ist still listenable. Then decrease volume by attaching roon DSP volume and try. If this matches your audiophile requirements you can stay with it an use the Dial.
Don‘t trust recommendations, trust your ears!

1 Like

In my setup, I can‘t choose DSP volume.

Uuuh, please discuss with roon. I can‘t tell why

@DrCWO, I posted this in the other thread:

Thanks so much for creating this!

Question: Can I use multiple Dials and link them to different devices and/or groups?

I have 5 Roon endpoints and would like to have several Dials throughout my house and for some to control single Roon endpoints while others control the entire multi-room group. Is this possible and how would I configure it? Can I accomplish this with one Raspberry Pi or would I need multiple and multiple copies/licenses of your software…or are multiple even supported?


@drcwo, Can you recommend a Raspberry Pi to go with your setup? I have never purchased one before and have no experience with them. Thx!

Robert sure you can!
In this case you have to install one Raspberry Pi for each Surface Dial in your house which also means that you have to license each of them. I implemented this concept because the raspberry Pi should be not too far away from the Dial because Bluetooth is not inteded for very long distances.

In this case in the Extensions-Dialog you the will see multiple entries, one for each Dial.

Each one can be setup as normal. At the moment these instances cannot be distinguished easily. You can distinguish them by spinng one of the Dials and see which Extension reacts (content in the brackets in the status line). Then you can configure this for the zone needed.

In the screenshot above you can see one, where the name is extenden with “TEST”. This is my development setup so I can distinguish which is my productive Dial and which is for testing :wink:

Well, I see there is a need for individual names for each Dial. I will put it on my wishlist for the next version so an individual name can be entered within the roon dialog that will be displayed in the list afterwards like the “TEST” mark above.

If you like to spend as few money as possible get the “Raspberry Pi zero w”. With this you run rooDial completely wireless. This means you only have to connect the Raspberry to an USB power adapter and hide it anywhere in your listening room and forget about it. But this is nice for rooDial only!

If you like to be future proof being able to use more of my rooExtend modules to come, a “Raspberry Pi 4” would be a better choice. For rooDial it also can be operated wireless. If you like to use rooUPnP that is coming soon you should connect it to an ethernet cable.

1 Like

Thanks so much for your feedback!

I got a question regarding privacy policy. I updated my website to offer this in english too.

To make the long story short:
If I like i can get the customer data from sellcodes with name, mail, date of purchase, license number and so on. This data is only hosted at sellcodes. I don’t do anything with it. If you will get a mailing offering an update you will get it via sellcodes.
The rooExtend device itself doesn’t send any data to me or someone else. It is a plain Raspbian with the additional node.js code I created. With it I use the official API from roon. There is a chance that via this connection data may be sent to roon. But these mechanisms are out of my reach and subject of the roon privacy policy.
Best Charly


Have you tried this here:

Seems to be the solution and if you can control via roon then you also can control via rooDial :slight_smile:

I have the older version, the NDX (without 2) and there is no volume control.