PWNagotchi War Driver: Physical Build
- Cody
- Nov 17, 2024
- 7 min read

Hey folks! Today I’m working on a build I’ve been wanting to do for a while. Why? Well it is is simply a neat device which will help me understand WiFi and other wireless signals. I have also always been more of a hands on, mechanical type of person. For example, performing maintenance on cars, welding, woodworking, home repair, you name it. Soldering has been a staple task when I work on electronics on motorcycles, cars, and boats as a soldered connection, if done properly, should outlast crimped connections. So we’ll see if I can build something with my hands to teach me more about WiFi and likely lead to more research which will create more blog posts.
Parts
First, I gathered up the components. For the most part, everything is pretty standard. Battery, Raspberry Pi Zero 2W, Waveshare screen, micro USB, and headers. Mine is going to be slightly modified because I wanted range that the Pi Zero likely couldn’t help me with. So I have to add a connection on the board for an antenna. This will also enable me to work with 5 GHz signals and 2.4 GHz instead of just 2.4 GHz. Another cool feature about this design is the ability to remove the antenna or even use different sizes of antenna. However, antenna mounting will be a consideration when this all comes together.
Raspberry Pi Zero 2 WH (H indicates with headers)
PiSugar S battery pack (choose PiSugar 2 or 3 if want battery percentage screen logging)
Waveshare 2.13 inch E-Paper V4 screen
Micro USB to USB data cable
U.FL connector (for external antenna connection)
Antenna with cable (I used an 8 dBi 2.4 & 5 GHz dual band antenna)
Micro SD card (I used 128 GB SanDisk which is likely overkill)
Pi Zero headers if using a Pi Zero board without headers
Connecting to the PWNagotchi
Micro USB to USB A data cable (to connect to computer)
USB C to USB A cable (to charge PiSugar battery pack)
HDMI to Mini HDMI adapter (to view PWNagotchi activity (useful for troubleshooting))
USB A female to micro USB male (if you want to connect to the PWNagotchi without having to use SSH from another computer)
Important Tech Considerations
This knowledge I learned through troubleshooting the install and I feel it is important to help others who might be trying to build the PWNagotchi. The original creator stopped updating the PWNagotchi code and then others carried on with its legacy with their GitHub repositories. Two that are recommended are Jayofelony’s (which I ended up using) and Aluminium-Ice's image. When trying to use Jayofelony’s PWNagotchi variation, it didn’t work on the Raspberry Pi Zero W, whereas it did work with the Aluminium-Ice image. However, Aluminium-Ice no longer recommends using the Pi Zero W. After much research, eventually I found where someone mentioned the ARM version number which corresponds to a Linux kernel number and compared Jayofelony’s PWNagotchi which uses kernel_8 to the Raspberry Pi Zero W which uses ARM version 7. If you want to use the Pi Zero W, you must use a PWNagotchi image that uses kernel_7. Instead of the original Pi Zero W, use the Pi Zero 2 W. It is faster and will work with Jayofelony’s PWNagotchi variation which has a lot of setup support and is very user friendly. This is something that is not made very clear in build videos and other sources.
For mobile powering, if you plan to use a PiSugar battery on your PWNagotchi, your ability to view the battery percentage on the screen depends on the specific PiSugar you choose. In my case, I used the PiSugar S and learned I was not able to have the battery percentage functionality (which is okay). The PiSugar 2 and 3 do have that functionality if that is important to you.

Tools
Thankfully I already have soldering irons and whatever else I might need to complete this. However, soldering electronics such as this is new territory for me. That makes it both exciting and terrifying because it’s exciting to learn, but you also don’t want to screw anything up. First thing we have to do is provide a place for the battery and screen to connect to and that is soldering on the headers.
Soldering iron
Solder wire
Solder paste (Sn42/Bi58)
Heat gun
Hot plate
Phillips head screw driver
Tweezers
Headers

Everyone says you should practice first before you attempt the final solder attempt. I agree with them. However, I was stubborn and did not listen.
What I learned: soldering the headers was a fine balance between applying heat and adding some solder to connect and secure the headers to the Raspberry Pi Zero W…and doing that in such a way that you don’t melt the plastic that holds the headers in place. Hopefully it works! (it didn't (face palm)) Pro tip: remove the leftover flux from the soldering using a toothbrush and isopropyl alcohol to prevent corrosion and potential failure. To finish everything, I ensured there was no bridged connections between the pins due to solder stretching from one pin to another. I also straightened any header pins as best as I could so that the screen will fit correctly.
As you may have noticed, this is a Pi Zero W. Ultimately, I changed to the Pi Zero 2 W for the finished product. An important note when it comes to the battery connection, if you plan to use the PiSugar and you are soldering the headers yourself, be sure to ensure that the points of the header pins are clean and not bulky due to solder because that is how the PiSugar connects to the board. I recommend just going with a presoldered board with headers. I’m not against soldering but I think that everything is so tiny that it is really easy to short out connections on the board and practice is a great help. I'm pretty sure that I shorted out some connections on the board which is fine because this is a learning experience.
Antenna

Next we need to add an IPEX U.FL coaxial cable connector which is where the antenna will connect. To do this, I will cut the connection to the stock Pi Zero W antenna, and then solder the IPEX U.FL connector onto the three pads that are set up for such a purpose.

Attempt 1: Soldering is going to look different this time. Because the components are extremely small, we will use a hot plate to heat the Pi Zero to 100 degrees Celsius. Then I added some flux and some Sn42 Bi58 solder paste and heated the spot up with a heat gun. Then I guided the U.FL coaxial fitting into place using tweezers and prayers.

Next I installed the antenna cable onto the mount after letting everything cool off. Upon connecting the board to my computer, it didn’t respond and simply got really hot. So I went back to the drawing board.
Attempt 2: Using the Raspberry Pi Zero 2 W, I considered building the PWNagotchi and only using the stock Pi Zero antenna. But ultimately I said “screw it” and decided it is a great learning opportunity. After re-watching electronics soldering videos, I realized I had the soldering method wrong. So I heated the board up on the hot plate as before, and added the solder paste only to the three pads. Then I heated that area up with the heat gun until the solder looked silver and metallic, and the placed the coaxial connector in its correct position, cleanly and quickly securing it into position. You may have noticed that the Pi Zero 2 W's coaxial location is in a much better position. This makes it easier to prevent getting solder on tiny components that could make the board no longer work. The Pi Zero 2 W is much more DIY user friendly in my opinion.

Afterwards, I had to bridge the antenna trace to the coaxial pad which is not connected from the factory. That was achieved by carefully heating and moving solder until a bridge was made from one pad to the other.

Then I removed a section of the stock antenna trace on the board and finally, I attached the antenna to the soldered mount. There are several great resources for how to do all of this.
Caleb Begly Fun and Tech ("Add External Antenna to Pi Zero 2 W [Comparison, Tutorial, and Benchmarks]")
Brian Dorey ("Raspberry Pi Zero 2 W U.FL Connector Antenna Mod")
PWNagotchi Website Modifications
Battery Pack

Next I added the battery pack. The PiSugar battery pack comes with screws to secure it to the Pi Zero board. In order for it to achieve connection to the Pi Zero, its’ pins must make contact with the Pi Zero’s header pins on the bottom side (the soldered side). In my case, the pins did not have much that was protruding and I had to loosen the screws slightly to readjust until I made contact with the Pi Zero and then carefully fasten them together.
Screen
This part is the most straight forward. I used the Waveshare V4 which is a 2.13” screen that matches the Pi Zero’s size, just like the PiSugar battery pack. Which version you use isn’t that important; except that you remember to update the configuration file in the software phase with the specific screen version. I simply lined the Pi Zero’s header pins with the corresponding holes on the Waveshare screen and carefully pushed it into place.

Case

I considered designing my own case, but with the amount of ports and the SD card slot, I decided to not reinvent the wheel. There are many designs freely available and I decided to take one of those and lightly modify it to fit my needs using Autodesk Fusion 360 CAD software. The only modification I plan on making is a hole to mount the coaxial connector and to possibly thicken that wall to increase strength. This will enable a solid point for the antenna to mount to. When I receive the case, I will update this post.
Resources
Talking Sasquach ("ANYONE Can Build A PWNagotchi! PWNing WiFi Has Never Been Easier!)
homelabD ("Building The Pwnagotchi... UNSCRIPTED (FULL BUILD)")
kipkay ("How to Solder on Circuit Boards!")
Thanks for reading! Stay tuned for the programming blog post!
Comments