Pololu Robotics & Electronics
My account Comments or questions? About Pololu Contact Ordering information Distributors

Maestro Windows IoT Driver


Hello -

I finally got around to producing a Pololu Maestro driver for Windows IoT. A couple of VS Projects are attached that you can use for samples.

One think to keep in mind is to modify the Package.appxmanifest file for your IoT application. You’ll need the USB VID/PIB for your particular device. For example, here the manifest element to use for a 12-channel Maestro.

<DeviceCapability Name="serialcommunication">
  <Device Id="vidpid:1FFB 008A">
    <Function Type="name:serialPort"/>

Have fun !

Maestro.zip (126.6 KB)

Maestro Windows 10 IoT Native USB driver

Thank you for your sharing your code! We have added it to the “Related resources” section of the Maestro user’s guide.



Thanks for posting these. I am trying to control the Maestro from a Raspberry Pi running Windows 10 Iot, and I am a bit confused: for this code to work, do I need to connect RPi’s RX pin to Maestro’s TX (and also RPI’s TX to Maestro’s RX), or do I need to plug the Maestro into the RPi via a USB cable?

Thanks again.


Just connect the Rpi to the Maestro with a USB cable.


Thanks for getting back to me so quickly. I tried it. The CreateMaestroController seems to succeed, but SetTarget and GetPosition methods produce no results, and when GetPoluluErrors is entered, the ReadAsync never returns. It looks like there is really no connection between the RPi and the Maestro. Am I missing something?


Have you set up your Package.appxmanifest file ? You need to have a Capabilities element to enable serial port communications. The vid/pid values need to match the Maestro you use. vidpid:1FFB 008A is correct for the 12 channel Maestro.

Here’s an element that I use:

<Capability Name="internetClient" />

<DeviceCapability Name="serialcommunication">

  <Device Id="vidpid:1FFB 008A">

    <Function Type="name:serialPort"/>




Yes, I have that in the manifest. Is there a way to see if the RPi sees the Maestro at all? The Devices list does not have it.


When you say

The Devices list does not have it.

Are you referring to the list of devices on the default IoT startup screen ? The Maestro should appear there. Could you have a USB connection issue ?


Everything seems to be working now, thanks for your help. The problem was with the Serial mode setting. It was set to UART. I changed it to USB Dual Port and it started working. Thanks again for your help, and thanks for posting this code!


Great !

You’re welcome. I’m happy someone else is finding it useful :blush: