Useful Pi Programs

Thought id make a topic discussing useful Pi tools/ programs.

I came across 2 really useful ones recently.

Pi-Shrink
-> https://github.com/Drewsif/PiShrink

Being able to make a copy of your Pi incase you want to reload it is pretty useful. This issue is that if you use " win32 disk imager" (or some other image utilities) even if you only used 1 GB if data on the card, the image will be the size of the sd card used. I.E. a raspbian lite image would be 32gb instead if 1.3 gb because you used a 32gb card.

Pi shrink is a python script you can run that will take the image file and reduce it down to the minimum used size. Getting rid of alot of the empty space from the image.

I find this incredibly useful if I want an image to have a different default password, ssh enabled, and to connect to the wifi without me needing a monitor to set it up everytime. I did this to make a default image I load for future projects to get most of the grunt work out of the way.

(I assume but have not verified that images are compatible between pi versions.)

Pi Blink IP
-> https://github.com/Matthias-Wandel/pi_blink_ip

One thing I added to my default image was Pi_Blink_ip. It uses the status LED on a raspberry pi to blink out the ip address. (Only the important parts, not the whole 192.168.0.xxx. just the last part, or second to last if it’s not zero) it’s pretty useful if while setting up a pi with default wifi con ection to figire out its IP address without needing a screen or to use other network tools to figure out what it is.

Barrier (https://github.com/debauchee/barrier/), just sudo apt install barrier.

It’s an open source KVM, so you can share a keyboard, mouse, and clipboard across a network. In other words, you can set up multiple monitors (up to 3 rows of 5 columns each!) with one Pi each, and then run a Barrier serve on the single one that has a keyboard/mouse, then run a Barrier client on all the others, and it’s just as if you had a multi-monitor setup.

Came across this program called “RaspberryPi-Factory-reset”

-> https://github.com/shivasiddharth/RaspberryPi-Factory-Reset

This allows you to create a custom OS image with the ability to remotely re-flash a pi, back to a like new install state.

If you setup a pi how you like it, setup wifi, ssh, and any other programs you want on a pi by default. you can use win32 to make an image, pi-shrink to minimize it. then RaspberryPi-Factory-Reset to make a install image where when remote into a pi via ssh you can send a 1 line command to begin the 5 minute reflash process.

If you started with an image with ssh enabled, and wifi setup then you should be able to just ssh connect again without needed to physically reset it.

Ive gotten it to work so far granted the wifi can be somewhat unreliable after a re-flash so i recommend a hardwire connection.