Skip to content

hannadiamond/pwnagotchi-plugins

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pwnagotchi-plugins

Custom Plugin Setup

If you have not set up a directory for custom plugins, create the directory and add its path to your config.toml. main.custom_plugins = "/usr/local/share/pwnagotchi/custom-plugins/"

Age Plugin

A plugin that adds age and int stats based on the the time training and the number of epochs trained. Whenever your pwnagotchi has lived through another 100 epochs or epochs trained, a new status will appear! Age

Setup

  1. Copy over age.py into your custom plugins directory
  2. In your config.toml file add:
main.plugins.age.enabled = true
main.plugins.age.age_x_coord = 0
main.plugins.age.age_y_coord = 32
main.plugins.age.int_x_coord = 67
main.plugins.age.int_y_coord = 32
  1. Restart your device to see your new stats!

UPS HAT (C) Plugin

A plugin that will add a battery capacity and charging indicator for the Waveshare UPS HAT (C) UPS Hat C

Requirements

  • "i2c" in raspi-config enabled
  • smbus installed sudo apt-get install -y python-smbus

Setup

  1. Copy over ups_hat_c.py into your custom plugins directory
  2. In your config.toml file, add:
main.plugins.ups_hat_c.enabled = true
main.plugins.ups_hat_c.label_on = true  # show BAT label or just percentage
main.plugins.ups_hat_c.shutdown = 5  # battery percent at which the device will turn off
main.plugins.ups_hat_c.bat_x_coord = 140
main.plugins.ups_hat_c.bat_y_coord = 0
  1. Restart your device to see your new indicator!

Waveshare 3.7 Inch Display

Setup

  1. Copy waveshare3in7.py into /usr/local/lib/python3.11/dist-packages/pwnagotchi/ui/hw
  2. In the config.toml set ui.display.type = "waveshare3in7"
  3. In /usr/local/lib/python3.11/dist-packages/pwnagotchi/ui/components.py in the class LabeledValue, replace def draw with
    def draw(self, canvas, drawer):
        if self.label is None:
            drawer.text(self.xy, self.value, font=self.label_font, fill=self.color)
        else:
            pos = self.xy
            drawer.text(pos, self.label, font=self.label_font, fill=self.color)
            drawer.text((pos[0] + self.label_spacing + self.label_font.getsize(self.label)[0], pos[1]), self.value, font=self.text_font, fill=self.color)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages