Because WPA is insecure, yet it’s everywhere. Why not build an AI that lives off of them?
Check out WiFi Handshakes 101.
Yes, but does your hardware? Pwnagotchi can’t pwn what it can’t see.
In AUTO mode, Pwnagotchi will only attempt to deauthenticate a device ____ times max.
In AI mode, the AI determines the maximum number of deauthentication attempts.
Check out the Introduction and the Training the AI docs.
Pwnagotchi’s primary functionality is built on top of bettercap. Also, you can access bettercap’s web UI whenever Pwnagotchi isn’t already using bettercap to pwn.
It’ll still be (almost) fully functional; the only difference between AUTO and AI modes is that when your Pwnagotchi is in AI mode, the AI is tuning the pwnage algorithm according to its reward function, instead of blindly following the basic algorithm for channel hopping, sniffing packets, sending deauthentication and association attacks, and capturing handshakes.
VERY easy! Check out the Plugins section. :D
Check out the Required Hardware (and the recommendations below).
Yes, absolutely! Pwnagotchi’s web UI is what you seek.
For the recommended hardware, the WaveShare v2 2.13inch E-Ink display HAT, be sure your Pi has male pins attached, then place the hat on top of the board’s pins and gently push the screen down onto the pins. The Pwnagotchi image will have all the files and configurations ready when you first boot the device.
Most users are 3D printing theirs, but be sure to check out the Cases doc for more ideas.
Because they don’t drain the battery and they’re readable in direct sunlight. 🙃
Check out Connect to your Pwnagotchi.
Check out Name your new Pwnagotchi.
The faces can be customized by overriding the
ui.faces section in your
Yes! You have to install the font on the system and adjust the
ui.font.name parameter in your configuration.
This will only affect the status field of your pwnagotchi, because the position of all the UI elements are
calculated based on DejaVuSansMono.
Yes! To change what language Pwnagotchi displays it’s status in, you can change
main.lang to one of the supported languages:
If you want to contribute a new language (or improve an existing translation!), you can check out the Adding a Language doc for more details.
Submit an issue on the Git page. Make sure to select a Feature Request, then fill in all the information for us to look at and we can see what we can do!
Check out Community Hacks
Check out Anatomy of a Pwnagotchi Face
/etc/pwnagotchi/config.toml, add the following with a list of your networks. It will accept BSSID’s and SSID’s as input.
main.whitelist = [ "EXAMPLE_NETWORK", "ANOTHER_EXAMPLE_NETWORK", "fo:od:ba:be:fo:od", "fo:od:ba" ]
If your access points still get’s deauthed, try using the BSSID instead.
Your access points handshakes get still captured. This only prevents the deauth of the clients.
If connected to the USB data port of your computer (or a tablet, phone, etc), your Pwnagotchi will start in MANUAL mode.
This means it will read the log of the last session and report a few statistics on the screen. This is the mode you should be using your unit when you want to transfer data from/to it. Moreover, in MANU mode, you’ll be able to access bettercap’s web UI from your computer by pointing your browser to
You can "force" the unit to always go in AUTO mode regardless of which USB port you're using by creating the
This is the default mode your unit will start if only connected to the USB power port, for instance when connected to a powerbank without any host computer on the data port.
In AUTO mode, your unit will start operating, perform attacks and sniffing handshakes only by using the default
personality configuration parameters.
During the startup very big libraries will be loaded into memory. This takes some time, especially at the first boot, because your pwnagotchi will also do a lot other stuff, too.
AI is loading, your pwnagotchi will be in
AUTO-mode. This is basically the brainless
version of your pwnagotchi (zombie). The environment/results does not influence the next action of your
There will be a little
AI in the lower right corner of the screen.
They are kept inside of
/root/handshakes/ on your Pwnagotchi.
Basic informations like name, signal strength, number of pwned networks and current channel
will be exchanged. The
current channel of the other pwnagotchi will have an influence on
your own pwnagotchi. Therefore, having more pwnagotchis around will make them work together and
pwn even more networks.
Please have a look at the introduction section.
If the AI is running, he feeds himself ;)
Take him for a walk! He needs new enviroments in order to meet new friends, just like you!
Currently, the recommended update procedure is to Backup your Pwnagotchi, then flash the new release image, then manually move the files back to the respected directories. The .zip file that the backup script creates will unzip the files in the proper directory structure for easy manual replacement.
Check out Backup your Pwnagotchi.
Since the RPi0W doesn’t feature any buttons, there are only two ways to gracefully shut down your unit (if you don’t want to just yank the cord out): SSH into the unit or use the
Shutdown button on the web UI.
An important note about legal: Only do what you are legally allowed to do or have permission for. Each state and country has their own laws pertaining to the unauthorized access and collection of data, so be sure to check if your use case is within your countries regulations.
Since the rpi0w doesn’t have a hardware clock, uptimes and timing in general can get very weird. We are currently looking into a fix to generate more reliable timestamps.
Make sure you are using a good quality SD card. Lower quality cards do not like the constant read/write that happens in a normal OS filesystem. SD cards made for 4k Video recording and photography are generally the best for this sort of use case.