From 9aa72a5d6fb33dbda593dc3528881401095f7c86 Mon Sep 17 00:00:00 2001 From: DJ Eric James Date: Mon, 31 Aug 2026 17:48:00 -0400 Subject: [PATCH 01/29] First Attempt --- .../Getting_Started_With_PM5.md | 173 ++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 doc/md/PM5_Start_Here/Getting_Started_With_PM5.md diff --git a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md new file mode 100644 index 000000000..f3c9a5704 --- /dev/null +++ b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md @@ -0,0 +1,173 @@ +# Getting Started with the Proxmark5 + +## Contents + +- [Assumptions](#Assumptions) +- [Makefile Changes](#Makefile-Changes) +- [Build](#Build) +- [Flash Bootrom](#Flash-Bootrom) +- [Flash Fullimage](#Flash-Fullimage) +- [Flash FPGA](#Flash-FPGA) + + +- [Build Extras](#Build-Extras) + + +- [1. Battery / BWM control](#1-battery--bwm-control) +- [2. BLE](#2-ble) +- [3. WiFi](#3-wifi) +- [Notes](#notes) + +--- + + + +## Assumptions +* You're BWM module is disconnected for the first full flashing (bootrom and fullimage) +* You have compiled the source before and your PM3 is or was working on the target machine previously. (If not, start [here](https://github.com/RfidResearchGroup/proxmark3/tree/master#proxmark3-installation-and-overview) for your OS of choice. + + + +## Makefile Changes + +Your Makefile.platform should needs to specify PM5 as your PLATFORM along with any PLATFORM_EXTRAS that are appropriate for your configuration. +Example: +``` +PLATFORM=PM5 +PLATFORM_EXTRAS=BWM +``` + +## Build + +`make clean && make -j` + +For more options, look [here](#Build-Extras) + +## Flash Bootrom + +* The same client can handle both Proxmark3 and Proxmark5, no need to compile separate clients if you own both hardwares. +* Don't forget to [disable ModemManager](../Installation_Instructions/ModemManager-Must-Be-Discarded.md) + +## Flashing instructions + +⚠️ As usual, make sure [ModemManager won't interfere](ModemManager-Must-Be-Discarded.md). + +⚠️ Make sure no other Proxmark (3 or 5) is plugged into your PC. + +### New devices with factory firmware + +The factory firmware has some limitations, therefore the flashing procedure is slightly more complex. + +⚠️ If you have a BWM (Battery Wireless Module), and if it came already plugged, disconnect it. See [here](https://github.com/RfidResearchGroup/Proxmark5_BWM_esp32/blob/master/INSTALL.md) to understand how it's installed. The reason it came connected when delivered to some countries is customs regulations. But hte factory firmware does not support it and this creates issues when flashing, so just remove it. + +Use the yellow USB-C on the same side as the button. + +You'll first need to update the bootrom with the latest code available on the repository. +The bootrom in your device is not yet able to enter automatically the boot mode properly, so you will have to enter boot mode manually as follows, a procedure slightly different from the Proxmark3. + +* Plug in your Proxmark5 while holding the button for about 4 seconds until you see 2 LEDs illuminated (B and D). Don't wait too long. If the LEDs are now off again, you entered DFU mode. Unplug and try again. + +* Run `./pm3-flash-bootrom` +* Unplug. +* Plug in your Proxmark5 while holding the button for about 4 seconds until you see 2 LEDs illuminated (B and D). +* Run `./pm3-flash-fullimage` + +⚠️ In case your battery came pre-installed, we recommend to plug it back, connect the client, run `hw status` and check the charge level (line `Battery SoC`). If very low, let it charge for a while. Then shut the Proxmark5 off and remove the BWM. + +Next, follow [FPGA flashing instuctions](#fpga-flashing-instructions). + +### Devices with a firmware > 2026-08-20 + +With the new bootrom, you don't need to enter manually the boot mode by pressing the button anymore and the flashing experience will be as smooth as on the Proxmark3. + +* Use the yellow USB-C on the same side as the button. + +* Run `./pm3-flash-fullimage` to update the main image, and occasionally `./pm3-flash-bootrom` if needed. + +If you see "🚨 The elf file is not applicable to the currently connected device.", you probably forgot to add the `PLATFORM=PM5` when compiling. + +If the main image gets seriously buggy and can't jump to boot mode automatically, you can enter boot mode using the button as explained in [the previous section](#new-devices-with-factory-firmware). + +If the device seems unresponsive and unable to enter boot mode when the button is pressed when plugged, you can [reflash the bootrom over DFU](#recovery-flashing-via-dfu). + +## FPGA flashing instructions + +The FPGA code for the Proxmark5 has not yet been pushed to the repository. To flash the FGPA with the latest image: + +``` +wget https://github.com/user-attachments/files/31105593/PM5_FPGA_fix_loedge_bug.zip +unzip PM5_FPGA_fix_loedge_bug.zip +./pm3 +hw fpga config -f PM5_FPGA_fix_loedge_bug.bin +hf 14a read --drop +``` + +## Specific commands + +Do not use them unless you fully understand what you're doing. + +* `hw fpga config`: to upload the FPGA firmware +* `hw fpga pwrpwm`: to adjust the antenna's drive voltage TODO: acceptable ranges? +* `hw ant_pm5 -m --set <8bit data>` command can be used to modify the frequency and Q value. Note: High Q is only allowed at 125kHz/134kHz to prevent excessive resonant voltage from damaging the device. + > 8bit map: 125 134 250 375 500 HFLED LFLED Q (lsb) +* `hw qc_pm5`: factory quality check command, will activate the RBG, the buzzer and the antenna LEDs. Press the button to report success. Use `-t/--timeout ` to change how long the test sequence runs before it fails (default 20 seconds). +* `hw factorydata`: read/write the factory data (originality signature etc) + +## Standalone Modes + +Standalone modes are disabled for now, to ease debugging. + +## BWM aka Battery Wireless Module + +⚠️ the BWM is not yet fully supported, it's better not to plug it for now. + +* [Installation instructions](https://github.com/RfidResearchGroup/Proxmark5_BWM_esp32/blob/master/INSTALL.md) +* The very first time, run ` hw bwmsetcap --cap 500` and do a full charge/discharge cycle for it to learn the real capacity +* Pressing briefly the button will wake the device. The RGB will turn green +* When the device is powered on, pressing and holding the button for a few seconds will start displaying a running light, and then releasing the button will power off the device + +## Recovery flashing via DFU + +If the device seems unresponsive and unable to enter boot mode when the button is pressed when plugged, you can reflash the bootrom over DFU. The Proxmark5 does not require J-Link or similar tools for unbricking. + +```sudo apt install dfu-util``` + +Enter DFU mode: Plug in your Proxmark5 while holding the button for about 8 seconds until you see 2 LEDs (B and D) going on then off. + +Backup current flash content, if needed: + +```sudo dfu-util -d 2e3c:df11 -a 0 -s 0x08000000:1048576 -U pm5-full-flash-backup.bin``` + +Flash bootrom: + +```sudo dfu-util -d 2e3c:df11 -a 0 -s 0x08000000 -D recovery/bootrom.bin``` + +Flash fullimage: + +```sudo dfu-util -d 2e3c:df11 -a 0 -s 0x08004000:leave -D recovery/fullimage.bin``` + +You can also flash bootrom and fullimage in one go: + +```sudo dfu-util -d 2e3c:df11 -a 0 -s 0x08000000:leave -D recovery/recovery.bin``` + + +On Windows, you can try the following: +- Download and extract the [AT32 ISP Programmer](https://www.arterychip.com/file/download/1764) +- Install the USB driver present in `Artery_DFU_DriverInstall/` +- Enter DFU mode as explained above +- Open the `Artery ISP Programmer` , select `HEX` file to flash, and use the bootrom & fullimage is required. +- When flash done, disconnect usb and reconnect for restart device to exit ISP mode. +- Open the proxmark client to try to connect to verify your device is re-working. + + +## Build Extras +The Proxmark5 platform must be specified when compiling the firmware. +You have several options: +* Update your `Makefile.platform` with `PLATFORM=PM5` then `make -j` +* Specify it on-the-fly with `make -j PLATFORM=PM5` +* If you have both Proxmark3 and Proxmark5, you can maintain a separate file like `Makefile.pm5.platform` and specify it when compiling, with `make -j PLATFORM_FILE=Makefile.pm5.platform`. +* ⚠️ Make sure to not have any conflicting `PLATFORM_EXTRAS` such as `BTADDON` or `FPC_USART_DEV` which are specific to the RDV4. + + + + From 214cb71677c7af66b7c29588c4bb863925a351d0 Mon Sep 17 00:00:00 2001 From: DJ Eric James Date: Mon, 31 Aug 2026 18:29:38 -0400 Subject: [PATCH 02/29] docu2 --- .../Getting_Started_With_PM5.md | 32 ++++++++++++------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md index f3c9a5704..69a242b1f 100644 --- a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md +++ b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md @@ -23,14 +23,15 @@ ## Assumptions -* You're BWM module is disconnected for the first full flashing (bootrom and fullimage) -* You have compiled the source before and your PM3 is or was working on the target machine previously. (If not, start [here](https://github.com/RfidResearchGroup/proxmark3/tree/master#proxmark3-installation-and-overview) for your OS of choice. +* If the BWM is connected, disconnect it for the first full flashing. (bootrom and fullimage) +* You have compiled the source before and your PM3 is or was working on the target machine previously. (If not, start [here](https://github.com/RfidResearchGroup/proxmark3/tree/master#proxmark3-installation-and-overview) for your OS of choice.) ## Makefile Changes Your Makefile.platform should needs to specify PM5 as your PLATFORM along with any PLATFORM_EXTRAS that are appropriate for your configuration. + Example: ``` PLATFORM=PM5 @@ -39,26 +40,29 @@ PLATFORM_EXTRAS=BWM ## Build -`make clean && make -j` +* clone/pull the latest master from this repo then + +```make clean +make -j +``` For more options, look [here](#Build-Extras) ## Flash Bootrom +### Flashing Considerations * The same client can handle both Proxmark3 and Proxmark5, no need to compile separate clients if you own both hardwares. * Don't forget to [disable ModemManager](../Installation_Instructions/ModemManager-Must-Be-Discarded.md) +* There can be only one proxmark plugged into your PC. Do not plug in both a pm3 and pm5 during flashing. -## Flashing instructions -⚠️ As usual, make sure [ModemManager won't interfere](ModemManager-Must-Be-Discarded.md). +## Flash the Bootrom -⚠️ Make sure no other Proxmark (3 or 5) is plugged into your PC. +* DO use the USB Port on the same side as the button (Yellow) +* DO NOT use the USB Port on the side. +* Put your Proxmark into Boot Mode. Plug in your Proxmark5 while holding the button for about 4 seconds until you see 2 LEDs illuminated (B and D) You are now in Boot Mode. +* If you see 2 lights (B & D) go on and then off, you're in DFU mode. Unplug, and try the previous step again. -### New devices with factory firmware - -The factory firmware has some limitations, therefore the flashing procedure is slightly more complex. - -⚠️ If you have a BWM (Battery Wireless Module), and if it came already plugged, disconnect it. See [here](https://github.com/RfidResearchGroup/Proxmark5_BWM_esp32/blob/master/INSTALL.md) to understand how it's installed. The reason it came connected when delivered to some countries is customs regulations. But hte factory firmware does not support it and this creates issues when flashing, so just remove it. Use the yellow USB-C on the same side as the button. @@ -171,3 +175,9 @@ You have several options: +### New devices with factory firmware + +The factory firmware has some limitations, therefore the flashing procedure is slightly more complex. + +⚠️ If you have a BWM (Battery Wireless Module), and if it came already plugged, disconnect it. See [here](https://github.com/RfidResearchGroup/Proxmark5_BWM_esp32/blob/master/INSTALL.md) to understand how it's installed. The reason it came connected when delivered to some countries is customs regulations. But hte factory firmware does not support it and this creates issues when flashing, so just remove it. + From cdf8c03e73aa8198b211d7117402e2dae4037484 Mon Sep 17 00:00:00 2001 From: DJ Eric James Date: Mon, 31 Aug 2026 18:31:04 -0400 Subject: [PATCH 03/29] docu2 --- doc/md/PM5_Start_Here/Getting_Started_With_PM5.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md index 69a242b1f..1a0e676de 100644 --- a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md +++ b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md @@ -30,7 +30,7 @@ ## Makefile Changes -Your Makefile.platform should needs to specify PM5 as your PLATFORM along with any PLATFORM_EXTRAS that are appropriate for your configuration. +Your `Makefile.platform` should needs to specify `PM5` as your `PLATFORM` along with any `PLATFORM_EXTRAS` that are appropriate for your configuration. Example: ``` From 0860eb749eb85bc136ed11851b7f3b6c1469b491 Mon Sep 17 00:00:00 2001 From: DJ Eric James Date: Mon, 31 Aug 2026 18:31:48 -0400 Subject: [PATCH 04/29] docu2 --- doc/md/PM5_Start_Here/Getting_Started_With_PM5.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md index 1a0e676de..4ae07eea2 100644 --- a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md +++ b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md @@ -40,7 +40,7 @@ PLATFORM_EXTRAS=BWM ## Build -* clone/pull the latest master from this repo then +* Clone/pull the latest master from this repo then ```make clean make -j From 1991874159014997dba17e60083287d35d6473d3 Mon Sep 17 00:00:00 2001 From: DJ Eric James Date: Mon, 31 Aug 2026 18:33:29 -0400 Subject: [PATCH 05/29] docu2 --- doc/md/PM5_Start_Here/Getting_Started_With_PM5.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md index 4ae07eea2..ada9e9c04 100644 --- a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md +++ b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md @@ -13,6 +13,9 @@ - [Build Extras](#Build-Extras) + +--- + - [1. Battery / BWM control](#1-battery--bwm-control) - [2. BLE](#2-ble) - [3. WiFi](#3-wifi) @@ -20,8 +23,6 @@ --- - - ## Assumptions * If the BWM is connected, disconnect it for the first full flashing. (bootrom and fullimage) * You have compiled the source before and your PM3 is or was working on the target machine previously. (If not, start [here](https://github.com/RfidResearchGroup/proxmark3/tree/master#proxmark3-installation-and-overview) for your OS of choice.) From 448daf96b968af4a14b18a9ca3a32dbfc9ca5fd0 Mon Sep 17 00:00:00 2001 From: DJ Eric James Date: Mon, 31 Aug 2026 18:33:55 -0400 Subject: [PATCH 06/29] docu2 --- doc/md/PM5_Start_Here/Getting_Started_With_PM5.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md index ada9e9c04..219f6f275 100644 --- a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md +++ b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md @@ -8,8 +8,6 @@ - [Flash Bootrom](#Flash-Bootrom) - [Flash Fullimage](#Flash-Fullimage) - [Flash FPGA](#Flash-FPGA) - - - [Build Extras](#Build-Extras) From 703c7129fad5ed59021d7a32ee03275bb188f2be Mon Sep 17 00:00:00 2001 From: DJ Eric James Date: Mon, 31 Aug 2026 18:34:29 -0400 Subject: [PATCH 07/29] docu2 --- doc/md/PM5_Start_Here/Getting_Started_With_PM5.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md index 219f6f275..2f750d70c 100644 --- a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md +++ b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md @@ -8,6 +8,9 @@ - [Flash Bootrom](#Flash-Bootrom) - [Flash Fullimage](#Flash-Fullimage) - [Flash FPGA](#Flash-FPGA) + +--- +## Extras - [Build Extras](#Build-Extras) From f67eb452e3a5c1aa8c2cbcce69ab7154bd163a1f Mon Sep 17 00:00:00 2001 From: DJ Eric James Date: Mon, 31 Aug 2026 19:01:03 -0400 Subject: [PATCH 08/29] docu2 --- .../Getting_Started_With_PM5.md | 101 +++++++++++------- 1 file changed, 60 insertions(+), 41 deletions(-) diff --git a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md index 2f750d70c..dcb2fc0cb 100644 --- a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md +++ b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md @@ -5,9 +5,11 @@ - [Assumptions](#Assumptions) - [Makefile Changes](#Makefile-Changes) - [Build](#Build) -- [Flash Bootrom](#Flash-Bootrom) -- [Flash Fullimage](#Flash-Fullimage) +- [Flashing](#Flashing) +- [Flash the Bootrom](#Flash-The-Bootrom) +- [Flash the Fullimage](#Flash-The-Fullimage) - [Flash FPGA](#Flash-FPGA) +- [I Have A BWM Now What?](##I-Have-A-BWM--Now-What-) --- ## Extras @@ -50,7 +52,7 @@ make -j For more options, look [here](#Build-Extras) -## Flash Bootrom +## Flashing ### Flashing Considerations * The same client can handle both Proxmark3 and Proxmark5, no need to compile separate clients if you own both hardwares. @@ -60,64 +62,58 @@ For more options, look [here](#Build-Extras) ## Flash the Bootrom -* DO use the USB Port on the same side as the button (Yellow) * DO NOT use the USB Port on the side. -* Put your Proxmark into Boot Mode. Plug in your Proxmark5 while holding the button for about 4 seconds until you see 2 LEDs illuminated (B and D) You are now in Boot Mode. +* DO use the USB Port on the same side as the button (Yellow) +* Put your Proxmark5 into Boot Mode. Plug in your Proxmark5 while holding the button for about 4 seconds until you see 2 LEDs illuminated (B and D) You are now in Boot Mode. * If you see 2 lights (B & D) go on and then off, you're in DFU mode. Unplug, and try the previous step again. - - -Use the yellow USB-C on the same side as the button. - -You'll first need to update the bootrom with the latest code available on the repository. -The bootrom in your device is not yet able to enter automatically the boot mode properly, so you will have to enter boot mode manually as follows, a procedure slightly different from the Proxmark3. - -* Plug in your Proxmark5 while holding the button for about 4 seconds until you see 2 LEDs illuminated (B and D). Don't wait too long. If the LEDs are now off again, you entered DFU mode. Unplug and try again. - * Run `./pm3-flash-bootrom` +* If the above hangs or thows and error, try this: [DFU Install](##DFU-Install) * Unplug. -* Plug in your Proxmark5 while holding the button for about 4 seconds until you see 2 LEDs illuminated (B and D). + +## Flash the FullImage +* Put your Proxmark5 into Boot Mode. (See above) * Run `./pm3-flash-fullimage` -⚠️ In case your battery came pre-installed, we recommend to plug it back, connect the client, run `hw status` and check the charge level (line `Battery SoC`). If very low, let it charge for a while. Then shut the Proxmark5 off and remove the BWM. -Next, follow [FPGA flashing instuctions](#fpga-flashing-instructions). +### Did you Proxmark5 come with a battery pre-installed? Do this next: +* IF your Proxmark5 came with a battery pre-installed. +* [Reinstall the BWM now](https://github.com/RfidResearchGroup/Proxmark5_BWM_esp32/blob/master/INSTALL.md) +* Let it charge for a while (think an hour.) +* Shut the Proxmark5 off and remove the BWM. -### Devices with a firmware > 2026-08-20 +## Flash the FPGA -With the new bootrom, you don't need to enter manually the boot mode by pressing the button anymore and the flashing experience will be as smooth as on the Proxmark3. - -* Use the yellow USB-C on the same side as the button. - -* Run `./pm3-flash-fullimage` to update the main image, and occasionally `./pm3-flash-bootrom` if needed. - -If you see "🚨 The elf file is not applicable to the currently connected device.", you probably forgot to add the `PLATFORM=PM5` when compiling. - -If the main image gets seriously buggy and can't jump to boot mode automatically, you can enter boot mode using the button as explained in [the previous section](#new-devices-with-factory-firmware). - -If the device seems unresponsive and unable to enter boot mode when the button is pressed when plugged, you can [reflash the bootrom over DFU](#recovery-flashing-via-dfu). - -## FPGA flashing instructions - -The FPGA code for the Proxmark5 has not yet been pushed to the repository. To flash the FGPA with the latest image: +* If you followed the steps above... +* You don't need to enter manually the boot mode by pressing the button anymore and the flashing experience will be as smooth as on the Proxmark3. +* Get the latest FPGA image, it's not yet in the repo. ``` wget https://github.com/user-attachments/files/31105593/PM5_FPGA_fix_loedge_bug.zip unzip PM5_FPGA_fix_loedge_bug.zip +``` + +* Update the FPGA, then make sure the radio is off. + +``` ./pm3 hw fpga config -f PM5_FPGA_fix_loedge_bug.bin hf 14a read --drop ``` -## Specific commands +## I Have A BWM, Now What? +### Install +* You acknowledge that the BWM is not yet fully supported, it's better not to plug it for now. (If you insist... continue.) +* [Physically install the BWM and (if applicable) Battery](https://github.com/RfidResearchGroup/Proxmark5_BWM_esp32/blob/master/INSTALL.md) + + + +## DFU Install + + + + -Do not use them unless you fully understand what you're doing. -* `hw fpga config`: to upload the FPGA firmware -* `hw fpga pwrpwm`: to adjust the antenna's drive voltage TODO: acceptable ranges? -* `hw ant_pm5 -m --set <8bit data>` command can be used to modify the frequency and Q value. Note: High Q is only allowed at 125kHz/134kHz to prevent excessive resonant voltage from damaging the device. - > 8bit map: 125 134 250 375 500 HFLED LFLED Q (lsb) -* `hw qc_pm5`: factory quality check command, will activate the RBG, the buzzer and the antenna LEDs. Press the button to report success. Use `-t/--timeout ` to change how long the test sequence runs before it fails (default 20 seconds). -* `hw factorydata`: read/write the factory data (originality signature etc) ## Standalone Modes @@ -183,3 +179,26 @@ The factory firmware has some limitations, therefore the flashing procedure is s ⚠️ If you have a BWM (Battery Wireless Module), and if it came already plugged, disconnect it. See [here](https://github.com/RfidResearchGroup/Proxmark5_BWM_esp32/blob/master/INSTALL.md) to understand how it's installed. The reason it came connected when delivered to some countries is customs regulations. But hte factory firmware does not support it and this creates issues when flashing, so just remove it. +* Use the yellow USB-C on the same side as the button. + +* Run `./pm3-flash-fullimage` to update the main image, and occasionally `./pm3-flash-bootrom` if needed. + +If you see "🚨 The elf file is not applicable to the currently connected device.", you probably forgot to add the `PLATFORM=PM5` when compiling. + + +If the device seems unresponsive and unable to enter boot mode when the button is pressed when plugged, you can [reflash the bootrom over DFU](#recovery-flashing-via-dfu). + +If the main image gets seriously buggy and can't jump to boot mode automatically, you can enter boot mode using the button as explained in [the previous section](#new-devices-with-factory-firmware). + + +## Specific commands + +Do not use them unless you fully understand what you're doing. + +* `hw fpga config`: to upload the FPGA firmware +* `hw fpga pwrpwm`: to adjust the antenna's drive voltage TODO: acceptable ranges? +* `hw ant_pm5 -m --set <8bit data>` command can be used to modify the frequency and Q value. Note: High Q is only allowed at 125kHz/134kHz to prevent excessive resonant voltage from damaging the device. + > 8bit map: 125 134 250 375 500 HFLED LFLED Q (lsb) +* `hw qc_pm5`: factory quality check command, will activate the RBG, the buzzer and the antenna LEDs. Press the button to report success. Use `-t/--timeout ` to change how long the test sequence runs before it fails (default 20 seconds). +* `hw factorydata`: read/write the factory data (originality signature etc) + From 243f1a08616cd0f11d9ad4b2eadc21d56303e213 Mon Sep 17 00:00:00 2001 From: DJ Eric James Date: Mon, 31 Aug 2026 19:09:36 -0400 Subject: [PATCH 09/29] docu2 --- doc/md/PM5_Start_Here/Getting_Started_With_PM5.md | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md index dcb2fc0cb..b5b3a4208 100644 --- a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md +++ b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md @@ -101,10 +101,16 @@ hf 14a read --drop ``` ## I Have A BWM, Now What? + ### Install * You acknowledge that the BWM is not yet fully supported, it's better not to plug it for now. (If you insist... continue.) * [Physically install the BWM and (if applicable) Battery](https://github.com/RfidResearchGroup/Proxmark5_BWM_esp32/blob/master/INSTALL.md) +### Operation +* Power on: Briefly pressing the button will wake the device. The RGB will turn green +** The RGB will turn green. +* When the device is powered on, pressing and holding the button for a few seconds will start displaying a running light, and then releasing the button will power off the device + ## DFU Install @@ -115,9 +121,6 @@ hf 14a read --drop -## Standalone Modes - -Standalone modes are disabled for now, to ease debugging. ## BWM aka Battery Wireless Module @@ -125,8 +128,6 @@ Standalone modes are disabled for now, to ease debugging. * [Installation instructions](https://github.com/RfidResearchGroup/Proxmark5_BWM_esp32/blob/master/INSTALL.md) * The very first time, run ` hw bwmsetcap --cap 500` and do a full charge/discharge cycle for it to learn the real capacity -* Pressing briefly the button will wake the device. The RGB will turn green -* When the device is powered on, pressing and holding the button for a few seconds will start displaying a running light, and then releasing the button will power off the device ## Recovery flashing via DFU @@ -202,3 +203,7 @@ Do not use them unless you fully understand what you're doing. * `hw qc_pm5`: factory quality check command, will activate the RBG, the buzzer and the antenna LEDs. Press the button to report success. Use `-t/--timeout ` to change how long the test sequence runs before it fails (default 20 seconds). * `hw factorydata`: read/write the factory data (originality signature etc) + +## Standalone Modes + +Standalone modes are disabled for now, to ease debugging. From b80be3cbf896f8e4ac62b19b6b39d9262e2b20ef Mon Sep 17 00:00:00 2001 From: DJ Eric James Date: Mon, 31 Aug 2026 20:14:52 -0400 Subject: [PATCH 10/29] restructure document --- .../Getting_Started_With_PM5.md | 151 +++++++++--------- 1 file changed, 76 insertions(+), 75 deletions(-) diff --git a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md index b5b3a4208..e08fe1440 100644 --- a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md +++ b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md @@ -9,25 +9,16 @@ - [Flash the Bootrom](#Flash-The-Bootrom) - [Flash the Fullimage](#Flash-The-Fullimage) - [Flash FPGA](#Flash-FPGA) -- [I Have A BWM Now What?](##I-Have-A-BWM--Now-What-) - ---- -## Extras +- [I Have A BWM Now What?](#I-Have-A-BWM--Now-What-) - [Build Extras](#Build-Extras) - - +- [Standalone Modes](#Standalone-Modes) +- [The Danger Zone](#Specific-commands) --- -- [1. Battery / BWM control](#1-battery--bwm-control) -- [2. BLE](#2-ble) -- [3. WiFi](#3-wifi) -- [Notes](#notes) - ---- ## Assumptions -* If the BWM is connected, disconnect it for the first full flashing. (bootrom and fullimage) +* If the BWM is connected, disconnect it for the first full flashing. (Bootrom and Fullimage) * You have compiled the source before and your PM3 is or was working on the target machine previously. (If not, start [here](https://github.com/RfidResearchGroup/proxmark3/tree/master#proxmark3-installation-and-overview) for your OS of choice.) @@ -64,9 +55,10 @@ For more options, look [here](#Build-Extras) * DO NOT use the USB Port on the side. * DO use the USB Port on the same side as the button (Yellow) -* Put your Proxmark5 into Boot Mode. Plug in your Proxmark5 while holding the button for about 4 seconds until you see 2 LEDs illuminated (B and D) You are now in Boot Mode. -* If you see 2 lights (B & D) go on and then off, you're in DFU mode. Unplug, and try the previous step again. +* Put your Proxmark5 into *Boot Mode*. Plug in your Proxmark5 while holding the button for about 4 seconds until you see 2 LEDs illuminated (B and D) You are now in *Boot Mode*. +* If you see 2 lights (B & D) go on and then off, you're in *DFU mode*. Unplug, and try the previous step again. * Run `./pm3-flash-bootrom` + * If you see "🚨 The elf file is not applicable to the currently connected device.", you probably forgot to add `PLATFORM=PM5` in your `Makefile.platform` * If the above hangs or thows and error, try this: [DFU Install](##DFU-Install) * Unplug. @@ -92,7 +84,8 @@ wget https://github.com/user-attachments/files/31105593/PM5_FPGA_fix_loedge_bug. unzip PM5_FPGA_fix_loedge_bug.zip ``` -* Update the FPGA, then make sure the radio is off. +* Plug in the Proxmark5 +* Update the FPGA, and then make sure the radio is off. ``` ./pm3 @@ -106,59 +99,88 @@ hf 14a read --drop * You acknowledge that the BWM is not yet fully supported, it's better not to plug it for now. (If you insist... continue.) * [Physically install the BWM and (if applicable) Battery](https://github.com/RfidResearchGroup/Proxmark5_BWM_esp32/blob/master/INSTALL.md) -### Operation -* Power on: Briefly pressing the button will wake the device. The RGB will turn green -** The RGB will turn green. -* When the device is powered on, pressing and holding the button for a few seconds will start displaying a running light, and then releasing the button will power off the device +## Do this exactly once. +* The very first time for a new battery: +``` hw bwmsetcap --cap 500``` +## TODO, learn what this is and how to do it. + and do a full charge/discharge cycle for it to learn the real capacity + + + +### Operation +* Power on: Briefly pressing the button will wake the Proxmark5. + * The RGB will turn green. +* Power off: Press and hold the button. + * The LEDs will start running. + * Releasing the button will power off the Proxmark5. + +### Setup the BWM for first use + ## DFU Install +### Prepare for DFU +* Install the dfu-util +``` sudo apt-get install dfu-util``` +### Option 1: The device hangs while flashing over USB +* Put your Proxmark5 into DFU Mode. [How do to that here](##Flash-the-Bootrom) +* Backup the existing firmware +``` +sudo dfu-util -d 2e3c:df11 -a 0 -s 0x08000000:1048576 -U pm5-full-flash-backup.bin +``` +* Prep the files to use +``` +rm -f /tmp/pm5-bootrom.bin /tmp/pm5-fullimage.bin +arm-none-eabi-objcopy -O binary bootrom/obj/bootrom.elf /tmp/pm5-bootrom.bin +arm-none-eabi-objcopy -O binary armsrc/obj/fullimage.elf /tmp/pm5-fullimage.bin +``` +* Flash the bootrom +``` +sudo dfu-util -d 2e3c:df11 -a 0 -s 0x08000000 -D /tmp/pm5-bootrom.bin +``` +* Flash the Fullimage +``` +sudo dfu-util -d 2e3c:df11 -a 0 -s 0x08004000:leave -D /tmp/pm5-fullimage.bin +``` +* Unplug +* [Go back where you were in the process and continue from there.](##Flash-the-Bootrom) +### Option 2: The device seems unresponsive and is unable to enter Boot Mode. Recover to factory/known safe firmware. +* The Proxmark5 does not require J-Link or similar tools for unbricking. +* Put your Proxmark5 into DFU Mode. [How do to that here](##Flash-the-Bootrom) +* Optional: Backup the existing firmware +``` +sudo dfu-util -d 2e3c:df11 -a 0 -s 0x08000000:1048576 -U pm5-full-flash-backup.bin +``` +#### Method 1: Flash everthing together +* Flash All to recovery version +``` +sudo dfu-util -d 2e3c:df11 -a 0 -s 0x08000000:leave -D recovery/recovery.bin +``` +#### Method 2: Flash Bootrom and Fullimage individually +* Flash the Bootrom +``` +sudo dfu-util -d 2e3c:df11 -a 0 -s 0x08000000 -D recovery/bootrom.bin +``` +* Flash the Fullimage +``` +sudo dfu-util -d 2e3c:df11 -a 0 -s 0x08004000:leave -D recovery/fullimage.bin +``` -## BWM aka Battery Wireless Module - -⚠️ the BWM is not yet fully supported, it's better not to plug it for now. - -* [Installation instructions](https://github.com/RfidResearchGroup/Proxmark5_BWM_esp32/blob/master/INSTALL.md) -* The very first time, run ` hw bwmsetcap --cap 500` and do a full charge/discharge cycle for it to learn the real capacity - -## Recovery flashing via DFU - -If the device seems unresponsive and unable to enter boot mode when the button is pressed when plugged, you can reflash the bootrom over DFU. The Proxmark5 does not require J-Link or similar tools for unbricking. - -```sudo apt install dfu-util``` - -Enter DFU mode: Plug in your Proxmark5 while holding the button for about 8 seconds until you see 2 LEDs (B and D) going on then off. - -Backup current flash content, if needed: - -```sudo dfu-util -d 2e3c:df11 -a 0 -s 0x08000000:1048576 -U pm5-full-flash-backup.bin``` - -Flash bootrom: - -```sudo dfu-util -d 2e3c:df11 -a 0 -s 0x08000000 -D recovery/bootrom.bin``` - -Flash fullimage: - -```sudo dfu-util -d 2e3c:df11 -a 0 -s 0x08004000:leave -D recovery/fullimage.bin``` - -You can also flash bootrom and fullimage in one go: - -```sudo dfu-util -d 2e3c:df11 -a 0 -s 0x08000000:leave -D recovery/recovery.bin``` - +### Windows Options On Windows, you can try the following: - Download and extract the [AT32 ISP Programmer](https://www.arterychip.com/file/download/1764) - Install the USB driver present in `Artery_DFU_DriverInstall/` - Enter DFU mode as explained above -- Open the `Artery ISP Programmer` , select `HEX` file to flash, and use the bootrom & fullimage is required. +- Open the `Artery ISP Programmer` , select `HEX` file to flash, and use the Bootrom & Fullimage is required. - When flash done, disconnect usb and reconnect for restart device to exit ISP mode. - Open the proxmark client to try to connect to verify your device is re-working. @@ -172,25 +194,9 @@ You have several options: * ⚠️ Make sure to not have any conflicting `PLATFORM_EXTRAS` such as `BTADDON` or `FPC_USART_DEV` which are specific to the RDV4. +## Standalone Modes - -### New devices with factory firmware - -The factory firmware has some limitations, therefore the flashing procedure is slightly more complex. - -⚠️ If you have a BWM (Battery Wireless Module), and if it came already plugged, disconnect it. See [here](https://github.com/RfidResearchGroup/Proxmark5_BWM_esp32/blob/master/INSTALL.md) to understand how it's installed. The reason it came connected when delivered to some countries is customs regulations. But hte factory firmware does not support it and this creates issues when flashing, so just remove it. - -* Use the yellow USB-C on the same side as the button. - -* Run `./pm3-flash-fullimage` to update the main image, and occasionally `./pm3-flash-bootrom` if needed. - -If you see "🚨 The elf file is not applicable to the currently connected device.", you probably forgot to add the `PLATFORM=PM5` when compiling. - - -If the device seems unresponsive and unable to enter boot mode when the button is pressed when plugged, you can [reflash the bootrom over DFU](#recovery-flashing-via-dfu). - -If the main image gets seriously buggy and can't jump to boot mode automatically, you can enter boot mode using the button as explained in [the previous section](#new-devices-with-factory-firmware). - +Standalone modes are disabled for now, to ease debugging. ## Specific commands @@ -202,8 +208,3 @@ Do not use them unless you fully understand what you're doing. > 8bit map: 125 134 250 375 500 HFLED LFLED Q (lsb) * `hw qc_pm5`: factory quality check command, will activate the RBG, the buzzer and the antenna LEDs. Press the button to report success. Use `-t/--timeout ` to change how long the test sequence runs before it fails (default 20 seconds). * `hw factorydata`: read/write the factory data (originality signature etc) - - -## Standalone Modes - -Standalone modes are disabled for now, to ease debugging. From 399afc31a2e810b6f963599cdeea91447842fbf6 Mon Sep 17 00:00:00 2001 From: DJ Eric James Date: Mon, 31 Aug 2026 20:40:58 -0400 Subject: [PATCH 11/29] fixes --- .../Getting_Started_With_PM5.md | 36 +++++++++++-------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md index e08fe1440..13b2498be 100644 --- a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md +++ b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md @@ -13,7 +13,7 @@ - [Build Extras](#Build-Extras) - [Standalone Modes](#Standalone-Modes) - [The Danger Zone](#Specific-commands) - +- [Further Readig](#Links-to-Further-Reading) --- @@ -25,7 +25,7 @@ ## Makefile Changes -Your `Makefile.platform` should needs to specify `PM5` as your `PLATFORM` along with any `PLATFORM_EXTRAS` that are appropriate for your configuration. +Your `Makefile.platform` needs to specify `PM5` as your `PLATFORM` along with any `PLATFORM_EXTRAS` that are appropriate for your configuration. Example: ``` @@ -35,7 +35,7 @@ PLATFORM_EXTRAS=BWM ## Build -* Clone/pull the latest master from this repo then +Clone/pull the latest master from this repo then ```make clean make -j @@ -46,7 +46,7 @@ For more options, look [here](#Build-Extras) ## Flashing ### Flashing Considerations -* The same client can handle both Proxmark3 and Proxmark5, no need to compile separate clients if you own both hardwares. +* The same client can handle both Proxmark3 and Proxmark5, no need to compile separate clients if you own both pieces of hardware. * Don't forget to [disable ModemManager](../Installation_Instructions/ModemManager-Must-Be-Discarded.md) * There can be only one proxmark plugged into your PC. Do not plug in both a pm3 and pm5 during flashing. @@ -55,11 +55,11 @@ For more options, look [here](#Build-Extras) * DO NOT use the USB Port on the side. * DO use the USB Port on the same side as the button (Yellow) -* Put your Proxmark5 into *Boot Mode*. Plug in your Proxmark5 while holding the button for about 4 seconds until you see 2 LEDs illuminated (B and D) You are now in *Boot Mode*. -* If you see 2 lights (B & D) go on and then off, you're in *DFU mode*. Unplug, and try the previous step again. +* Put your Proxmark5 into *Boot Mode*. Plug in your Proxmark5 while holding the button for about 4 seconds until you see 2 LEDs (B and D) illuminated. You are now in *Boot Mode*. +* If you see 2 lights (B & D) go on and then OFF, you're in *DFU mode*. Unplug, and try the previous step again. * Run `./pm3-flash-bootrom` * If you see "🚨 The elf file is not applicable to the currently connected device.", you probably forgot to add `PLATFORM=PM5` in your `Makefile.platform` -* If the above hangs or thows and error, try this: [DFU Install](##DFU-Install) +* If the above hangs or thows and error, try this: [DFU Install](#DFU-Install) * Unplug. ## Flash the FullImage @@ -68,15 +68,15 @@ For more options, look [here](#Build-Extras) ### Did you Proxmark5 come with a battery pre-installed? Do this next: -* IF your Proxmark5 came with a battery pre-installed. +* **IF AND ONLY IF** your Proxmark5 came with a battery pre-installed. * [Reinstall the BWM now](https://github.com/RfidResearchGroup/Proxmark5_BWM_esp32/blob/master/INSTALL.md) -* Let it charge for a while (think an hour.) -* Shut the Proxmark5 off and remove the BWM. +* Let it charge for a while (about an hour should do) +* [Shut the Proxmark5 off](##Operation) and remove the BWM. ## Flash the FPGA * If you followed the steps above... -* You don't need to enter manually the boot mode by pressing the button anymore and the flashing experience will be as smooth as on the Proxmark3. +* You don't need to enter manually the boot mode by pressing the button anymore and future flashing will be as smooth as on the Proxmark3. * Get the latest FPGA image, it's not yet in the repo. ``` @@ -123,12 +123,14 @@ hf 14a read --drop ### Prepare for DFU * Install the dfu-util -``` sudo apt-get install dfu-util``` +```sudo apt-get install dfu-util``` +### DFU Mode: +* Press and hold the button while plugging in the Proxmark5 to the USB port on the same side as the button. You will know that you are in DFU Mode when the lights go off. Continue to hold the button down the entire time you are running `dfu-util` commands. ### Option 1: The device hangs while flashing over USB -* Put your Proxmark5 into DFU Mode. [How do to that here](##Flash-the-Bootrom) +* Put your Proxmark5 into [DFU Mode](###DFU-Mode) * Backup the existing firmware ``` sudo dfu-util -d 2e3c:df11 -a 0 -s 0x08000000:1048576 -U pm5-full-flash-backup.bin @@ -153,7 +155,7 @@ sudo dfu-util -d 2e3c:df11 -a 0 -s 0x08004000:leave -D /tmp/pm5-fullimage.bin ### Option 2: The device seems unresponsive and is unable to enter Boot Mode. Recover to factory/known safe firmware. * The Proxmark5 does not require J-Link or similar tools for unbricking. -* Put your Proxmark5 into DFU Mode. [How do to that here](##Flash-the-Bootrom) +* Put your Proxmark5 into [DFU Mode](###DFU-Mode) * Optional: Backup the existing firmware ``` sudo dfu-util -d 2e3c:df11 -a 0 -s 0x08000000:1048576 -U pm5-full-flash-backup.bin @@ -198,7 +200,7 @@ You have several options: Standalone modes are disabled for now, to ease debugging. -## Specific commands +## Specific commands (The Danger Zone) Do not use them unless you fully understand what you're doing. @@ -208,3 +210,7 @@ Do not use them unless you fully understand what you're doing. > 8bit map: 125 134 250 375 500 HFLED LFLED Q (lsb) * `hw qc_pm5`: factory quality check command, will activate the RBG, the buzzer and the antenna LEDs. Press the button to report success. Use `-t/--timeout ` to change how long the test sequence runs before it fails (default 20 seconds). * `hw factorydata`: read/write the factory data (originality signature etc) + + +## Links to Further Reading +- [BWM Usage Document](../BWM-USAGE.md) From 5649bb268d561f498999c5386f9c08c384a94dbf Mon Sep 17 00:00:00 2001 From: DJ Eric James Date: Mon, 31 Aug 2026 23:13:57 -0400 Subject: [PATCH 12/29] fixes --- doc/md/PM5_Start_Here/Getting_Started_With_PM5.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md index 13b2498be..c8a768fe6 100644 --- a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md +++ b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md @@ -101,11 +101,11 @@ hf 14a read --drop ## Do this exactly once. * The very first time for a new battery: -``` hw bwmsetcap --cap 500``` +```hw bwmsetcap --cap 500``` +* Do a full charge/discharge cycle for it to learn the real capacity. ## TODO, learn what this is and how to do it. - and do a full charge/discharge cycle for it to learn the real capacity @@ -116,7 +116,6 @@ hf 14a read --drop * The LEDs will start running. * Releasing the button will power off the Proxmark5. -### Setup the BWM for first use ## DFU Install From 52686ab6d2eec575c15d4931d66bd17bdefaf633 Mon Sep 17 00:00:00 2001 From: DJ Eric James Date: Mon, 31 Aug 2026 23:14:39 -0400 Subject: [PATCH 13/29] fixes --- doc/md/PM5_Start_Here/Getting_Started_With_PM5.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md index c8a768fe6..b4e4b0a6f 100644 --- a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md +++ b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md @@ -13,7 +13,7 @@ - [Build Extras](#Build-Extras) - [Standalone Modes](#Standalone-Modes) - [The Danger Zone](#Specific-commands) -- [Further Readig](#Links-to-Further-Reading) +- [Further Reading](#Links-to-Further-Reading) --- From 6b1257954629759f3de91427c85ad53fbf3337c4 Mon Sep 17 00:00:00 2001 From: DJ Eric James Date: Mon, 31 Aug 2026 23:15:39 -0400 Subject: [PATCH 14/29] fixes --- doc/md/PM5_Start_Here/Getting_Started_With_PM5.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md index b4e4b0a6f..4e6ad8e43 100644 --- a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md +++ b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md @@ -37,7 +37,8 @@ PLATFORM_EXTRAS=BWM Clone/pull the latest master from this repo then -```make clean +``` +make clean make -j ``` From bf230b4db43be4fccfbbe988af6b2713d555fcca Mon Sep 17 00:00:00 2001 From: DJ Eric James Date: Mon, 31 Aug 2026 23:18:00 -0400 Subject: [PATCH 15/29] fixes --- doc/md/PM5_Start_Here/Getting_Started_With_PM5.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md index 4e6ad8e43..bf21ac6ba 100644 --- a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md +++ b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md @@ -47,7 +47,7 @@ For more options, look [here](#Build-Extras) ## Flashing ### Flashing Considerations -* The same client can handle both Proxmark3 and Proxmark5, no need to compile separate clients if you own both pieces of hardware. +* The same client can handle both Proxmark3 and Proxmark5, there is no need to compile separate clients if you own both pieces of hardware. * Don't forget to [disable ModemManager](../Installation_Instructions/ModemManager-Must-Be-Discarded.md) * There can be only one proxmark plugged into your PC. Do not plug in both a pm3 and pm5 during flashing. @@ -122,8 +122,10 @@ hf 14a read --drop ## DFU Install ### Prepare for DFU -* Install the dfu-util -```sudo apt-get install dfu-util``` +* Install dfu-util +``` +sudo apt-get install dfu-util +``` ### DFU Mode: * Press and hold the button while plugging in the Proxmark5 to the USB port on the same side as the button. You will know that you are in DFU Mode when the lights go off. Continue to hold the button down the entire time you are running `dfu-util` commands. From b1de4b52c15acda1d9f0ea6ea727c1b9cffc600a Mon Sep 17 00:00:00 2001 From: DJ Eric James Date: Mon, 31 Aug 2026 23:19:03 -0400 Subject: [PATCH 16/29] fixes --- doc/md/PM5_Start_Here/Getting_Started_With_PM5.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md index bf21ac6ba..5ad349791 100644 --- a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md +++ b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md @@ -72,7 +72,7 @@ For more options, look [here](#Build-Extras) * **IF AND ONLY IF** your Proxmark5 came with a battery pre-installed. * [Reinstall the BWM now](https://github.com/RfidResearchGroup/Proxmark5_BWM_esp32/blob/master/INSTALL.md) * Let it charge for a while (about an hour should do) -* [Shut the Proxmark5 off](##Operation) and remove the BWM. +* [Shut the Proxmark5 off](#Operation) and remove the BWM. ## Flash the FPGA From 7899b560a1eb7d16f16441e99510a77514a1a6d8 Mon Sep 17 00:00:00 2001 From: DJ Eric James Date: Mon, 31 Aug 2026 23:19:59 -0400 Subject: [PATCH 17/29] fixes --- doc/md/PM5_Start_Here/Getting_Started_With_PM5.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md index 5ad349791..369646c4a 100644 --- a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md +++ b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md @@ -106,10 +106,6 @@ hf 14a read --drop * Do a full charge/discharge cycle for it to learn the real capacity. -## TODO, learn what this is and how to do it. - - - ### Operation * Power on: Briefly pressing the button will wake the Proxmark5. * The RGB will turn green. From 50ee709954085ed7b13062e95c44e9a90c63249d Mon Sep 17 00:00:00 2001 From: DJ Eric James Date: Mon, 31 Aug 2026 23:22:52 -0400 Subject: [PATCH 18/29] fixes --- doc/md/PM5_Start_Here/Getting_Started_With_PM5.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md index 369646c4a..ae9ea5a1f 100644 --- a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md +++ b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md @@ -8,7 +8,7 @@ - [Flashing](#Flashing) - [Flash the Bootrom](#Flash-The-Bootrom) - [Flash the Fullimage](#Flash-The-Fullimage) -- [Flash FPGA](#Flash-FPGA) +- [Flash FPGA](#Flash-The-FPGA) - [I Have A BWM Now What?](#I-Have-A-BWM--Now-What-) - [Build Extras](#Build-Extras) - [Standalone Modes](#Standalone-Modes) From 4c454f387b881cbfad389d559c1a68a1fcabe26b Mon Sep 17 00:00:00 2001 From: DJ Eric James Date: Mon, 31 Aug 2026 23:24:06 -0400 Subject: [PATCH 19/29] fixes --- doc/md/PM5_Start_Here/Getting_Started_With_PM5.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md index ae9ea5a1f..61c056de7 100644 --- a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md +++ b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md @@ -96,7 +96,7 @@ hf 14a read --drop ## I Have A BWM, Now What? -### Install +### Install the BWM * You acknowledge that the BWM is not yet fully supported, it's better not to plug it for now. (If you insist... continue.) * [Physically install the BWM and (if applicable) Battery](https://github.com/RfidResearchGroup/Proxmark5_BWM_esp32/blob/master/INSTALL.md) From cdf4a097bce80129b9e08f4c87a67893012da184 Mon Sep 17 00:00:00 2001 From: DJ Eric James Date: Mon, 31 Aug 2026 23:25:03 -0400 Subject: [PATCH 20/29] fixes --- doc/md/PM5_Start_Here/Getting_Started_With_PM5.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md index 61c056de7..06dbb75d0 100644 --- a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md +++ b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md @@ -9,7 +9,7 @@ - [Flash the Bootrom](#Flash-The-Bootrom) - [Flash the Fullimage](#Flash-The-Fullimage) - [Flash FPGA](#Flash-The-FPGA) -- [I Have A BWM Now What?](#I-Have-A-BWM--Now-What-) +- [I Have A BWM Now What?](#I-Have-A-BWM,-Now-What?) - [Build Extras](#Build-Extras) - [Standalone Modes](#Standalone-Modes) - [The Danger Zone](#Specific-commands) From 27dcb6a63c41eb3922a64434f5ef5a2b26c25308 Mon Sep 17 00:00:00 2001 From: DJ Eric James Date: Mon, 31 Aug 2026 23:25:55 -0400 Subject: [PATCH 21/29] fixes --- doc/md/PM5_Start_Here/Getting_Started_With_PM5.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md index 06dbb75d0..0396e8137 100644 --- a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md +++ b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md @@ -9,7 +9,7 @@ - [Flash the Bootrom](#Flash-The-Bootrom) - [Flash the Fullimage](#Flash-The-Fullimage) - [Flash FPGA](#Flash-The-FPGA) -- [I Have A BWM Now What?](#I-Have-A-BWM,-Now-What?) +- [I Have A BWM Now What?](#I-Have-A-BWM,-Now-What-) - [Build Extras](#Build-Extras) - [Standalone Modes](#Standalone-Modes) - [The Danger Zone](#Specific-commands) From ab4ec63efdf2bbfac045927f9c11aa27b0cb5584 Mon Sep 17 00:00:00 2001 From: DJ Eric James Date: Mon, 31 Aug 2026 23:29:08 -0400 Subject: [PATCH 22/29] fixes --- doc/md/PM5_Start_Here/Getting_Started_With_PM5.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md index 0396e8137..e61479973 100644 --- a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md +++ b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md @@ -9,7 +9,7 @@ - [Flash the Bootrom](#Flash-The-Bootrom) - [Flash the Fullimage](#Flash-The-Fullimage) - [Flash FPGA](#Flash-The-FPGA) -- [I Have A BWM Now What?](#I-Have-A-BWM,-Now-What-) +- [I Have A BWM Now What?](#I-Have-A-BWM-Now-What?) - [Build Extras](#Build-Extras) - [Standalone Modes](#Standalone-Modes) - [The Danger Zone](#Specific-commands) @@ -94,7 +94,7 @@ hw fpga config -f PM5_FPGA_fix_loedge_bug.bin hf 14a read --drop ``` -## I Have A BWM, Now What? +## I Have A BWM Now What? ### Install the BWM * You acknowledge that the BWM is not yet fully supported, it's better not to plug it for now. (If you insist... continue.) From c7915c5b833485c7968b413cb6f21dd49c1451e5 Mon Sep 17 00:00:00 2001 From: DJ Eric James Date: Mon, 31 Aug 2026 23:30:54 -0400 Subject: [PATCH 23/29] fixes --- doc/md/PM5_Start_Here/Getting_Started_With_PM5.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md index e61479973..248ff92db 100644 --- a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md +++ b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md @@ -9,7 +9,7 @@ - [Flash the Bootrom](#Flash-The-Bootrom) - [Flash the Fullimage](#Flash-The-Fullimage) - [Flash FPGA](#Flash-The-FPGA) -- [I Have A BWM Now What?](#I-Have-A-BWM-Now-What?) +- [I Have A BWM Now What?](#I-Have-A-BWM-Now-What) - [Build Extras](#Build-Extras) - [Standalone Modes](#Standalone-Modes) - [The Danger Zone](#Specific-commands) @@ -94,7 +94,7 @@ hw fpga config -f PM5_FPGA_fix_loedge_bug.bin hf 14a read --drop ``` -## I Have A BWM Now What? +## I Have A BWM Now What ### Install the BWM * You acknowledge that the BWM is not yet fully supported, it's better not to plug it for now. (If you insist... continue.) From c5a67dad5f0c74d5780bca3089ae6fc0a2b48ce5 Mon Sep 17 00:00:00 2001 From: DJ Eric James Date: Mon, 31 Aug 2026 23:32:59 -0400 Subject: [PATCH 24/29] fixes --- doc/md/PM5_Start_Here/Getting_Started_With_PM5.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md index 248ff92db..d27a166fe 100644 --- a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md +++ b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md @@ -123,12 +123,12 @@ hf 14a read --drop sudo apt-get install dfu-util ``` -### DFU Mode: +### DFU Mode * Press and hold the button while plugging in the Proxmark5 to the USB port on the same side as the button. You will know that you are in DFU Mode when the lights go off. Continue to hold the button down the entire time you are running `dfu-util` commands. ### Option 1: The device hangs while flashing over USB -* Put your Proxmark5 into [DFU Mode](###DFU-Mode) +* Put your Proxmark5 into [DFU Mode](##DFU-Mode) * Backup the existing firmware ``` sudo dfu-util -d 2e3c:df11 -a 0 -s 0x08000000:1048576 -U pm5-full-flash-backup.bin @@ -153,7 +153,7 @@ sudo dfu-util -d 2e3c:df11 -a 0 -s 0x08004000:leave -D /tmp/pm5-fullimage.bin ### Option 2: The device seems unresponsive and is unable to enter Boot Mode. Recover to factory/known safe firmware. * The Proxmark5 does not require J-Link or similar tools for unbricking. -* Put your Proxmark5 into [DFU Mode](###DFU-Mode) +* Put your Proxmark5 into [DFU Mode](##DFU-Mode) * Optional: Backup the existing firmware ``` sudo dfu-util -d 2e3c:df11 -a 0 -s 0x08000000:1048576 -U pm5-full-flash-backup.bin From 7510e4faa5c87ce5c0e2e58eb371a642637d8c1b Mon Sep 17 00:00:00 2001 From: DJ Eric James Date: Mon, 31 Aug 2026 23:35:52 -0400 Subject: [PATCH 25/29] fixes --- doc/md/PM5_Start_Here/Getting_Started_With_PM5.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md index d27a166fe..53fc5dbac 100644 --- a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md +++ b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md @@ -10,6 +10,7 @@ - [Flash the Fullimage](#Flash-The-Fullimage) - [Flash FPGA](#Flash-The-FPGA) - [I Have A BWM Now What?](#I-Have-A-BWM-Now-What) +- [DFU Install](#DFU-Install) - [Build Extras](#Build-Extras) - [Standalone Modes](#Standalone-Modes) - [The Danger Zone](#Specific-commands) @@ -114,7 +115,6 @@ hf 14a read --drop * Releasing the button will power off the Proxmark5. - ## DFU Install ### Prepare for DFU From bfb7307216d9a030777716a4b1c98474030be2ee Mon Sep 17 00:00:00 2001 From: DJ Eric James Date: Mon, 31 Aug 2026 23:37:13 -0400 Subject: [PATCH 26/29] fixes --- doc/md/PM5_Start_Here/Getting_Started_With_PM5.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md index 53fc5dbac..e18058f08 100644 --- a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md +++ b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md @@ -128,7 +128,7 @@ sudo apt-get install dfu-util ### Option 1: The device hangs while flashing over USB -* Put your Proxmark5 into [DFU Mode](##DFU-Mode) +* Put your Proxmark5 into [DFU Mode](#DFU-Mode) * Backup the existing firmware ``` sudo dfu-util -d 2e3c:df11 -a 0 -s 0x08000000:1048576 -U pm5-full-flash-backup.bin @@ -148,12 +148,12 @@ sudo dfu-util -d 2e3c:df11 -a 0 -s 0x08000000 -D /tmp/pm5-bootrom.bin sudo dfu-util -d 2e3c:df11 -a 0 -s 0x08004000:leave -D /tmp/pm5-fullimage.bin ``` * Unplug -* [Go back where you were in the process and continue from there.](##Flash-the-Bootrom) +* [Go back where you were in the process and continue from there.](#Flash-the-Bootrom) ### Option 2: The device seems unresponsive and is unable to enter Boot Mode. Recover to factory/known safe firmware. * The Proxmark5 does not require J-Link or similar tools for unbricking. -* Put your Proxmark5 into [DFU Mode](##DFU-Mode) +* Put your Proxmark5 into [DFU Mode](#DFU-Mode) * Optional: Backup the existing firmware ``` sudo dfu-util -d 2e3c:df11 -a 0 -s 0x08000000:1048576 -U pm5-full-flash-backup.bin From 1b4ac29a1e43219be9fe39fa76f21633ffbb4dd9 Mon Sep 17 00:00:00 2001 From: DJ Eric James Date: Mon, 31 Aug 2026 23:40:24 -0400 Subject: [PATCH 27/29] move files a bit. --- .../Proxmark5-Instructions.md | 124 ------------------ doc/md/{ => PM5_Start_Here}/BWM-USAGE.md | 0 2 files changed, 124 deletions(-) delete mode 100644 doc/md/Installation_Instructions/Proxmark5-Instructions.md rename doc/md/{ => PM5_Start_Here}/BWM-USAGE.md (100%) diff --git a/doc/md/Installation_Instructions/Proxmark5-Instructions.md b/doc/md/Installation_Instructions/Proxmark5-Instructions.md deleted file mode 100644 index 57e430b8f..000000000 --- a/doc/md/Installation_Instructions/Proxmark5-Instructions.md +++ /dev/null @@ -1,124 +0,0 @@ -# Proxmark5 specificities - -## Compiling instructions - -The Proxmark5 platform must be specified when compiling the firmware. -You have several options: -* Update your `Makefile.platform` with `PLATFORM=PM5` then `make -j` -* Specify it on-the-fly with `make -j PLATFORM=PM5` -* If you have both Proxmark3 and Proxmark5, you can maintain a separate file like `Makefile.pm5.platform` and specify it when compiling, with `make -j PLATFORM_FILE=Makefile.pm5.platform`. -* ⚠️ Make sure to not have any conflicting `PLATFORM_EXTRAS` such as `BTADDON` or `FPC_USART_DEV` which are specific to the RDV4. - - -💡 The same client can handle both Proxmark3 and Proxmark5, no need to compile separate clients if you own both hardwares. - -## Flashing instructions - -⚠️ As usual, make sure [ModemManager won't interfere](ModemManager-Must-Be-Discarded.md). - -⚠️ Make sure no other Proxmark (3 or 5) is plugged into your PC. - -### New devices with factory firmware - -The factory firmware has some limitations, therefore the flashing procedure is slightly more complex. - -⚠️ If you have a BWM (Battery Wireless Module), and if it came already plugged, disconnect it. See [here](https://github.com/RfidResearchGroup/Proxmark5_BWM_esp32/blob/master/INSTALL.md) to understand how it's installed. The reason it came connected when delivered to some countries is customs regulations. But hte factory firmware does not support it and this creates issues when flashing, so just remove it. - -Use the yellow USB-C on the same side as the button. - -You'll first need to update the bootrom with the latest code available on the repository. -The bootrom in your device is not yet able to enter automatically the boot mode properly, so you will have to enter boot mode manually as follows, a procedure slightly different from the Proxmark3. - -* Plug in your Proxmark5 while holding the button for about 4 seconds until you see 2 LEDs illuminated (B and D). Don't wait too long. If the LEDs are now off again, you entered DFU mode. Unplug and try again. - -* Run `./pm3-flash-bootrom` -* Unplug. -* Plug in your Proxmark5 while holding the button for about 4 seconds until you see 2 LEDs illuminated (B and D). -* Run `./pm3-flash-fullimage` - -⚠️ In case your battery came pre-installed, we recommend to plug it back, connect the client, run `hw status` and check the charge level (line `Battery SoC`). If very low, let it charge for a while. Then shut the Proxmark5 off and remove the BWM. - -Next, follow [FPGA flashing instuctions](#fpga-flashing-instructions). - -### Devices with a firmware > 2026-08-20 - -With the new bootrom, you don't need to enter manually the boot mode by pressing the button anymore and the flashing experience will be as smooth as on the Proxmark3. - -* Use the yellow USB-C on the same side as the button. - -* Run `./pm3-flash-fullimage` to update the main image, and occasionally `./pm3-flash-bootrom` if needed. - -If you see "🚨 The elf file is not applicable to the currently connected device.", you probably forgot to add the `PLATFORM=PM5` when compiling. - -If the main image gets seriously buggy and can't jump to boot mode automatically, you can enter boot mode using the button as explained in [the previous section](#new-devices-with-factory-firmware). - -If the device seems unresponsive and unable to enter boot mode when the button is pressed when plugged, you can [reflash the bootrom over DFU](#recovery-flashing-via-dfu). - -## FPGA flashing instructions - -The FPGA code for the Proxmark5 has not yet been pushed to the repository. To flash the FGPA with the latest image: - -``` -wget https://github.com/user-attachments/files/31105593/PM5_FPGA_fix_loedge_bug.zip -unzip PM5_FPGA_fix_loedge_bug.zip -./pm3 -hw fpga config -f PM5_FPGA_fix_loedge_bug.bin -hf 14a read --drop -``` - -## Specific commands - -Do not use them unless you fully understand what you're doing. - -* `hw fpga config`: to upload the FPGA firmware -* `hw fpga pwrpwm`: to adjust the antenna's drive voltage TODO: acceptable ranges? -* `hw ant_pm5 -m --set <8bit data>` command can be used to modify the frequency and Q value. Note: High Q is only allowed at 125kHz/134kHz to prevent excessive resonant voltage from damaging the device. - > 8bit map: 125 134 250 375 500 HFLED LFLED Q (lsb) -* `hw qc_pm5`: factory quality check command, will activate the RBG, the buzzer and the antenna LEDs. Press the button to report success. Use `-t/--timeout ` to change how long the test sequence runs before it fails (default 20 seconds). -* `hw factorydata`: read/write the factory data (originality signature etc) - -## Standalone Modes - -Standalone modes are disabled for now, to ease debugging. - -## BWM aka Battery Wireless Module - -⚠️ the BWM is not yet fully supported, it's better not to plug it for now. - -* [Installation instructions](https://github.com/RfidResearchGroup/Proxmark5_BWM_esp32/blob/master/INSTALL.md) -* The very first time, run ` hw bwmsetcap --cap 500` and do a full charge/discharge cycle for it to learn the real capacity -* Pressing briefly the button will wake the device. The RGB will turn green -* When the device is powered on, pressing and holding the button for a few seconds will start displaying a running light, and then releasing the button will power off the device - -## Recovery flashing via DFU - -If the device seems unresponsive and unable to enter boot mode when the button is pressed when plugged, you can reflash the bootrom over DFU. The Proxmark5 does not require J-Link or similar tools for unbricking. - -```sudo apt install dfu-util``` - -Enter DFU mode: Plug in your Proxmark5 while holding the button for about 8 seconds until you see 2 LEDs (B and D) going on then off. - -Backup current flash content, if needed: - -```sudo dfu-util -d 2e3c:df11 -a 0 -s 0x08000000:1048576 -U pm5-full-flash-backup.bin``` - -Flash bootrom: - -```sudo dfu-util -d 2e3c:df11 -a 0 -s 0x08000000 -D recovery/bootrom.bin``` - -Flash fullimage: - -```sudo dfu-util -d 2e3c:df11 -a 0 -s 0x08004000:leave -D recovery/fullimage.bin``` - -You can also flash bootrom and fullimage in one go: - -```sudo dfu-util -d 2e3c:df11 -a 0 -s 0x08000000:leave -D recovery/recovery.bin``` - - -On Windows, you can try the following: -- Download and extract the [AT32 ISP Programmer](https://www.arterychip.com/file/download/1764) -- Install the USB driver present in `Artery_DFU_DriverInstall/` -- Enter DFU mode as explained above -- Open the `Artery ISP Programmer` , select `HEX` file to flash, and use the bootrom & fullimage is required. -- When flash done, disconnect usb and reconnect for restart device to exit ISP mode. -- Open the proxmark client to try to connect to verify your device is re-working. diff --git a/doc/md/BWM-USAGE.md b/doc/md/PM5_Start_Here/BWM-USAGE.md similarity index 100% rename from doc/md/BWM-USAGE.md rename to doc/md/PM5_Start_Here/BWM-USAGE.md From aa189ca70ce484726e2c3fef3a396858593daff4 Mon Sep 17 00:00:00 2001 From: DJ Eric James Date: Mon, 31 Aug 2026 23:40:48 -0400 Subject: [PATCH 28/29] move files a bit. --- doc/md/PM5_Start_Here/Getting_Started_With_PM5.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md index e18058f08..dbf0edfa5 100644 --- a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md +++ b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md @@ -211,4 +211,4 @@ Do not use them unless you fully understand what you're doing. ## Links to Further Reading -- [BWM Usage Document](../BWM-USAGE.md) +- [BWM Usage Document](./BWM-USAGE.md) From bc7f0716a1d186bc41851b42743fee320b7a6b52 Mon Sep 17 00:00:00 2001 From: DJ Eric James Date: Mon, 31 Aug 2026 23:42:38 -0400 Subject: [PATCH 29/29] fixes --- doc/md/PM5_Start_Here/Getting_Started_With_PM5.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md index dbf0edfa5..4eabef6cf 100644 --- a/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md +++ b/doc/md/PM5_Start_Here/Getting_Started_With_PM5.md @@ -198,7 +198,7 @@ You have several options: Standalone modes are disabled for now, to ease debugging. -## Specific commands (The Danger Zone) +## Specific commands Do not use them unless you fully understand what you're doing.