Looking for deeper info on Surface Pro Wacom digitiser board...

Discussion in 'Microsoft' started by Caramello, Apr 17, 2014.

  1. Caramello

    Caramello Pen Pal - Newbie

    Messages:
    16
    Likes Received:
    0
    Trophy Points:
    5
    Hello there.

    New to these forums, but I have visited them before to read up on all things "tablet" (in particular what's decent to draw on). I'm currently part of the DIY Cintiq community as seen at forum.bongofish.co.uk and am working on building an on-screen drawing tablet using the LCD panel for the Surface Pro. You can check out my build log so far here:

    Chocochan's back! "Starlet" will be completed!

    Why I'm here is that I'm stuck when it comes to interfacing the digitiser to USB. I've learned here that it appears as a USB device and I'm trying to figure out how. I have managed to locate the LCD panel's datasheet (you can check it out in a link in my build log if you want to know about the screen in the Surface Pro), but while it gives me the general specs and pin assignments, it's not enough to figure out what goes where with trying to interface it to USB. You see, the digitiser actually uses an I2C interface.

    So, I'm hoping that maybe someone has played around with their Surface Pro and would be willing help me decipher how it appears as a USB HID device, so I can replicate this using an I2C to USB interface device (which I can find easily enough). I know I might not get much in responses, but I'm hoping to gleam at least some information that will get me closer to my goal. If you have anything to share, I would love to hear from you!
     
  2. Caramello

    Caramello Pen Pal - Newbie

    Messages:
    16
    Likes Received:
    0
    Trophy Points:
    5
    I know this is of no interest or beyond the scope of most users on these forums, but seriously any information would be helpful! Since the Wacom digitiser appears as a HID USB device, would a user with a Surface pro be extremely kind enough to post their device manager window or at least tell me what was shown? If I can find out the manufacturer and device ID of the microcontroller used to convert the I2C signals, it might get me one step closer to figuring things out. Really hoping to hear from anyone soon!
     
  3. aacis

    aacis Pen Pal - Newbie

    Messages:
    13
    Likes Received:
    0
    Trophy Points:
    5
    wish you luck with this, i hope to see someone helping you, i mainly use my surface as a wacom tablet ( i also have intuos 4 )
     
  4. Kumabjorn

    Kumabjorn ***** is back Senior Member

    Messages:
    3,096
    Likes Received:
    1,280
    Trophy Points:
    231
    Are you talking about the original SP or does it include the SP2?
     
  5. javispedro

    javispedro Pen Pal - Newbie

    Messages:
    96
    Likes Received:
    6
    Trophy Points:
    16
    Whatever does this conversion is actually called "Microsoft Sam". It has different product ids depending on which cover is connected. You can see some of them in the following thread:
    http://www.spinics.net/lists/linux-input/msg30224.html. The vendor ID is always MS.

    This weird chip (or firmware?) aggregates all the GPIOs+Keyboard+Gyros+Accelerometer+Covers+Wacom inputs and shows itself as a composite USB device. it's the one that handles e.g. shuting down the keyboard when the accelerometers show it's flipped. So it's probably quite complex and MS-programmed or even MS made. Virtually the only sensor that does not go through SAM is the touchscreen (finger input). The touchscreen is done by Atmel and shows as a completely separate USB device.

    SAM itself shows 3 interfaces, all of them are HID devices. 0 is for sensors (acceloremeter, gyro, and sth else I don't know about yet). 1 is for Wacom, but also Volume Up/Down buttons and the Windows key. 2 or 3 appear if a keyboard cover is connected and are the combined keyboard+touchpad device.

    I've been hacking a bit on Wacom support for Linux for this and I can tell you that it seems to resemble the protocol that other USB-HID wacoms speak, except for weird minor details that confuse the Linux driver (e.g. it will send pen proximity events before clearing rubber-side proximity events). The descriptors, on the other hand, have been heavily changed by (I suppose) MS.

    Also note that most Surfaces have significant loss of precision on the sides. That's the reason Cintiqs or older tablet PCs have larger margins.

    I think that you should look onto Wacom USB tablets for "inspiration".
     
    Last edited: Apr 23, 2014
  6. Caramello

    Caramello Pen Pal - Newbie

    Messages:
    16
    Likes Received:
    0
    Trophy Points:
    5
    Hello there javispedro. Thanks for that info! I was hoping that it uses the USB-HID protocol as I had been doing research on that, but the I2C bus really got me confused! In a way, I wish it was serial based as that has actually been dealt with! On the Bongfish forums, I have seen other builds using tablet PC screens with digitisers and instead of trying to make it appear as a tablet PC screen, it "pretends" to be an Intuos tablet or something else. I think I'm going to try a different approach and not try and fight to get what Microsoft has. If I can get it to resemble any of the older Wacom tablets with 1024 pressure levels, there will always be a driver to support it.

    It might help with any calibration issues as well. I did read on here about a special driver with I think over 100 points of calibration? I'm not sure I can get that to work on Windows 7, but perhaps I can at least use the standard USB tablet drivers... I'm not sure what you mean by look onto Wacom USB tablets for inspiration? Even if I knew the insides and outs of them, the differing signals and connections would still be an issue. Would you care to elaborate? Oh, and Kumabjorn, I'm specifically talking about the first Surface Pro, but as far as I know both it and the Surface Pro 2 use the exact same LCD panel/Wacom digitiser combo unless I'm missing something?
     
  7. javispedro

    javispedro Pen Pal - Newbie

    Messages:
    96
    Likes Received:
    6
    Trophy Points:
    16
    Note that I do not know anything behind of what the operating system sees because I haven't opened mine (and have no intention of doing so at least until extended warranty expires :) ).

    That's exactly what I mean by looking onto other Wacom USB "pen tablets" for inspiration such as the Intuos. I'd be very surprised if they don't also use I2C internally at some point, and in such case you could probably reuse the Intuos controller chip. I'd also bet the protocol is very similar if not identical. There's even a I2C-HID standard. But that is a suggestion only, I've never taken apart any Intuos :)

    Calibration is not a fix, because it is "random" imprecision (there are some threads about it on this subforum), albeit it helps.

    I also believe too the SFPro1 and SFPro2 are the same in this regard.
     
  8. Caramello

    Caramello Pen Pal - Newbie

    Messages:
    16
    Likes Received:
    0
    Trophy Points:
    5
    Ah, now I get what you mean. Funnily enough I never even thought of that and I had an old Intuos3 a few years ago that I stupidly trashed when I could've messed with it to learn more! I'll have to throw the question out and see what comes back. I have got a little info that says it might be a UC256L3U microcontroller, but that's a guess. But messing with the chips on an old Intuos board might be a better idea. I've never heard of the I2C-HID standard (I thought it was only serial 4, 5 and USB), so I'll have to look into that too.

    I feel a little more hopeful now as I believe it really is a nice LCD panel and to have a compact "cintiq" to connect up to my PC would be great. I just think the original ones available are either too expensive or too big. The size is my real reason for doing this as after seeing a Cintiq 13HD in real life, I think it could've been more compact and lighter with all the technology available these days. Not everyone has a huge desk! I'm hoping my build with be at the most the size of an A4 sheet of paper and at the most 10mm thick (smaller would be better of course).

    Thank you so much for your support!
     
  9. aacis

    aacis Pen Pal - Newbie

    Messages:
    13
    Likes Received:
    0
    Trophy Points:
    5
    So let me see if i understand , basically what you are trying to do is to make the surface pro intro a wacom tablet that would work connected to a PC? so we suffer from no lag
     
  10. Caramello

    Caramello Pen Pal - Newbie

    Messages:
    16
    Likes Received:
    0
    Trophy Points:
    5
    Sorry, no. I couldn't care less about the Surface Pro itself, it's the LCD panel that is more interest to me, since the Wacom digitiser is built into it. I'm slowly gathering more information that will help in interfacing it as a stand-alone drawing tablet that could be connected to a PC, Mac, whatever. I doubt there will be a "lagless" way of using a Surface Pro version 1 or 2 as a "cintiq". It would involve a LOT of reverse engineering and ways of bypassing a lot of the components inside that people probably wouldn't bother with the huge effort and just say buy one or build your own.

    Maybe if I get it going, someone with a Surface Pro and the knowledge can use the information, but it would be even harder than what I'm trying to do now! The LCD panel is LVDS based which is fairly easy to interface to for an image, so the real mission is the the Wacom digitiser which is controlled separately from the screen itself. I didn't think a tablet was worth it as I had no need for one and would forever be limited by the hardware pre-installed (which is another reason why I don't have a laptop anymore). It's just a way of making a lightweight mini cintiq for a lower cost, even if it will take a while. :p
     
Loading...

Share This Page