The Weaponized Plastic Fighting League (WPFL) has been throwing plastic robots at each other since 2017. The idea comes from WeaponizedPlastic.com: fighting robots are cool, but destroying expensive electronics is not, so you build the robot out of plastic and your electronics survive to fight another day.
This year we're making it bigger. Weaponized Plastic @ Asmbly takes over Asmbly Makerspace in Austin on October 24, 2026, with 1 kg 3D-printed robots, a brand new arena and a live stream. It's free for everyone, whether you come to compete or just to watch.
This event is a team effort, and it wouldn't exist without the people below.

The team behind the fight
WeaponizedPlastic.com is the core of every WPFL event. They wrote the original rules, and they supported this one at every step, from the design of the arena to the promotion.
Asmbly turned it into a real event:
- They secured the funding through an Elevate grant from the City of Austin's Arts, Culture, Music & Entertainment division.
- An Asmbly volunteer designed and built the arena, and he'll be open-sourcing the design soon.
- Asmbly members are running all the audio and video production for the stream.
- They set up the space, made the t-shirts, and opened the event for anyone to compete and visit for free.
- Their team ran the ads and the social media promotion that got the word out.
My part was the electronics, the websites and the tournament platform: the arena lights, the event site, the live match tracker, the battlecards and the broadcast graphics. The rest of this page is about those pieces, but they only matter because everyone above built an event worth running them for. Thank you all.

One fight, start to finish
The referee runs the night from one page. Load next turns the arena yellow: robots in. START runs a 3-2-1 countdown on the lights and on every screen at once, then the two-minute clock starts. Fault, pause, emergency stop, a 10-second count for a robot that stopped moving, a pin timer... each is one tap, and each one shows up on the lights, the public site and the stream at the same moment. With 30 seconds left the ceiling blinks white. When time is up, the arena goes red for the judges, and the winner's half lights up in their color with a sparkle.
The server is the single source of truth: it owns the fight phase, the clock and the results, and pushes the new state to every screen whenever anything changes. Browsers just draw what they're told, so the referee's tablet, the big screen and a spectator's phone never disagree about the clock.

A live site for everyone in the room
Spectators follow the night at the same address as the posters. Before the event it's the promo page, with a countdown, the rules, directions and a calendar invite. On fight day the referees flip a switch, and the same address becomes the live tournament: the current fight, what's up next, the latest results, the standings and the YouTube stream.
The brackets are Swiss: every round pairs robots with the same record, so nobody gets knocked out after one bad fight and everyone keeps fighting all night. Ties are broken by Buchholz, the sum of your opponents' wins. The tracker generates each round, warns when a robot hasn't had its minimum rest between fights, and lets referees fix a mistake without starting over.
![]()
Battlecards
Every robot gets a trading card. The front shows the robot: photo, builder and a one-liner, written by the builder when they register. The back shows the team, and their fight log fills itself in as the night goes on. Tap a card and it turns over. Cards are generated straight from the registration form, and contact details are never imported.

Broadcast graphics
Asmbly's audio and video crew gets a graphics package for the stream: six live pages that drop straight into OBS as browser sources at 1080p. There's a fight-bar scorebug with both robots, the clock, faults and KO counts; a full-screen Swiss bracket; animated standings; a host lower-third; a single battlecard on air; and a wall of every card that brings them forward one at a time. They listen to the same live feed as everything else, so the crew can focus on cameras and sound instead of typing scores. When the referee presses a button, the graphics change.

Arena lights
The arena was designed and built by an Asmbly volunteer: about 4 × 4 ft and 2 ft tall, with a black plywood floor, 1/4" polycarbonate walls and a sacrificial pine edge for the robots to chew on. My job was to make it glow. Its frame is lined with a 24 V addressable COB LED strip, driven by the same ESP32-C3 PCB that runs Rotato, with new firmware.
The driver splits the strip into sections (ceiling, corners, floor) and groups (red half, blue half). It serves its own control page with a live preview of the arena, and takes commands over a low-latency WebSocket API. To run automatically, it dials out to the match tracker over a secure WebSocket, so it works from any venue's WiFi without port forwarding or a shared network. If the internet drops, physical START and STOP buttons on the box still run the countdown.
A few highlights:
- LED output over SPI + DMA instead of RMT, so WiFi traffic can't make the strip flicker
- Countdown, fault, 10-second count and winner effects, with timed overlays that fall back to the previous scene
- Power limiter, gamma correction and over-the-air updates
- A buzzer that beeps on every countdown second and on GO

Come fight
WPFL has always been about getting people to build something, break it and laugh about it together. This year a whole makerspace came together to make that bigger. If you've built a plastic robot, or want to, come and fight it. If you just want to watch something spin itself apart, come watch. It's free.
Learn more about the league at WeaponizedPlastic.com. Want to build your first robot? Start with Rotato or join a workshop at Asmbly.



