Skip to content

Software

Overview

The Goblin Speaks software is a config-driven Python framework for running penny arcade style machines on Raspberry Pi. A single YAML file defines the machine's physical components — animatronics, dispensers, audio — and its play sequence, so you can change what your machine does without writing any code.

The framework is built around abstract interfaces for each component type, making it highly moddable. You can even write software for your own components using the built in plugin system. It runs as a systemd service via tmux and provides a typer-based CLI for operation and testing.

Raspberry Pi Setup

The software is designed to run on Raspberry Pi. A setup script is provided in the linux/ directory which automates the installation and configuration process.

Read more about Raspberry Pi Setup

CLI

The software provides a command-line interface built with typer. It includes commands for running the machine, testing individual components through an interactive menu, updating to the latest release, and generating plugin skeleton files.

Read more about the CLI

Configuration

The machine is configured through a YAML file located at /etc/goblin-speaks/config.yml.

This config-driven approach means you can completely change your machine's behavior — add new components, reorder the play sequence etc. by editing this file.

Read more about Configuration

Audio Player

The AudioPlayer class handles all sound playback for the machine.

Read more about the Audio Player

Plugins

The framework supports plugins, allowing you to create and use your own custom components without modifying the core codebase. Drop a Python file into the plugins directory and reference it in your config — no need to touch the framework source.

Read more about Plugins