spruceOS is not a traditional operating system but a user interface or "frontend" designed to run on retro gaming consoles. It is built using the Python programming language and runs on top of an existing base system that is already installed on the console. The spruceOS project is open source, released under a Creative Commons license. This means the code is freely available for use, but commercial applications require written permission from the development team. On consoles like Miyoo and TrimUI, the base system is the original firmware that comes with the device. However, on other consoles such as Anbernic with H700 chips and the Powkiddy RGB30, users must first install a third-party base system—like BaseOS or dArkMoss—onto the first memory card. spruceOS is then installed on the second card, usually the TF2 slot, allowing it to be easily swapped between compatible devices. This setup adds a bit of complexity, requiring an extra card and an additional step during installation. Once spruceOS is set up, it offers several user-friendly features. For example, holding the HOME button for three seconds allows users to switch between game save states without exiting the game. If the console is turned off mid-game, it automatically saves the progress, and users can return to the exact point when they restart. With Wi-Fi connectivity, spruceOS eliminates the need for a PC. Tools like Theme Garden allow users to download over 80 community-created themes, while Game Nursery provides free or homebrew game ports. A built-in scraper also fetches game covers from the libretro database. Before installing spruceOS, users need a high-quality microSD card from a trusted brand and a reliable card reader. A computer with internet access running Windows, macOS, or Linux is also required. The project’s documentation strongly advises against using the SD card that comes with the console, warning that it may contain low-quality games and BIOS files. A one-click installer is available for Windows, Linux, and macOS, which formats the card, downloads the chosen spruceOS version, and installs it all in one step. On macOS, the Terminal must have Full Disk Access permissions to write to the card, which may require restarting the Terminal session. For manual installation, users need formatting tools like Rufus (on Windows) or Disk Utility (on macOS) to prepare the card in FAT32 format. They must download and extract the spruceOS archive using 7zip, then copy the files onto the card. A hidden folder named .tmp_update is required for spruceOS to function properly. Users should ensure this folder is present, as its absence could indicate a low-quality SD card. The spruceOS project does not provide ROMs or BIOS files, so users must supply their own cartridges or disks. The setup allows for easy switching between different frontends like Knulli or muOS, giving users flexibility in their retro gaming experience.