Pwnagotchi-Flipper interface
This program will interface the pwnagotchi with the flipper. This will be accomplished using custom code on the pwnagotchi's end to give the flipper simple rendering instructions over UART.
Layout
This project is broken down into two parts: flipagotchi and pwnzero
pwnagotchi-flipper
|--> flipagotchi/
|--> pwnzero/
- flipagotchi is the Flipper-side application
- pwnzero is the pwnagotchi-side application
Current state
FUNCTIONALITY IS CURRENTLY IN DEVELOPMENT: IT IS INCOMPLETE! As of commit 7e9a9dc (1/21/23) The non-pixel-by-pixel version of the Flipper app now can receive and properly process all protocol v2 commands. The plugin was built and it "works" at a basic level. There are many bugs that need to be fixed sometime in the future. Attached is a GIF of the app in action!
Setup
Flipagotchi Setup (Flipper side)
This procedure explains the setup of the Flipagotchi app on the Flipper Zero. This will involve the manual compile as the firmware is constantly being updated and releasing a FAP for each firmware change is currently not feasible.
- Connect your Flipper to your computer
- Clone the Flipper Zero firmware onto your machine
- Place the
flipagotchi/
directory into theapplications_user/
- Open a terminal and navigate to the root of the firmware
- Execute the following command to compile the app and launch it on the Flipper:
./fbt launch_app APPSRC=applications_user/flipagotchi
- This will now compile and load the app onto your Flipper
PwnZero Setup (Pwnagotchi side)
This procedure will explain how to configure the Pwnagotchi to use the PwnZero plugin to communicate with the Flipper. Note: You may need to change the pyserial file name based on whichever version pip downloaded for you.
- On your host machine run
pip3 download pyserial
, this should download a.whl
file. - Also on the host, run
scp pyserial-3.5-py2.py3-none-any.whl [email protected]:/home/pi
to transfer the.whl
file to the pwnagotchi - Now on the pwnagotchi install the module as root with
sudo pip3 install /home/pi/pyserial-3.5-py2.py3-none-any.whl
- Disable Bluetooth on the Pi by adding
dtoverlay=disable-bt
at the bottom of the/boot/config.txt
file
-- This needs to be disabled so that the full UART is directed to/dev/serial0
- Place the PwnZero.py file somewhere on the Pi in either its own folder or a folder with other plugins
- Edit
/etc/pwnagotchi/config.toml
file and setmain.custom_plugins = "/path/to/plugin/folder"
- Follow hardware setup shown in the doc/HardwareSetup.md to connect the devices
- Restart the Pwnagotchi and open the Flipagotchi app on the Flipper Zero
Development stages
Stage 1: Simple display rendering
- Stage 1 will focus on getting the Pwnagotchi display to render on the Flipper's display
Stage 2: App interaction
- Stage 2 will allow the user to interact and control the pwnagotchi using the Flipper's interface
Contributing
If you would like to contribute, you may make a pull request. It will be helpful if you first open an issue describing the change that you are interested in contributing.
License
Disclaimer
This program is meant for educational purposes ONLY. I disclaim any and all responsibility for the usage of this program by external parties (not me).