locked
Windows 8.1 Store apps and Arduino Uno

    Question

  • Hello folks,

    Could anyone here please help me get Arduino Uno work with the Windows Store Apps?

    I have Windows 8.1. I can successfully install the original unsigned Arduino driver (see this article) and communicate with the device using the IDE.

    However, I would like to communicate over serial port from Windows Store App.

    After some experimenting, I managed to connect to the device using WinUsb driver. 

    UInt32 vid = 0x2341;
     UInt32 pid = 0x0043;
    
     string aqs = UsbDevice.GetDeviceSelector(vid, pid);
    
     var myDevices = await Windows.Devices.Enumeration.DeviceInformation.FindAllAsync(aqs);
                
     try
     {
          var usbDevice = await UsbDevice.FromIdAsync(myDevices[0].Id);
      ...

    And following manifest:

    <Capabilities>
        <Capability Name="internetClient" />
        <m2:DeviceCapability Name="usb">
          <m2:Device Id="vidpid:2341 0043">
            <m2:Function Type="winUsbId:9f543223-cede-4fa3-b376-a25ce9a30e74" />
          </m2:Device>
        </m2:DeviceCapability>
      </Capabilities>


    But then I only have a generic USB device and I don't know how to communicate (send Setup Packets etc.).

    What I would like to use is the CDC Win 8.1 API, but UsbCdcControl.DeviceList.Instances is never populated with Arduino instance. I also tried installing Ricochet Wireless USB Modem driver (recommended here) but that did not help.

    I suspect that the problem might be in following:

    Since the RTM release appeared on MSDN within the last week the above code had actually stopped working. This is because the RTM build of Windows 8.1 enforces the criteria on WinUSB device drivers to expose a an interface GUID (which would normally be done either via the driver or device firmware).


    My knowledge of drivers in next to nothing. Can someone help me connect the dots or perhaps provide enhanced INF driver file that would contain the required interface GUID mentioned above?


    Friday, December 27, 2013 1:00 PM