PM3 Easy - Easy Windows 10 Firmware Flashing Guide

I’ve been butting heads with flashing my PM3 Easy with the latest Iceman RRG using the official guide. Whenever I had to compile it would spit out errors that I couldn’t get around, so I twice gave up and just flashed with the official release. It’s also new territory for me, so it was incredibly confusing.

I must have passed this forum thread for Precompiled Windows Clients about 500 times. What an idiot :joy:

So for anyone with a PM3 Easy, just head to the thread above and choose the link for the 32bit or 64bit generic version. Then do as follows.

  1. Download the latest zip and extract it

  2. Hit Windows Start menu > Power - then hold shift and click Restart to bring up the Startup Options menu. Hit Troubleshoot > Advanced Options > Startup Options > Restart

  3. When Windows restarts, hit 7 - Disable driver signature enforcement

  4. Plug in your PM3, open Device Manager and expand Ports (COM & LPT). Look for your PM3 listed as ‘USB Serial Device’ (perhaps unplug and plug it back in if there are multiple to make sure you choose the correct one). Right click > Update Driver > Browse My Computer > Let Me Pick… > Have Disk and navigate to your extracted folder > Windows Driver and select the proxmark3 file. Your proxmark3 driver is now installed and should now show up in the Device Manager. Take note of the COM port number.

  5. Unplug the PM3 and head back to the extracted folder.

  6. In the win32 / win64 folder, edit FLASH - All.bat and change the COM port to the correct one for your machine. There should be 2 edits to make here after flasher.exe and proxmark.exe. Save and exit.

Example

if exist flasher.exe (
flasher.exe com4 -b …\firmware_win\bootrom\bootrom.elf …\firmware_win\fullimage.elf
) else (
proxmark3.exe com4 --flash --unlock-bootloader --image …\firmware_win\bootrom\bootrom.elf --image …\firmware_win\fullimage.elf
)

  1. Run FLASH - All.bat - before continuing, grab your PM3 Easy and hold in the button on the side and keep it held down the entire time. Plug it in and then continue with the flashing software. If everything goes well and it tells you have a nice day, let go of the button, unplug and close the window.

  2. Plug it back in, open a prompt window (Win+R > “cmd”) and navigate to the aforementioned win32/win64 folder. Run ‘proxmark3.exe COMX’ (where X is your COM port number - sometimes this changes, so check in Device Manager). It should spit out a bunch of text with something like;

[ ARM ]
bootrom: RRG/Iceman/master/3716d4d8 2020-05-08 13:14:38
os: RRG/Iceman/master/3716d4d8 2020-05-08 13:14:54
compiled with GCC 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599]

Huzzah!

You’ll only have to install the driver once, so to update the firmware just repeat steps 6 - 8.

If you’re having issues … I’m no expert so I can’t really help you out, but I will do my best. Hope this helps some of you out there who struggle with the guide like I did :skull:

11 Likes

Thanks @ithritin for posting this as I was getting annoyed with my PM3 and was not going to put anymore effort into making it work for me.

2 Likes

Really hope this helps. I’m so glad I finally got it to flash :skull:

1 Like

you are a life saver hours if searching and unsuccessful attempts i finaly got it flashed was beginning to loose my mind.

2 Likes

Awesome! Really glad this helped :slight_smile:

3 Likes

I notice the link to the precompiles isn’t working so;

32bit version and 64bit version - always look for “other” if you have a Proxmark3 Easy

and a link to all the precompiles

2 Likes

Hi I’m new here and just have a question about the Iceman rrg “other” precompiles here.

I just ordered my first proxmark3 easy, and I read that since this hardware only has 256kb of memory for firmware that it could cause issues flashing the firmware.

Do the precompiled Iceman rrg firmwares listed here flash ok on the 256kb hardware? Or will I need to compile from source manually and omit some features to get the firmware small enough like I’ve read on some other forums?

Only 256kB? You’re probably gonna have a bad time.

Where did you buy the PM3 Easy from?

Anyway, I would recommend you grab the one Amal linked above, It has Iceman preloaded and is a 512kB.

If you get rid of some of the standalone features you MAYBE able to squeeze down the image size

PLATFORM=PM3OTHER

PLATFORM_SIZE=256

This should force an error, and will show you how much you need to strip out.
You will have to give up some functionality!!!
PERSONALLY
I would go for

2 Likes

The other reason to dump the 256k version and go to 512k has to do with the direction iceman is going… check the last few months of code updates… he’s taking a focus on UX… making things easier and make more sense, with more built-in documentation and UX elements like colors and ascii art based outputs. That shit takes up space. It’s only going to get bulkier from here on out.

2 Likes

As far as I know, it’s mostly client side, which does not take up that much more space if any… but there are always improvements (e.g. iso15693, desfire, etc.) that will take up more space on the ARM chip.

From what I understand, there’s a mix of higher level commands which are executed mostly on the ARM core / FPGA and those which are just raw read / write commands with the client software doing the rest.

IIRC it’s one reason that Rosco’s SiRFIDaL uses the PM3 binary with output search instead of interfacing directly with the PM3.

2 Likes

Thanks! I didn’t see that sale for the 512 version before I placed my order. I ordered the 256 version on eBay for $60, but I think now as soon as it arrives I’ll return it and order the one you listed.

2 Likes

Updating the links for precompiles, now found at:

And you’ll want this one:
Latest RRG / Iceman generic build for Proxmark3 devices (non RDV4), for Proxmark3 Easy, RDV1, RDV2, RDV3, etc etc

2 Likes