This started as a simple summer project: build a pair of cornhole boards for a backyard party I was hosting. Then the questions started. What if they lit up for night games? What if the LEDs were individually addressable? What if the scoring hole could tell when someone sank a bag? Predictably I went down the rabbit hole — with about a week to design, build and finish both boards.

Finished SolidWorks model, underside

The Design

Each board carries an individually addressable WS2812B strip around the perimeter and a second strip ringing the scoring hole. Rather than write lighting firmware, I ran WLED on the ESP32 — an open-source project that handles the effects and exposes phone control over WiFi, which meant the whole lighting side was configuration instead of code.

My favourite part of the design is the LED ring. It holds the strip in a ring around the scoring hole and carries an infrared break-beam sensor across the opening to detect a throw going in. A mounting flange with threaded inserts is permanently screwed to the underside of the wood, and the ring bolts onto that, so the whole assembly comes off in seconds if it ever needs servicing, without touching the board itself.

LED ring assembly and exploded view

A separate printed enclosure houses the ESP32, terminal blocks and a cable gland, keeping the wiring tidy and off the grass.

Electronics box: wiring, terminal blocks, cable gland and ESP32 controller

Electronics BOM

Part

Description

Unit Cost ($ CAD)

Qty

Microcontroller

Elegoo ESP32 dev board

12.32

2

LED strip

BTF Lighting WS2812B, 5 m, 30 LEDs/m

27.99

2

Power cable

USB-C to bare wire pigtail, 18 AWG

6.16

2

Break-beam sensor

IR emitter and receiver pair

4.17

2

Total: $101.28 for both boards

Wood and filament are not included above.

Build and Firmware

I pulled the cut list straight from the model, cut the lumber to length, drilled pocket holes and assembled both boards, then printed the enclosures and ring housings. Wiring went into the boxes, WLED went onto the ESP32s, and the lights came up first try. I then lost an entire evening to the effect library. The break-beam sensor configures as a peripheral trigger in WLED, so I mapped it to a scoring animation that fires the instant the beam breaks.

Everything mounts to the underside, with a portable battery pack on each board for power. Though later testing, I found that a single charge on a battery bank could light up the board for a whole evening!

Printed parts and electronics mounted to the underside

Then I set them up and played. It was the best game of cornhole I've played! The effects are amazing looking after dark, and the scoring animation never got old.

Photos of the real boards are coming. I was too busy building them to take any.