FiestaBoard is free, open-source software for Vestaboard and split-flap displays. It gives you a self-hosted platform with a plugin system to pull in data from the sources that matter to you - weather, stocks, transit, sports, surf conditions, and more - and display it on your board. Compatible with Vestaboard Flagship (22x6) and Note (15x3).
You bring the board. You bring the API keys for the services you care about. FiestaBoard handles the rest.
Full Documentation | Discord Community
All you need: Your board's API key + Docker installed.
# 1. Download the compose file
curl -O https://raw.githubusercontent.com/Fiestaboard/FiestaBoard/main/docker-compose.hub.yml
# 2. Start FiestaBoard
docker-compose -f docker-compose.hub.yml up -dOpen http://localhost:4420 in your browser, connect your board, and you're running.
git clone https://github.com/Fiestaboard/FiestaBoard.git
cd FiestaBoard
# Mac/Linux
./scripts/install.sh
# Windows (PowerShell)
.\scripts\install.ps1The wizard collects your board API key, starts the server, and opens the setup page in your browser.
New to Docker or the terminal? Follow the detailed Beginner's Guide for step-by-step instructions with screenshots.
- Open http://localhost:4420 — the setup wizard will guide you through connecting your board
- The display service starts automatically once your board is connected
- Go to Integrations to enable plugins (weather, stocks, etc.)
- Go to Pages to create and design what your board displays
- Go to Schedule to automate when different pages show up
Tip: Many plugins need no API key at all - Date & Time, Star Trek Quotes, Guest WiFi, Visual Clock, Sun Art, and more work right out of the box. Start with those while you gather API keys for others.
Accessing from other devices: FiestaBoard advertises itself on your local network via mDNS/Bonjour, so you can open http://fiestaboard.local:4420 from any device on the same network. If
.localaddresses don't work on your network, use your server's IP address instead (e.g.http://192.168.1.50:4420).
FiestaBoard has 26 built-in plugins covering weather, finance, transit, sports, entertainment, and home automation. Here's what they look like:
Weather - Temperature, UV index, precipitation, high/low, sunset time
Stocks - Real-time prices with color-coded change indicators
Sports Scores - Recent match scores from NFL, Soccer, NHL, and NBA
Nearby Aircraft - Real-time aircraft info with call signs, altitude, and speed
| Plugin | What It Shows | API Key? |
|---|---|---|
| Weather | Temperature, UV, precipitation, high/low | Yes (free) |
| Stocks | Stock prices with color indicators | Optional |
| Sports Scores | NFL, Soccer, NHL, NBA scores | Optional |
| Traffic | Travel time with live traffic | Yes (free tier) |
| Muni Transit | Real-time SF Muni arrivals | Yes (free) |
| Home Assistant | Smart home status (doors, locks, garage) | Yes (self-hosted) |
| Last.fm Now Playing | Currently playing music | Yes (free) |
| Surf Conditions | Wave height and quality ratings | No |
| Air Quality & Fog | AQI and fog conditions | Yes |
| Nearby Aircraft | Real-time aircraft tracking | Optional |
| Disney Park Queue Times | Wait times for Disney rides | No |
| WSDOT Ferries | WA State ferry schedules and alerts | Yes (free) |
| Bay Wheels | Bike availability at stations | No |
| Countdown | Time remaining until an event | No |
| Date & Time | Current date/time in many formats | No |
| Random | Randomly selected values from a custom list, coin flip, or board color | No |
| Generic Data | Custom data from any JSON/XML URL | No |
| Guest WiFi | WiFi credentials for guests | No |
| Allergy & Health | Allergy levels and health risk indicators | No |
| Star Trek Quotes | Quotes from TNG, Voyager, DS9 | No |
| Dad Jokes | Random dad jokes | No |
| Santa Tracker | Track Santa's journey on Christmas | No |
| Spacecraft Launches | Upcoming rocket launch countdowns | No |
| Stardate | Current TNG-era stardate | No |
| Sun Art | Art pattern that follows the sun | No |
| Visual Clock | Large pixel-art style clock | No |
| White Noise | Ambient rain/white noise effect | No |
Create and edit board pages with a visual editor. See exactly how content will appear on your display, including dynamic data from plugins, colors, and alignment - all in real time.
Use the visual calendar to schedule which page displays at which time. Set different pages for mornings, afternoons, and evenings. Choose a default page for gaps, or turn scheduling off to pick pages manually.
Create pages for both Vestaboard Flagship (22x6) and Note (15x3). The editor and preview adapt to each device's dimensions automatically.
- Configurable Update Interval - Refresh every 10 seconds to every hour
- Silence Schedule - Set quiet hours so the board doesn't flip at night
- Smart Caching - Page previews load fast; active displays always get fresh data
- Docker Ready - One command to deploy on any system, including Raspberry Pi
You'll need your board's API key to finish setup. There are two options:
Faster, supports transition animations, works over your local network.
- Request a Local API enablement token at vestaboard.com/local-api
- After approval, Vestaboard emails you the token
- Use the token to enable the Local API on your board (see Vestaboard Local API docs)
- Save the API key and note the board's IP address
Works from anywhere with internet. No transition animations.
- Go to web.vestaboard.com
- Navigate to Settings > API
- Enable Read/Write API
- Copy the key
See Cloud API Setup for details on choosing between the two modes.
The pre-built Docker image supports ARM64 out of the box. Follow the same Docker Hub setup above on your Pi, or see the full Raspberry Pi Guide for auto-start on boot and performance tips.
# Stop FiestaBoard
docker-compose down
# Start it again (no rebuild needed)
docker-compose up -d
# View logs if something isn't working
docker-compose logs -fThen go to http://localhost:4420 — the service starts automatically once the container is running.
- Make sure the service shows Running on the dashboard (http://localhost:4420)
- Check your board API key is correct (Settings page in the web UI)
- For local mode: verify your board is on the same network as the server
- Check logs:
docker-compose logs -f
- Make sure Docker Desktop is running (look for the whale icon)
- Check if the container is running:
docker ps - Port conflict? Change the host port in
docker-compose.yml(left side of4420:3000)
- Check the plugin's setup guide:
plugins/<plugin_name>/docs/SETUP.md - Verify API keys are correct and have no extra spaces
- Check API rate limits haven't been exceeded
- Check the full Troubleshooting Guide
- Ask in Discord
- Open an issue on GitHub
Full documentation is at fiestaboard.app, including:
- Beginner's Guide - Step-by-step for non-technical users
- Your First 10 Minutes - What to do right after setup
- Plugin Configuration - Enable and configure data sources
- Schedule Mode - Automate your display
- Raspberry Pi Deployment - Always-on setup
- Plugin Development Guide - Build your own plugins
If you want to contribute code or build plugins (not just use FiestaBoard), see the development guides:
- Contributing Guide - Branch workflow, PR process, standards
- Local Development - Dev environment with hot-reload
- Plugin Development - Create custom plugins
# Development environment (hot-reload for Python, volume mounts)
docker-compose -f docker-compose.dev.yml up --buildFiestaBoard/
├── plugins/ # Plugin-based data sources (weather, stocks, etc.)
├── src/ # Platform core (API server, display service, plugin system)
├── web/ # Next.js web UI
├── docs/ # Development documentation
├── docs-site/ # Documentation website (fiestaboard.app)
├── Dockerfile # Unified container (API + Web UI + nginx)
└── docker-compose.yml
FiestaBoard aims to meet WCAG 2.2 Level AAA standards. We are committed to making the web UI accessible to everyone, including users who rely on assistive technologies. If you find an accessibility issue, please open an issue or reach out on Discord.
- Vestaboard — Get $200 off a Vestaboard. Using this referral link helps support FiestaBoard at no extra cost to you.
FiestaBoard is free and open source. If you find it useful and want to support continued development, consider buying me a coffee!
Made with ❤️ in San Francisco.






