Skip to content
Go to file

Latest commit

Update recommended OS Bump firmware to 5.4.45

(bovirus-patch-5) Update Italian language

Git stats


Failed to load latest commit information.


An enhanced Operating System installer for the Raspberry Pi

PINN is a version of the NOOBS Operating System Installer for the Raspberry Pi. See the change history below for the additional features.

Documentation on how to use PINN can be found in, which includes all of the original NOOBS documentation.

If you are already familiar with NOOBS' features, you may prefer to read the reduced documenation that just contains PINN's new features alone.

The latest version of PINN-lite can be downloaded from sourceforge.

Source code is available from github

see github for full information

Quick Start

Format your SD card as FAT32

For Windows users, we recommend formatting your SD card using the SD Association's Formatting Tool, which can be downloaded from . If you are still using v4 of this tool, you will need to set the "FORMAT SIZE ADJUSTMENT" option to "ON" in the "Options" menu to ensure that the entire SD card volume is formatted - not just a single partition. However, this tool has now been upgraded to v5 where this feature is now the default and is no longer selectable. For more detailed and beginner-friendly formatting instructions, please refer to .

The SD Association's Formatting Tool is also available for Mac users. However, note that the default OSX Disk Utility is also capable of formatting the entire disk (select the SD card volume and choose "Erase" with "MS-DOS" format).

For Linux users, we recommend gparted (or the command line version parted). (Update: Norman Dunbar has written up the following formatting instructions for Linux users:

Copy the pinn files to your SD card.

  • Download from sourceforge
  • Extract the files from file onto the SD card. (Windows built-in zip features may have trouble with this file. If so, use another program such as 7zip.)

Please note that in some cases it may extract the files into a folder, if this is the case then please copy across the files from inside the folder rather than the folder itself.

Boot pinn on your PI

  • Put the PINN SD card into your Pi and boot it.
  • On first boot the "RECOVERY" FAT partition will be automatically resized to a minimum, so if you ever put your SD card back into a Windows machine it will look like a very small partition. THIS IS NORMAL.
  • PINN does not come supplied with any OSes. You must download them from the internet or provide them on a USB stick. So,....
  • Connect your Pi to the internet with an Ethernet cable (easiest)
  • Or If you prefer to use Wifi, click on the wifi button and select your SSID and password. If the wifi button is greyed out, choose another type of wifi dongle.
  • A list of OSes that are available to install will be displayed.
  • Select one or more OSes that you want and click INSTALL.

Change History


  • Firmware - Update firmware 5.4.45 for usb-boot (beta)
  • Name Change - Update recommended OS name
  • KeybdTrigger - Fix keyboard trigger option
  • Translations - Update Italian language


  • CloneSD - Remove drive restrictions on Clone SD
  • Set Time - Added indication that time is in UTC
  • Replace - Fixed shortcut for Replace OS
  • Buildversions - Made buildversions more intuitive (for me!)
  • Legacy - Accounted for Pi4 when identifying legacy hardware


  • MBR fix - Better detection of non-MBR formatted SD cards.
  • Joysticks - Better detection of joysticks that are slow to connect.
  • Reload Repos - New button to reload the distribution list from internet.
  • fontsize - Added rudimentary font size adjustment using +/- keys.


  • Joystick - Added support for USB Joysticks/Gamepads (Xbox-style)
  • Silentinstall - Fixed a bug when silent-installing from the network
  • VirtualKeyboard - Added a Virtual Keyboard for wifi and option dialogs


  • Translations - Updated a few translations (it, zh_TW, ko, de)
  • HDMI Pi4 - Removed hdmi_force_hotplug
  • Downloads - Fixed download progressbar
  • Replace - Changed accelerator key from L to C


  • Tidy up - Development moved to Ubuntu 18.04 prompting a tidy up


  • PI4 support - Added support for the new RPi4. Includes Raspbian Buster in full version.


  • Hyperpixel - Fixed hyperpixel 4 overlay file


  • Wifi Drivers - Re-added Realtek rtl8188eu and rtl8192cu modular wifi drivers.


  • Build - Modified to build on Ubuntu 18.10 'cosmic'
  • Progress - Experimental modification to measure installation progress more accurately
  • Wifi dialog - Removed focus for better use by keyboard
  • Zipfles - Use bsdtar to unzip inline for checksums
  • Esc - Esc key exits all menus
  • Firmware - Don't automatically downgrade firmware
  • Options - Added shortcuts for better keyboard use
  • GPIO - Allows gpiochannel and gpiochannelValue to be specified to trigger the recovery menu


  • Customisations - Fix bug introduced by backup preventing customisations.


  • Backup hotfix - Fix for OSnames with spaces.
  • Translations - Updated IT & zh_TW
  • Iconsizes - fixed to 40x40
  • Download - ignore partials


  • Bootselectiondialog - update for CEC and keyboard


  • Added Ts & C's dialog - for Future OSes
  • Resumable download - in case of download errors
  • More robust file transfer - in case of download errors
  • Change boot selection order - Just for aesthetics
  • Added file checksums - for download verification
  • Added checksum - for download verification
  • Added options dialog - To make option setting easier.


  • alias - Fix underscores
  • backup - Much faster backups on multicore processors
  • silentreinstallnewer - exits to boot menu & stops remotetimeout
  • menu - Removed PageDown->nextmenu function because it conflicts
  • Translations - Updated IT & zh_TW translations


  • Nano - Added nano text editor
  • Rename - Allows giving an OS an Alias name & change its description
  • Hyperpixel - Added full kernel drivers to support Pimoroni Hyperpixel 3.5" and 4" touchscreens
  • ScreenSwitch - Performs automatic screen switching at bootup
  • dhcpcd - Now configurable


  • forceupdatepinn - Add forceupdatepinn option
  • OS Replace - Fixed problem replacing an OS when PINN is booted from USB


  • Backup USB - Fix for multiple USB sticks.
  • Translation - Ko & zh_tw.ts updated.


  • Backup USB - Improved backup size calculation for USB installed OSes.


  • Backup/Download - Removed the need to reboot after a download or backup.
  • Wallpapers - removed wallpapers folder & Allowed JPEGs
  • **Default wallpaper - Changed default to wallpaper.jpg


  • Backup - Backup an OS in PINN format
  • Time - Added button to set date & time
  • Download - Fixed foldername of some OSes when downloaded
  • Iconcache - Cache icons when connected to internet to speedup startup


  • RPi 3A+ - Supports RPi 3A+


  • Firmware - Disabled firmware downgrade on 3B+
  • Clear - Added Clear button to clear all selections
  • Kernel Bump - Linux kernel 4.14.74, firmware and userland bumped to match NOOBS 2.9
  • Replace - Removed RiscOS & Windows_10 from OS replacement
  • SilentInstall - Fixed waiting for USB images
  • networktimeout - 0 means wait indefinitely for network before silentinstall


  • Boot menu - Sticky default now uses bootmenutimeout
  • rebootp - Added rebootp command to recovery shell


  • Boot menu - Fixed focus and sticky default partuuid issues.
  • wallpaper_resize - Customised wallpaper can now be resized to fill the screen


  • Partuuid - Fixed an issue from v2.8 where partuuids were introduced to installed_os.json
  • Wallpaper - Customised wallpaper is now available by writing your own wallpaper.png file to PINN's recovery partition


  • VNCnotice - Displays a notice on the main screen when vncinstall is in use
  • PINN update - Prevents crash on manual update when there is no network
  • ae-ts - tidy up of translations


  • Reinstall - BUGFIX for Re-install.
  • translations - Updated it and zh_TW translations.
  • silentreinstallnewer - USE WITH CAUTION. With select= it will silently re-install any selected OSes that are newer than the installed version.


  • Boot Cancel - Added a new cancel button to the bootselection dialog which will reboot back into PINN
  • Swedish keyboard - Swedish keyboard fixed when language selected
  • Bootable selection - The bootselection dialog is only available if a bootable OS is installed.
  • Select Option - Auto select/check OSes to be installed. "allsd,allusb,allnetwork,waitsd,waitusb,waitnetwork,waitall,allinstalled,"
  • SilentInstall - with Select will auto-install selected OSes
  • Added Disablesdimages - Disablesdimages in recovery.cmdline will prevent OSes on SD card from being shown
  • Network start - The network is always started, even with silentinstall.
  • Flavour download - Flavours can now be downloaded from remote repos. Only need to download 1
  • Added flavours.tar.xz - Remote flavours need to include flavours.tar.xz
  • RPi Model Name - Added name of RPi model to MainMenu screen


  • Replace OSes - Allows the replacement of one OS with another
  • Project Spaces - Added Project Spaces
  • Reserve disk space - Reserve some space on PINN's partition before formatting
  • mkimage - Added mkimage from uboot
  • xz - Allow XZ Compression
  • Update Dialog - This now cancels any timeout setting


  • Programmable CEC - Fixed bugs
  • networktimeout - Added timeout to detect network presence


  • Reinstall - bugfix to Reinstall option following partuuid change on USBs


  • Programmable CEC - Program your TV remote for use with PINN


  • Fix menu - Replaced Fsck with Fix menu option to include a wider range of tools
  • Store meta - Additional meta files stored on installation for fix up tools
  • Partuuid - Store partuuid references for better USB support
  • Tab fix - Fixed synchronisation of OS tab display


  • - Improve calling of script to run before PINN
  • config.txt - deleted


  • Kernel - Bump kernel to suppress missing mailbox commands in old firmware
  • - Add initialisation script to run before PINN


  • Firmware - Update firmware
  • Kernel - Update kernel to 4.14


  • Self-Update - A small fix to the self-update ignore feature


  • Countdown - Re-enabled the boot selection dialog countdown timer.


  • Switch firmware - Enable switching of firmware for 3B+ and other models.


Fixes the incorrect recovery.cmdline bug in v2.5.2. (There's a reason why I didn't make this v2.7 just yet!)


  • OS Firmware - Includes a better method of slipstreaming new Firmware
  • BUG: Cmdline - Note that the recovery.cmdline is incorrect in this version


  • firmware - New firmware for Rpi 3B+
  • Kernel - Update to kernel 4.9.80
  • OS firmware - Latest firmware is slip streamed onto old OSes
  • wifi drivers - Some wifi drivers temporarily removed until they can be upgraded
  • Arora - Prevented multiple instances of Arora browser running


  • rtl8812 wifi - added wifi driver for rtl8812 5GHz dongles


  • remotetimeout - Enable network for remote boot alteration.

This new option allows PINN to be used more easily in a remote headless environment.


This is a small maintenance release for some cosmetic changes and bugfixes mainly.

  • background - Specify the background colour as background=r,g,b
  • style - Change the style with style=motif/windows/platinum
  • configpath - (partially) allow remote flavours to customise an OS
  • dsi - Allows the HDMI/DSI switching option to work with OSes installed to USB


Finally, PINN can now re-install any installed OS WITHOUT affecting the other OSes, eliminating one of my NOOBS bugbears.

  • Re-install - Re-install an OS without affecting others
  • no_update - disable PINN self-update (manual refesh of PINN available)
  • update PINN - A manual PINN update check can now be done (for when no_update is used)
  • Edit PINN - The recovery.cmdline and config.txt fiels of PINN can now be edited.
  • no_cursor - The no_cursor option now only affects the bootselection dialog
  • Wipe - The Wipe Disk command has been temporarily removed
  • Max OSes - The number of OSes has been restricted so that boot partitions numbers are <63
  • self-update - Fixes broken self-update since v2.4.2h


A major change to the User Interface in preparation for some new features.

  • 3 Toolbars - Main Menu, Archival and Maintenance.
  • OS Groups - OS lists are grouped into General, Minimal, Educational, Media and Gaming.
  • Download OS - Download an OS to USB for local installation.
  • Fsck - Check and fix your filesystems in case of error.
  • Wipe Disk - delete all OSes and restore drive to full capacity.
  • Info button - Go directly to the webpage of each OS.


  • Translations - udpate to Portugese + other translations
  • Password - A new password will not expire
  • Slideshow - Slides during installation are now scaled to be the same size.
  • >1TB MSDs - Installing OSes to a USB Mass Storage Device > 1TB would fail. 2TB is the maximum size.


  • repo_list - Added repo_list cmdline argument


  • Win10IoT - Fixed annoying warning messages on installation
  • RTAndrod - re-included missing cpio to allow installation


  • btrfs - Included support for btrfs file systems


  • Update - Rebase onto NOOBS 2.4
  • repo - Support "repo=" from NOOBS
  • USB support - Supports USB BOOT and USB ROOTFS


  • PiZeroW - Further update to match NOOBS 2.3. Add wifi RegDB for channel 13. Add missing DTBs


  • PiZeroW - Update firmware/kernel for PiZero Wifi version


  • IP address - Shown in window title
  • CEC key mapping - Replaced 0 button with PLAY button for greater applicability
  • BOOT - Added BOOT button to boot selection dialog for use with limited TV remotes
  • **Tarball names - Allow local tarballs to have a different name to the partition labell
  • SD Card - Recommend 8GB card minimum
  • SD Card - Update SD card requirements
  • Network - Do not continue polling for connectivity during installation
  • Update - Bump kernel and firmware versions


  • Translations - Added many translations from the community


  • Default Boot - A default OS can be set in a multi-boot setup for quicker boots.
  • Bootmenutimout - The timeout of the boot selection dialog can be changed.
  • SHIFT key - The PINN interface can be reached using the Left mouse button or a CEC enabled TV remote key as well as the SHIFT key.


  • The build dependencies introduced in v2.1.1 have been fixed.


  • CEC Support - Added CEC support for controlling PINN with a TV remote


  • IoTpHAT support - Updated to match NOOBS v2.1 to include IoTpHAT wifi


  • Network Drivers - Added the popular RTL8188eu wifi driver (for HubPiWi and others)
  • New Firmware - Updated Firmware and Kernel to match NOOBS 2.0


  • Self-Update - Notification and download of new releases


  • Network Drivers - Fixed the popular RTL8188cus wifi driver.
  • RPI3 ACT_LED - Now displays correctly on SD card access


  • Network Drivers - A number of additional wifi and ethernet drivers have been added.


  • Dialog Box - The initialisation dialog box is removed under network errors


  • Clone SD Card - Copy the SD card to another card in a USB reader (BETA)
  • Rescue shell - Exiting the rescue shell now enters the PINN recovery program instead of another shell.
  • VNCSHARE - Sets up PINN to use VNC at the same time as an attached screen


  • https - Fixed the ability to use https protocol (which was preventing Arch from installing sometimes).
  • wifi config - A user supplied wpa_supplicant.conf file is now ALWAYS copied to /settings and then renamed to wpa_supplicant.conf.bak so that it does not continually overwrite any manual changes made through the GUI.


  • Password - Change or reset your password for each OS.
  • DSI/HDMI - Auto-switching of DSI/HDMI screen with HDMI taking priority


  • NoobsConfig - Config filenames now now have all spaces converted to underscores
  • Multiple Os - Multiple installed OSes can now be selected again.
  • DHCP - ClientID is now used instead of DUID to request an IP address

V1.9.1 (based on NOOBS v1.9)

  • USB support - store your OS installations on USB stick to avoid wasting SD card space and avoid downloading each time.
  • Alternative Src - Install OSes from an alternative website, or local webserver
  • ARCH support - Install the Arch Linux OS directly from the Arch website
  • VGA666 support - Alow PINN to be used with Gert's VGA666 adaptor
  • NOOBSCONFIG support - Allow customisation of an OS installation as it installs
  • SSH support - SSH remotely into you PINN installation.
  • Progress - View your installation progress via alternative means

see github for full information

You can’t perform that action at this time.