Arcade Jacket app iconPIXELCADE

Arcade Jacket

Sew LED strips along the front and down the sleeves of any jacket, add a small LED controller, and run it all from your phone. You get 89 arcade effects from Pixelcade's marquees, themes and holiday looks, bike turn signals with an automatic brake light, and looks that follow the music or your heartbeat.

The app and firmware are free. You can try the app before you build anything: with no jacket nearby it shows the looks on a jacket drawn on screen.

The Arcade Jacket app's Arcade tab, with an arcade effect running on the jacket preview

Step 1

What you need

The only electronics are an off-the-shelf LED controller, LED strips and a USB power bank. You don't need to solder anything.

Gledopto GL-MC-001WL

A small ESP32 LED controller sold for WLED. It has Bluetooth and a proper 5 V data output, so the strips plug straight in. This is the controller the firmware is built for.

Buy on Amazon

5 V addressable LED strip

WS2812B or WS2811, 5 V (not 12 V or 24 V). Mine is three 1 m, 5 mm wide FCOB strips (160 LEDs each) with a 3-pin plug on each end: one for the front, one per sleeve. Up to 1200 LEDs in total.

The strips I used (Amazon)

3-pin extension leads

JST-SM 3-pin leads to join the strips. They run inside the jacket from the front to each sleeve. I used about 0.5 m, 1 m and 0.5 m.

Search on Amazon

USB power bank

Any power bank that gives at least 2 A, plus a USB-C cable. It goes in an inside pocket with the controller. The firmware limits the whole jacket to 2 A.

A jacket

Anything with a zipper and room inside for the leads. A dark jacket shows the light best.

Mounting

Hot glue, a few safety pins for the sleeves, and the 3D-printed parts below.

What to 3D print

You also need a phone running the app: an iPhone with iOS 17 or later (the Apple Watch app is optional), or Android 8 or later.

Step 2

Build the jacket

All the LEDs form one chain, starting at the controller. Data flows through each strip and on to the next. Here's how mine runs:

  1. Controller and power bank sit in an inside pocket. The controller's output lead comes out through a small hole near the zipper.
  2. Front strip: up one zipper edge, round the collar and down the other edge.
  3. Lead: back inside the jacket, over the shoulder and out at the top of the first sleeve.
  4. First sleeve: shoulder to cuff. Tuck any strip that's left over inside the cuff.
  5. Lead: up inside the sleeve, across the back and out at the top of the other sleeve.
  6. Second sleeve: shoulder to cuff.

No strip crosses the zipper, so you can open the jacket without unplugging anything. Your jacket can be laid out differently: in step 5 you tell the app where each strip runs.

Mounting the strips

The strips snap into short 3D-printed channels, hot-glued about every 12 cm. Each channel has a flange full of small holes. The glue squeezes up through them and sets like rivets, so it grips the fabric much better than a flat blob would. Print them in flexible TPU so they bend with the jacket. On the sleeves, also put a safety pin through each end of a channel.

Cut a hole about 17.5 mm across wherever a lead goes in or out, and hot-glue a printed grommet over it from outside. Inside, snap the leads into the wire guides and glue them down every 10 cm or so, and on either side of the shoulder and armpit.

What to 3D print

Print the channels and wire guides in flexible TPU, flat on the bed. Each link opens a 3D preview on GitHub with a download button.

PartHow manyWhere it goes
Strip channel, 60 mm8 (2 spare)The straight zipper edges, 3 each side
Strip channel, 30 mm14 (2 spare)Round the collar (2) and down each sleeve (5, none on the elbow)
Grommet1 per holeOver each hole where a lead goes in or out. Print face down
Wire guide, singleabout 24Inside the jacket, holding the 3-pin extension leads
Wire guide, doublea fewWhere two cables run side by side

If your strip slides around in a test channel, it's a different thickness from mine: strip_clip_glue.py makes a new pair for your strip.

The jacket with white LED strips along the zipper edges and down both sleeves
Strips along both zipper edges and down the sleeves. The leads run inside the lining.
Close-up of 3D-printed channels holding the strip, and a grommet where the lead enters the jacket
The glue-on channels, and a grommet where the strip's lead goes into the jacket.

Step 3

Flash the controller

The Gledopto comes with WLED installed. The jacket needs the free LEDLINK firmware instead. The controller's USB-C port only supplies power, so you install the new firmware over Wi-Fi with WLED's own update page.

  1. Download the LEDLINK firmware (ledlink-gledopto.bin) to your phone or computer.
  2. Power the controller from the power bank. A new WLED controller makes its own Wi-Fi network, WLED-AP (password wled1234). Join it, and WLED's page opens (or go to http://4.3.2.1). If you've already put the controller on your home Wi-Fi, open its address in WLED's app instead.
  3. In WLED, go to Config → Security & Updates → Manual OTA Update.
  4. Choose ledlink-gledopto.bin and tap Update. The controller restarts running LEDLINK and the strips light up.

Heads up: LEDLINK doesn't turn Wi-Fi on, so once it's installed you can't reach WLED's update page any more. Make sure you're flashing the right controller.

Step 4

Get the app and connect

  1. Install Arcade Jacket from the App Store or Google Play.
  2. Open it and allow Bluetooth. The app looks for the controller and connects by itself, so there's no pairing step. The DEMO badge goes away and the jacket on screen now shows what your real jacket is doing.
  3. Tap the power button at the top to turn the lights on or off. The two sliders at the bottom set brightness and speed.

On a computer? Scan with your phone's camera:

The controller remembers your last look, brightness and speed. When you power it up without your phone, it carries on where you left off.

No controller yet? The app runs in demo mode. Every look, turn signal and the brake light plays on the jacket drawn on screen, so you can try everything before you buy parts.

Picking a theme in the app
Tap a look and the jacket switches instantly.

Step 5

Set up your layout

Every jacket is different, so tell the controller where your strips run. Tap the gear at the top of the app to open Settings. The controller's status is at the top, and below it is a list of zones in wiring order, starting from the controller.

ZoneWhat it's for
FrontThe strip up the zipper and round the collar. The looks run hem to collar.
SleeveA sleeve. The looks run shoulder to cuff.
DarkLEDs that stay off: strip tucked inside the jacket, the run across the back, or extra strip in a cuff.
  1. Tap Number every LED. The first LED lights green, every 10th white, every 50th red and every 100th blue. Count along each strip to see where the lit parts should start and stop.
  2. Add a zone for each stretch, and set how many LEDs it has. Give each Front or Sleeve zone a side (Left or Right) for the turn signals.
  3. Set which end the data wire comes in: Starts at the hem or at the collar for the front, and at the cuff or at the shoulder for a sleeve. If a look runs backwards on one zone, flip this.
  4. Use the light-bulb button next to a zone to check where it really is, or Show the lit LEDs to see the whole layout.
  5. Tap Save to the controller. It keeps the layout from then on, even after it's switched off.

Need a reminder? How the LED layout works in Settings explains all of this in the app. Reset to the firmware's layout starts over.

The app's Settings screen: controller status, LED test buttons and the list of zones
Settings: controller status, test patterns and zones.

Step 6

Use it

The app has five tabs. Each one runs the controller's own effects code, so the jacket on screen matches the real one.

Arcade tab

Arcade

89 effects from Pixelcade's arcade marquees: 45 classic consoles and 44 arcade-style games. They're sorted A to Z, with letter shortcuts and a search box.

Themes tab

Themes & Holidays

Light Cycle, Cyberpunk, Code Rain, Fire, Aurora and more. There are also holiday looks from Christmas to Pride, and Solid, Breathe, Sparkle and Comet in any colour.

Bike tab with the left turn signal on

Bike

Left, right and hazard signals that sweep down that side of the jacket, and a hold-to-brake button. The automatic brake light uses GPS to turn the jacket red when you slow down.

Live tab with Music Beat on

Live

Music looks that react to the sound around you through the phone's microphone (nothing is recorded). Heartbeat pulses with a Bluetooth heart-rate sensor or the Apple Watch app.

Twelve of the jacket's looks: Light Cycle, Cyberpunk, Code Rain, Fire, Christmas, July 4th, New Year, Thanksgiving, Bike with a left turn, Bike, Music and Heartbeat
A few of the looks.

Heart rate

On iPhone, start a session in the Apple Watch app and the jacket pulses with your heart. On either phone, you can instead pick a Bluetooth heart-rate sensor on the Live tab, such as a Polar, Wahoo or Garmin chest strap, or a Fitbit Charge 6 or Pixel Watch with heart-rate sharing on.

The Apple Watch app showing a heart-rate reading

With the screen off

The turn signals, the automatic brake light and the music looks keep working with your phone locked in a pocket. On Android, a notification shows while the app is connected.

Riding a bike? Wear the jacket as well as proper bike lights, never instead of them. The automatic brake light is based on GPS speed, so it reacts about a second after you slow down.

Open source

Source code

Everything is on GitHub at github.com/alinke/rogue-ai-costume:

  • ledlink/: the controller firmware, built with PlatformIO. The looks are in src/looks.cpp and the arcade effects in src/arcade.cpp. The Bluetooth protocol, if you want to write your own remote, is in src/jacket_link.h.
  • ios-jacket/: the iPhone and Apple Watch app (SwiftUI).
  • android-jacket/: the Android app (Kotlin and Jetpack Compose).
  • hardware/3dprint/: the strip channels, grommets and wire guides, as STL files and the scripts that generate them.

From the makers of Pixelcade

Like the arcade effects? Put them on your arcade.

The jacket's arcade looks come from Pixelcade, our LED and LCD marquees for arcade cabinets, pinball machines and game rooms. Pixelcade shows the marquee art of whatever game you launch, automatically, with thousands of games and consoles supported.

Pixelcade LED

A retro LED pixel-art marquee that changes with every game you play.

Pixelcade LCD

Full-colour, high-resolution marquee art for your cabinet's marquee slot.

Sidekick

A companion screen that shows box art, game info and high scores next to your marquee.

Visit pixelcade.org

Arcade Jacket is made by Pixelcade. Questions: support@pixelcade.org · Privacy policy

Proudly powered by Wpopal.com
Add to cart