Giter VIP home page Giter VIP logo

pwnagotchi-flipper's Introduction

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.

Flipper screen showing base Pwnagotchi display

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.

  1. Connect your Flipper to your computer
  2. Clone the Flipper Zero firmware onto your machine
  3. Place the flipagotchi/ directory into the applications_user/
  4. Open a terminal and navigate to the root of the firmware
  5. Execute the following command to compile the app and launch it on the Flipper:
    ./fbt launch_app APPSRC=applications_user/flipagotchi
  6. 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.

  1. On your host machine run pip3 download pyserial, this should download a .whl file.
  2. 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
  3. Now on the pwnagotchi install the module as root with sudo pip3 install /home/pi/pyserial-3.5-py2.py3-none-any.whl
  4. 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
  5. Place the PwnZero.py file somewhere on the Pi in either its own folder or a folder with other plugins
  6. Edit /etc/pwnagotchi/config.toml file and set main.custom_plugins = "/path/to/plugin/folder"
  7. Follow hardware setup shown in the doc/HardwareSetup.md to connect the devices
  8. Restart the Pwnagotchi and open the Flipagotchi app on the Flipper Zero

Setup note

Chrismettal has designed a "backpack" for the Flipper Zero which is a board that allows you to cleanly attach various devices to the Flipper. They have crated one for the Raspberry Pi Zero W which would be a great way to keep your Flipagotchi tidy! Here is a link to their project.

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

MIT

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).

pwnagotchi-flipper's People

Contributors

matt-london avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.