Tuesday, 16 July 2013

PICKit2 not working on Windows 8? You need to disable driving signature enforcement!

The title pretty much says it all - but after getting a shiny new, touchscreen laptop with Windows 8 (which - unlike most geeky critics, we think is ace) there were a few things that just stopped working.

The most noticeable (at the time) was all our earlier USB based devices, simply no longer worked. Perhaps it was something to do with the USB stack that comes with Oshonsoft? So we tried a couple of other (branded) USB devices and they all worked fine. Except last night, we couldn't get our PICKit2 clone working...

The device was actually recognised when plugged in, but it didn't want to recognise any PIC we put onto the ICSP programming header. It would light an LED, but after much head-scratching, we tested the voltage output from the PICKit2 and instead of 5v, we were only getting about 1.7v
At first we suspected a dodgy programmer - though luckily we've always got a spare one or two knocking around - but it turns out that all our PICKit2 clones were similarly affected.

After a bit of poking around on the 'net we found the answer:
Windows8 requires all drivers to be digitally signed - and cripples any device not using a signed driver (even though, when investigating in Device Manager, Windows reported the programmer as a generic USB input device, and said it was using the Microsoft-supplied generic HID device driver!)

Anyway, this short video explains how to disable driver signature enforcement in Windows 8 quite nicely. We followed these steps, then re-installed the PICKit2 software

After writing a quick blink-LED program in Oshonsoft, we dumped the hex file onto our PIC chip:

Success! We're back in business.
There are many reports of people online who've had problems getting their microcontroller based homebrew projects working and ended up dual-booted into XP, or running a different computer with Windows7 on it. But if you've having problems getting your PIC or Arduino based projects to work, try giving this a go before doing something more drastic - it might just work for you too!