It’s Never Too Early: From Light-O-Rama to xLights to Falcon Pi — Running My Christmas Show on a Raspberry Pi
Every December my neighbors ask the same question: “How do you make your Christmas lights dance to music?”
The answer is a mix of commercial software, open-source tools, and a tiny Raspberry Pi working overtime in the brutal cold of Southern California (you know, when it drops below 60°F and we all panic).
Before we get into the how-to, check out this video of my Christmas tree in action. It’s sequenced with Light-O-Rama, exported to xLights, and powered by Falcon Pi Player on a Raspberry Pi.
In this post I’ll walk you through my process:
- Designing the show in Light-O-Rama
- Exporting and sequencing in xLights
- Running everything on a Falcon Pi Player (FPP) installed on a Raspberry Pi
Let’s go step by step.
Step 1 – Light-O-Rama: The Show Designer
Light-O-Rama (LOR) has been around for years as one of the go-to platforms for animated light shows.
- It provides a sequencer that lets you choreograph light channels to music.
- You can assign effects like fades, strobes, and twinkles to individual circuits.
- For smaller setups, LOR’s controllers and software are all you need.
👉 If you’re starting out, I recommend the Residential Series 16-Channel Starter Package.
It comes with everything you need to get a basic show running and is also compatible with Falcon Pi, which means you can grow into an FPP-based setup later without replacing gear.
I started here because it’s beginner-friendly. My first show was nothing fancy—just roofline lights blinking to Trans-Siberian Orchestra (classic choice, right?).
Step 2 – Exporting to xLights
As my setup grew, I needed more flexibility. That’s when xLights came into the picture.
xLights is an open-source sequencer that has become the standard for large synchronized displays. It allows you to:
- Import your LOR sequences
- Build a virtual layout of your house and props
- Add complex effects like spirals, waves, and morphs
- Map everything to different controllers and protocols (E1.31, DMX, etc.)
Importing Light-O-Rama Sequences into xLights
The migration is straightforward thanks to xLights’ built-in import tools.
Here’s how you do it (full details in the xLights manual):
- Open xLights and go to File → Import → Import Effects.
- Select LOR Sequence from the list of supported formats.
- Browse to your
.lmsor.lasLight-O-Rama file. - Map the channels from your LOR configuration to your xLights layout.
- This step is critical since LOR uses channels and xLights uses models.
- You’ll drag-and-drop channel assignments onto props in your layout.
- Once mapped, xLights converts the sequence into its internal format.
- Save the new xLights sequence and you’re ready to add effects, layers, or tweak timings.
With this, your existing LOR investment carries forward—no need to re-sequence everything from scratch.
Step 3 – Running on Falcon Pi Player (FPP)
Once the show is sequenced, I export it from xLights to the Falcon Pi Player (FPP).
FPP is a lightweight operating system that runs on a Raspberry Pi (or BeagleBone). It acts as the conductor for your light show:
- Plays the music files
- Synchronizes the light sequences
- Serves a web-based UI where you can schedule, start, and stop shows
- Supports remote expansion—multiple Pis can sync together for massive setups
With this setup, my Raspberry Pi essentially becomes the “brains” of Christmas. I can control the show from any device on my network—phone, tablet, or laptop—while bravely enduring the icy SoCal evenings (you know, sweater weather).
Setup Guide: Installing & Using Falcon Player (FPP) on Raspberry Pi
Here’s how you get from zero to a running light show using FPP.
What You’ll Need
- Raspberry Pi (Pi 4 or Pi 5 recommended)
- SD card (32GB+ recommended)
- Ethernet cable (preferred) or WiFi
- Computer (Windows or Mac)
- Show sequences exported from xLights (
.fseqfiles)
Step 1: Download FPP
- Head to the Falcon Christmas forums or GitHub page and grab the latest FPP image.
- Save the
.imgor.fpp.gzfile locally.
Step 2: Format & Prepare Your SD Card
- Use an SD card formatter tool (official SD Card Association formatter works well).
- Select Overwrite Format to ensure the card is clean.
Step 3: Burn the FPP Image
- Use the Raspberry Pi Imager (available from raspberrypi.com/software).
- Choose Use Custom Image, select the downloaded FPP file, and pick your SD card.
- Click Write and let it finish.
- Once complete, eject the card safely.
Step 4: Boot the Raspberry Pi
- Insert the SD card into your Pi.
- Connect via Ethernet (recommended) or WiFi.
- Power it on.
- Wait ~30 seconds, then navigate to:
http://fpp.local
That’s your FPP dashboard.
Step 5: Expand File System
- In the UI, go to Advanced Settings → Grow File System.
- Reboot. This lets you use the full space of the SD card.
Step 6: Upload Your Show Sequences
- From xLights, export
.fseqfiles. - In FPP, go to Content Setup → File Manager or use FPP Connect.
- Upload sequences and music files.
Step 7: Create Playlists
- Navigate to Content Setup → Playlists.
- Create a playlist, give it a name.
- Add your sequences and audio tracks.
- Save.
Step 8: Configure Outputs
- Go to Input/Output Settings → Channel Outputs.
- Set up universes/protocols (E1.31, DMX, pixels, etc.) for your controllers. I personally use WIFI and Ethernet, WIFI for the UI and Ethernet to connect directly to the Light-O-Rama controller
- Save and reboot if required.
Step 9: Scheduling
- Open Content Setup → Scheduler.
- Create a schedule for your playlist (e.g., daily from 6–10 PM).
- Save and enable.
Step 10: Monitor & Control
- The Status/Control screen shows what’s playing.
- From here, you can start/stop shows, monitor health, and troubleshoot.
Why This Workflow Works
- LOR: Simple entry point, great sequencer for traditional setups.
- xLights: Powerhouse for effects, mapping, and large shows.
- FPP + Raspberry Pi: Cost-effective, reliable, runs unattended all season.
Troubleshooting
Even with a solid workflow, here are some common gotchas I’ve run into:
1. Import Issues from LOR
- Problem: Effects don’t look right in xLights.
- Fix: Double-check channel mapping during import. If props don’t align, xLights can’t render correctly. Use the Layout tab to confirm mappings.
2. FPP Not Found on Network
- Problem:
http://fpp.localdoesn’t resolve. - Fix: Try the Pi’s IP address directly (check your router’s device list). On Windows, install Apple Bonjour (mDNS support) if
fpp.localisn’t recognized.
3. Music Out of Sync
- Problem: Lights lag behind audio.
- Fix: Ensure audio files are in .ogg or properly formatted .mp3. Convert using Audacity if needed. Lower bitrate files work best with FPP.
4. Show Doesn’t Start on Schedule
- Problem: Playlist doesn’t trigger.
- Fix: Double-check system time and timezone on the Pi. If WiFi is flaky, use Ethernet for reliable scheduling.
5. Lights Not Responding
- Problem: Nothing turns on when running sequences.
- Fix: Check your Channel Outputs in FPP. Make sure universes and protocols (E1.31/DMX/etc.) match what xLights exported.
6. Network Speed Matters
- Problem: Lag, dropped frames, or stuttering playback.
- Fix: Ensure your show network runs at 500Kbps or higher. Anything less can cause sync issues, especially with pixel-heavy props.
Final Thoughts
Every year I tinker a little more—new props, new effects, bigger smiles from the kids on my block.
If you’re starting out:
- Begin with Light-O-Rama to learn sequencing (grab that starter pack!).
- Move to xLights as your display grows.
- Let a humble Raspberry Pi handle the runtime with FPP.
You’ll be surprised how much show you can run from a $50 board and some patience.
Happy decorating, and may your neighbors bring cookies instead of complaints about the flashing lights. And remember: if you see me outside in December bundled up in a hoodie, I’m surviving another night in the frigid SoCal tundra.