Pickit 3 Ing Boot Loader Recovery

/ Comments off

PK2 users had gripes about the PK3 when it first came out. But now, the PK2 has been out of support for several years so the PK3 definitely the go-to. The Pickit 2 had some nice features to potentially help you debug your system. A basic logic analyzer, a serial (UART) tool, etc.

Pickit 3 Ing Boot Loader Recovery

3 Ing Recipes

The Pickit 3 dropped those and focused on being a programmer and in-circuit debugger. PK3 works well at those functions. If you need a basic logic analyzer, you can get a little box based on a CY7C68013 for less than $6, and use a free software package like Sigrok. You can use a device like Buspirate (open source H/W) to provide an PC interface to UART, I2C, SPI, and almost any other serial protocol. Those two devices are far more capable than the PK2 in those respective functions. The PK3 is far more capable than the PK2 as a programmer and debugger. PK3 supports almost every serially-programmed device from low voltage ones to 5 V ones.

The PK2 bottoms out at 3.3 V devices (IIRC), and doesn't support most new devices in the last several years. PK2 also seems to be far more limited in debugging support. PK3 can debug essentially anything it can program (as long as there are enough pins to connect it in-circuit, 18 pin devices usually). The combination of PK3+CY7C68013+BusPirate is infinitely more capable than a PK2 and you can use all three simultaneously. Of course, PK3 has limitations.

  1. Clock and Data Recovery ICs; Interface and Connectivity. The MPLAB PICkit 3 is connected to the design engineer's PC using a full speed USB interface and.
  2. This is only a preview of the February 2010 issue of Silicon Chip. You can view 17 of the 104 pages in the full issue and the advertisments. For full access.

Notably, you need to tell it what family the device is (so it can upload the repsective firmware) before it can even detect the device. Changing firmware when changing device family is a PITA, but given the ultra-broad device support, it is understandable.

# # List of USB ID's # # Maintained by Stephen J. Gowdy # If you have any new entries, please submit them via # # or send.

PICkit3 Programmer Application and Scripting Tool v3.10 6/12/2013 CAUTION: this tool installs PICkit 2 emulation firmware with all that implies i.e limited device support. The bundled PICkit 2 device file has one more device than the last official release that was on the PICkit 2 page (v1.32.14). You may wish to consider unofficial updates from the Microchip forums. You MUST either run the menu item in the scripting tool to revert to PICkit 3 firmware, or hold the button down while plugging in the USB to force bootloader mode, before you can use the PICkit 3 again with MPLAB 8 or X or the IPE.

This utility does NOT require MPLAB 8 or X to be installed. It doesn't have the serial (UART) terminal, but nearly all the other PICkit 2 features are supported. A bit of an exaggeration. The list is quite comprehensive. You have to install the latest device file. PK3 still has a few features that are buggy or just missing.

Controls that don't do anything. But if you use MPLAB, it is the better dev tool, because it is slightly faster at flashing and has MPLAB support/integration. PK2 is a more reliable batch programmer, IMO (albeit slower for most devices). It has better drive on the ICSP pins. It can handle a lot more inductance/capacitance on those lines.

It has proven to be 100% reliable for me. When it says the chip is successfully verified, this is the case. My personal experience with PK3 is not the same. I think maybe the PK3 is intended to sell more PM3's. Programmer-to-go is a very handy feature on the PK programmers. But it has been nothing but buggy for me, on the PK3. This may be out of the norm.

But I've tried 3 different ones, and they all have some of the same problems, which might have to do with my ICSP interface or board layouts. I have PK2's, 3's, and ICD3. I use my PK2s the most, for two reasons.

Because I have one built into my workbench. I would do that with a PK3, but sometimes the thing screws up and needs a hard reset (same with my ICD3). And the PK2 can use a longer ICSP cable. And also if you plug in multiple PK3, it's hard to tell which one is which. PK2's can be renamed as you choose. Because of the programmer-to-go. Overall, the PK2 is a way cooler, fully realized, bug-free, reliable piece of hardware.

Everything it's claimed to do, it does. PK3 is a little faster and has a few great tricks. I would have both. I highly doubt PK3 will ever reach the level of reliability of the PK2. Software or firmware. It's going to be in a constant state of debugging for its entire life until it is replaced. None of my support tickets resulted in any answers or ray of hope for current improvement/development.

This thread got me curious to pull out the PK3 for a project I'm working on. Maybe I was being too harsh. Again, for dev or debugging purposes, it will be a nice tool if you are using MPLAB IDE.

But say you have already developed the project on a dev/proto board and now you have your first assembled PCB. You have a hex file. To load and flash devices, 'easily,' you would use this piece of junk Java app called the IPE (Integrated Programming Software). First off, you cannot even access IPE from the Start menu in Windows.

You can open all your Microchip folders to find that IPE is simply not there. So if you erased the shortcut and the app is not one of your recently/frequenty used programs on your Start menu, you apparently have to reinstall it. Then, after you click it, it takes my computer 30-60 seconds before the GUi opens. Absolutely nothing happens in the interim. No loading screen. No empty window. Just a lingering doubt.

MPLAB IDE 8/9 opens in 5 seconds (and you can see it loading immediately). I don't know why the program that manages chip-flashing should require so much longer? Well, yeah, it's cross platform Java, and probably bloated. I suppose MPLAB X takes a long time to load, too. I haven't used that in a while, so I can't recall. And I don't feel like crashing my computer right now.

So, IPE 2.26 is finally running. Click on advanced settings. Do the log in/password deal.

PK3 connected. Select device. Best pocket wifi brand.

Then I click the various things to set the programmer up. Go to set up P2G. And it's greyed out.

Yeah, no more P2G. I have no idea how that happened, as I have not updated the software since last time I used it. Perhaps I forgot how to do it. But that's another whole can of worms. The app takes a bit of human RAM to use. I close IPE and open the PicKit3 standalone software v3.01. Last I recall, you can't even setup P2G in this software, but I figure it's worth another look.

Well, I'm still waiting on this program to open and nothing. I suppose I will have to restart my computer and try again. No, I don't think everyone should buy a PK3 and 'be done with it.' There are still some users who will get more utility out of a PK2 and/or an ICD3. Debugging should be reserved for your project, not your programmer.Edit: Ok, 20 minutes later, I finally reach for my PK2. I unplug the PK3. And PK3 standalone software instantly opens.

And when I try to close it, I get an unhandled exception error. Of course, the task manager is the preferred method for closing a professional programming software. Ok, I just took stock. My genuine PK3 are highly modified. Li ion pack, integral charging when plugged in, 5V DC converter on board, and a 7 pin port with the programming button ported to it. Also a couple of my clones have the same modifications. So if you want a genuine, unmolested PK3, I can't deliver.

I have two brand new clones with the 'W' on the front. Programmer only, no box. These, are in my very narrow experience, better than the genuine for P2G. Whereas the genuine PK3 hangs up every now and then and requires a hard reset, the W clones find their way back after this bad jump.

This is seen as an occasional extra (and variable length) delay before returning to ready status, rather than a total lock up. (This is not due to my additional circuitry; this is verified to also occur with the unmodified units while plugged into the computer USB).

I also have 2 brand new lower case 'pickit 3' clones. These are still in the box with an ICSP cable. But I can't promise these on a timely manner, because I just moved and have to get them out of storage. FWIW, these hang up more frequently than the genuine PK3 in P2G mode, at least for my specific purposes. I use one of these for dev, because for that, all these genuine and clone seem to work perfectly.

If you got a Paypal, live in the US, and you trust me, this can probably happen for w/e makes it worth your time/risk. PM me with an offer if you are interested.

I am not trying to badmouth PK3. I bought all these programmers with the hope of doing small scale batch programming with P2G. For my particular situation, I have failed to figure out how to do that with the reliability I need. Countless hours of testing, and now they sit around doing nothing. Even for dev programming, I have an ICD3, already. So my loss may be your gain. My mods are all DIY.

Quite similar to my mods to PK2. Actually, I made my own custom PK2 from the schematic, with integrated DC boost/charging circuity. There's an additional microcontroller for low battery detection, various piezo buzzer alert noises and logic to convey actively flashing, pass/fail verification, reset/ready after fail, (reading the status LEDs to determine condition, so I don't have to). And a socketed EEPROM. (Once set for P2G, all relevant data, such as MCLR hold, voltage, device, etc is ALL stored on the EEPROM.

So you can swap EEPROM to program different firmwares/devices). I still use PK2 for batch programming, whether by hand, with an arbor press, or even sometimes with a CNC machine with custom circuitry and firmware. And once setup, the PK2 is ready to P2G about 1 second after turning it on. I can download the firmware onto my desktop PK2 and take the EEPROM chip to my CNC or my arbor press. My PK3 mod piggyback PCB has most of the same features. And an additional verification output for connection to a CNC. (My CNC custom circuitry does the verification logic, requiring the STATUS LEDS to be connected, but I figured it would be nice to have it on the programmer, instead, using just one output line).

My PK3 PCB requires one trace to be cut on the PK3 so that it can charge while plugged in, and jumpers to the STATUS LEDs and programming button. Most of the firmware is completed, but I never quite finished it. Didn't fully implement low-current sleep. My PK2's hold charge for years, but right now my PK3's have to be disconnected from the battery in storage. I also gave (due to my PK3 issues) the circuit the ability to power cycle the PK3, either by pressing a button, manually, or through input from the CNC machine. But I never got to the point I trusted the PK3's own programming verification to actually use PK3 for production. I was hoping to upgrade to PK3 for the speed.

But I also found another great improvement on the PK3; it will flash a chip without verifying device ID. Sometimes, due to availability, I might buy different versions of the same chip. Different memory or LF vs F. If you make sure your configuration word is compatible with all versions, the PK3 will flash them all indiscriminately. The PK2 has to be setup for each device. Haha, I can't stop thinking how great it would be if I could get the PK3 to work.

So I tried, and got it to work. Here's the breakdown. Opening IPE on my Windows computer: At 24 seconds, the window finally opens, first indication that you have. At 45 seconds, the output window says 'finished loading IPE software' edit: after several software reboots AND multiple plugging in/out of the programmer, I could finally get IPE to detect the programmer. And after it detects, it needs to 'connect.'

This is 45 additional seconds to connect to the PK3, after you hit the 'connect' button. And sometimes this fails, which takes 45 seconds to 60 seconds before the connect button lights up and can be tried, again. Note, this is NOT the download of new device firmware. I already have the appropriate device family firmware installed for the selected device. So I might have had a failure to connect, before. I didn't wait for the connection message in the output window. I may have been 'spoiled' by my PK2's that always connect in bout 1 second.

Anyways, got a hex loaded in P2G mode. Took quite a long time to load into the device. I used my genuine PK3. Flashing 27 PCB's, I had to reboot the thing a bout 6 times due to hangs.

And it takes about 6-7 seconds to reboot. It is definitely faster than the PK2, but not by orders of magnitude. Something like 20% or 30% faster in this particular case. When I read back the devices on the PK2, they all verified, which has not ALWAYS been the case. Had one failure, before, with the genuine PK3, despite the programmer giving the thumbs up.

The 'W' clone is actually faster than the PK2. The genuine, with the hangups/reboots is about a break-even, at best.edit: I may have figured out how to connect it. But with the length of time, I'm not sure if it's 100%.

Let IPE finish loading, full 45 seconds, before plugging the PK3. After the PK3 enumerates, go and do something else for approximately 50 seconds. This is when IPE detects the programmer. Now, hit connect and wait another 45 seconds. And after you unplug the programmer, even if you use the 'disconnect' button, don't expect to reconnect it, or any other PK3, without first closing and restarting the whole process from the beginning. Win 7, 64 bit. 2.9Ghz i5 processor.

Not that shabby. I'm pretty sure IPE hates Window 7, in particular. There are a lot of complaints with Win7 in particular. Per my old notes, IPE is the only way I could get the PK3 to actually work in P2G mode. With an older firmware, I could do it in MPLAB 9, but it didn't work.

With the latest firmware, it can only be done in IPE. If there's a way to do it in the standalone bugfest, I didn't figure it out.

The only mod I have had to do my (genuine) PK3 is to bend back the female header and stick the thing back together with sticky tape (awaiting the next time I have the araldite out AND remember). My nutty son literally ripped it sideways off a dev board it was plugged into.

The dev board needed new male headers but the PK3 survives! I don't intend to start a micro/mini USB debate but the mini-usb connector on the PK3 seems a bit loose - maybe just the cable as I have only used the original red cable it came with. Micro usb would have been a bit better then you could use any old cable you have laying around for phone charging etc, and also you could use it with phone chargers etc., in programming mode. I have built a few custom ICSP cables for it - mainly that allow power injection to power hungry projects. Update: In fairness, IPE is loads much faster on my computer, now, after a reboot. The programmers are recognized within a few seconds, now, too. It's totally useable.

There are some nice added features over the PK2, to boot. I suspect there may be some conflicts between IPE and MPLAB 9. I had MPLAB open, earlier. Since MPLAB 9 is officially unsupported, I guess that is technically on me.

The hang issue in P2G persists on my genuine PK3s. And the bad jump with recovery is still evident on my W clones.

I only ever had the one false verification with a genuine PK3. And I am not sure, but I might have been using a programming interface that has the gate of a small signal FET on the VPP line (I know any additional capacitance on the Vpp line is a no-no, but I have used it with PK2 for at least 7 years without an issue, and I unwittingly used it with the PK3, at first, before quickly finding out this caused programming failures). So I guess I'll just keep my fingers crossed.

In hindsight, I don't know why this even works on the PK2. Most small signal FETs have a max gate voltage of 8V. I don't have a way of figuring out what kind of FET I used, other than it's an N FET, but it's still working all these years.

All it does is switch an LED when VPP is hot, to give visual feedback while the device is being flashed. This predates my custom PK2 piezo buzzer mod.

Pickit 3 firmware

So I guess my only completely validated (in my mind) complaint against PK3 is that P2G is buggy, for my current app, anyway, which is an enhanced 1.8V PIC with 4 pages of code. For some of the other devices I have used, I have not had the hang issue. I have successfully used PK3 in P2G mode for flashing baseline PICs (much much faster with a short code, because PK2 is 'dumb' and flashes the entire program memory due to OSCCAL being stored in the last register of program memory) without freezing up the PK3 every 10 flashes. I don't use MPLAB X. So I haven't tried using the driver switcher application, yet. Maybe you need to switch the PK3 drivers to MPLAB X for IPE to fully work, correctly? It's not clear to me where IPE stands in that whole mess.

I will be going over how to install XBR and Xell onto your Xbox 360. Installing XBR allows you to do many things such run unsigned code(homebrew), install any sized hard drive(even 3.5in desktop hdds!), ftp into your box, and custom dashboards. There are endless possibilities with being able to run any code you want. You are able to modify Xbox 360 games to run custom maps and cheats. You can also launch games off the hard drive without a disc.

It should cost you around $5 in parts, maybe even free if you have the parts already. Tools Soldering iron Solder Computer with LPT port. Parts 1x 25 pin d-sub connector (male or female depending on which kind of cable you have) Digikey # 225FE-ND 1x 25 pin d-sub cable (lpt cable) You can actually skip the cable if you buy a male connector and make your wires long enough to extend from your xbox to the computer Digikey # AE9863-ND 3x 330 ohm resistors (only for Xenon motherboards) Digikey # P330BBCT-ND 1x 1n4148 switching diode (if you have Zephyr, Falcon, Opus or a Jasper get 3x of these) Refer to the image below to tell what kind of 360 you have. There has been a new update to the standard wiring you should use for the JTAG wiring on Xenon's which requires just 2x 1n4148 diodes.

I've never used this method before so I can't really help as much if you have problems. But I would suggest going with it instead since it is supposed to be electrically superior and uses less parts so less room for failure I guess. Soldering is generally pretty straight forward.

You actually don't need any solder for the motherboard end, as the holes all have solder in them. So you just need need to heat it up and slide the wire through. I suggest using at least a 30w iron as a 15w will have trouble getting the lead free solder hot enough. All resistors on the connector are optional, it's just to prevent damage as some ports are 5v and the motherboard is 3.3v.

Here are some bigger pictures Recently there has been a new way to wire Xenons that is supposed to be better, I have never tried it but I have included the diagram on how to wire it. Download the files (I forgot to include nandpro get that ) Extract the rar, and open up the nandpro folder install port95nt.exe (if running vista or 7 set it for compatibility mode for xp.) Plug your Xbox 360 in, but don't power it on. Plug the lpt cable in Pop open cmd and change directories to your nandpro folder type nandpro lpt: -r16 nand.bin It will start to dump, this will take 35 minutes Type nandpro lpt: -r16 nand2.bin and dump it a second time. If during the dump it has trouble reading blocks, don't worry.

You only have a problem if can't read block after block, which means something went wrong in the middle of the dump and you have to restart it again. If you are having issues having nandpro detecting it, go over and double check all of your soldering. If you skipped out on the diode, try adding one, and just restarting your computer has fixed the issue quite a few times for me. You also want to make sure your cable is short as possible. You're going to want to open up degraded included in the file pack. Go to settings and under 1BL key make sure it says DD88AD0C9ED669E7B56794FB68563EFA and is checked.

You are also going to want to change file system start to 39. Open up your nand dump and look at the CB version If your CB is the following you're in luck! Xenon: 888, 1902, 1903, 1920,1921, 8192 Zephyr: 4558, 4580 Falcon: 5761, 5766, 5770 Jasper: 6712, 6723 Jasper Arcade (256/512): 6723 or lower is Exploitable If you are unsure if yours is exploitable, you can also check if CD = 8453, if it does you're out of luck. Reassemble your 360, and boot your 360 with the DVD drive ejected.

Or if you don't have a DVD drive you can plug in a wired controller into the back usb port. You should see a blue screen pop up and whole bunch of things fly. When it says CPU fuses, your either going to want to write really fast or snap a picture. Fuseset 3 and 5 or 4 and 6 is your cpu key. So if it said fuseset 03: xxxxxxxxxxxxxxxx fuseset 05: yyyyyyyyyyyyyyyy My CPU key would be xxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyy It should 32 characters. I included quite a few extra programs in the.rar file.

A lot of them will come in handy with your Xbox 360 homebrew experience. I'll be going over what each program is good for.

360 Flash Tool This tool allows you to view all the files in your nand and your keyvault. You need your CPU key for this. KeyVault Modder This allows you to modify the region code, or what your DVD drive key is. If your Xbox 360 DVD drive is missing or you burned yours out, this is the tool you need to recover it! You can either change the key to someone simple as just 1's or what it originally was. X360GameHack Since you can run any code now, you can patch.xex game files.

With this tool you can remove region coding from games and many other things. XBLA Unlocker This will allow you to unlock any DLC, or XBLA games you may have that are demos and that are signed to a certain console.

You can download game demos on the Xbox marketplace and unlock it with this tool. Xbox Image Browser This tool allows you to view the content of an Xbox 360 Iso image. What I use this tool for is extracting the files from the iso then putting them on my xbox instead of the iso. Xbox 360 iso's are zeroed out to 7 gb or so no matter how big the game is. A game with 1gb of files could be wasting 6gb of space. YarisSwap This program allows you to modify the console ID on DLC, and XBLA games to run on any console. Xbins This is a xbins autoconnect tool.

Use this to download the latest files. Freestyle Dash This is my favorite Xbox 360 custom dashboard. It includes DVD ripping and FTP support. It is one of the most progressing dashboards that is constantly being updated with new features. Quickboot This tool creates containers from xex files that can be launched from the dashboard.

Xexloader This allows you to navigate your hdd on your xbox and launch.xex files directly. It also has an ftp server running in the background also. I included 2 versions, one is the ISO which you just burn to a CD and put in your xbox, the other is a XBLA file that you put in your content folder on your hard drive and launch.

This requires you to cut the end off a sata cable and solder it under the HDD connector. Wiring goes as follows Pin 1: SATA Signal GND Pin 2: SATA Signal A+ Pin 3: SATA Signal A- Pin 4: SATA Signal GND Pin 5: SATA Signal B+ Pin 6: SATA Signal B- Pin 7: SATA Signal GND The side of the sate cable with the writing goes up, and you start left from right. You only have to solder the white shielded cables inside as these are the data cables. Just wire the rest of the ground wires some where else. Where to get my 12v?

There are many spots on the Xbox motherboard where you can get 12v of power from, I picked the power connector on the bottom of the board as I'm not soldering onto any other connectors or anything. How to wire up the sata power connector Yellow: 12v Red: 5v Black: GND Hard drives have been tested up to 2tb and worked successfully.

Usually your avatar will be a blank silhouette and it will tell you, you need to install an update to use them. All you need to do is download update file, and place it on a USB flash drive, and plug it into the back usb port of your xbox. Your 360 should detect it and install it. Make sure you extract it first and the root of the drive is the $SystemUpdate folder. You can also burn it to a CD to update.

If you're paranoid you will brick your console because microsoft is out to get you and ruin your homebrew, you can look at the picture about removing the r6t3 resistor to keep from having your fuses blown. I also provided a mediafire mirror in case the microsoft one goes down.