Kindly Morrow
USB LED Pixel Matrix Display 16x16 Programmable Desk Screen
256 individually addressable RGB pixels, packed into a flexible 16x16 grid and driven straight from USB-C. Send serial commands from Python, push frames from Processing, or drag and drop animations without writing a line of code. It sits on your desk and does exactly what you tell it.
The silicone housing flexes enough to mount on curved surfaces or wrap around objects, not just sit flat. Data and power run through a single USB-C cable, so there's no wall wart, no driver headache. Chain multiple units together to build larger composite displays.
Things to build with this
- Pipe your CI/CD build status directly to the matrix over USB serial: green pulse on passing tests, red cascade animation on a failed build, triggered by a five-line Python script hooked into your GitHub Actions webhook
- Use the 16x16 grid as a real-time audio spectrum analyzer by reading FFT output from your DAW or system audio and mapping 16 frequency bands to columns, with pixel brightness scaled to amplitude at 30fps over serial
- Chain three units horizontally and write a Processing sketch that pulls train departure times from a transit API, rendering scrolling destination text across the full 48x16 pixel canvas as a live departure board for your desk
Key Features
- 16x16 RGB LED grid: 256 individually addressable pixels with full color control
- USB-C: single cable handles both power draw and serial data
- Flexible silicone housing: mounts flat, curved, or wrapped around cylindrical surfaces
- Python and Processing compatible: send raw frame data over USB serial
- Drag-and-drop desktop app included: Windows, Mac, and Linux
- Chainable: link multiple units for wider or taller composite displays
- No external power supply required: pulls cleanly from any USB port
Frequently Asked Questions
What serial protocol does it use? Can I control it without the desktop app?
Yes. It accepts raw frame data over USB serial, so any language that can open a serial port works. Python with pyserial is the most common setup. The desktop app is just a convenience layer on top of the same interface.
How many units can I chain together?
The hardware supports chaining, but the practical limit depends on your USB power budget and how you're driving them. Most builders run two to four units from a powered USB hub without issues.
Is the flex housing actually durable or does it crack over time?
It's cast silicone, so it handles repeated flexing without cracking. It's not designed for constant bending under load, but mounting it on a curved surface or repositioning it occasionally is well within spec.
What's the refresh rate for full-frame animation?
Driving it over USB serial, you can push smooth animation at around 30fps for a single unit. Chaining multiple units will reduce that depending on how you're batching and sending frame data.
Why we stock this
Curated by Kindly Morrow. We test and vet every product before it hits the store. If we wouldn't use it in our own builds, we don't sell it.
Things to build with this
Fun projects to try once you get your hands on it.
Split-flap board connected to Claude
Hook up a display to the Claude API and have it show you a new message every morning. Motivational quotes, weather, or passive-aggressive reminders to drink water.
Spotify now-playing display
Show the album art and track name on your desk display. Looks incredible on e-ink. Updates every time the song changes.
Real-time crypto/stock ticker
Pull prices from an API, show them on the display. Flip between assets. Try not to check it every 30 seconds.
Ambient room dashboard
Temperature, humidity, air quality, and time on a bedside e-ink screen. Updates every 5 minutes, uses almost no power. Looks like a museum label.






