Three Conceptual Approaches To Driving A WS2811 LED Pixel

driving-a-ws2811

[Cunning_Fellow] published a post with three proof-of-concept approaches to driving a WS2811 LED pixel. We looked at a project early in December that used an AVR microcontroller to drive the RGB package. [Cunning_Fellow] saw this, and even though he doesn’t have any of these parts on hand he still spent the time hammering out ways to overcome the timing issues involved with address the device. His motto is “put up or shut up” when it comes to criticizing projects featured on Hackaday. We love seeing someone pick up an idea and run with it.

The approach in all three cases aims to conserve clock cycles when timing the communications. This leaves the developer as many cycles as possible to perform other tasks than simply telling the lights what to do. One approach is an assembly routine that is just a shade slower but groups all 14 free cycles into one block. The next looks at using external 7400 series hardware. The final technique is good old-fashioned bit banging.

[Photo Credit]

Driving A WS2811 RGB LED Pixel

[Alan] has been working on driving this WS2811 LED module with an AVR microcontroller. It may look like a standard six-pin RGB LED but it actually contains both an LED module and a microcontroller to drive it. This makes it a very intriguing part. It’s not entirely simple to send commands to the module as the timing must be very precise. But once the communication has happened, the LED will remain the same color and intensity until you tell it otherwise. You can buy them attached to flexible strips, which can be cut down to as few as one module per segment. The one thing we haven’t figure out from our short look at the hardware is how each pixel is addressed. We think the color value cascades down the data line as new values are introduced, but we could be wrong. Feel free to discuss that in the comments.

The project focuses on whether or not it’s even possible to drive one of these pixels with a 16MHz AVR chip. They use single-wire communications at 800 kHz and this really puts a lot of demand on the microcontroller. He does manage to pull it off, but it requires careful crafting in assembly to achieve his timing constraints. You can see a quick clip of the LEDs fading between colors after the break.

Continue reading “Driving A WS2811 RGB LED Pixel”

Meet The Winners Of The 2024 Tiny Games Contest

Over the years, we’ve figured out some pretty sure-fire ways to get hackers and makers motivated for contests. One of the best ways is to put arbitrary limits on different aspects of the project, such as how large it can be or how much power it can consume. Don’t believe us? Then just take a look at the entries of this year’s Tiny Games Contest.

Nearly 80 projects made it across the finish line this time, and our panel of judges have spent the last week or so going over each one to try and narrow it down to a handful of winners. We’ll start things off with the top three projects, each of which will be awarded a $150 gift certificate from our friends at DigiKey.

First: Sub-Surface Simon

While this contest saw a lot of excellent entries, we don’t think anyone is going to be surprised to see this one take the top spot. Earning an exceptionally rare perfect ten score from each of our judges, Sub-Surface Simon from [alnwlsn] grabbed onto the theme of this contest and ran like hell with it. Continue reading “Meet The Winners Of The 2024 Tiny Games Contest”

A chicken's egg with many holes glows beneath a glass globe set atop an inverted wooden bowl.

Glowing Egg Is A One-Oeuf Solution For Tracking Cycles

Look, if something happened to you every three weeks or so to basically turn you into a different person and factored heavily into whether any new humans were created, you’d probably want to keep abreast of the schedule, yeah? Yeah. So, while there are, of course, a ton of ways to do this with your phone, most of those apps do gross things with your data. Are you angry yet?

A standard chicken's egg with many holes both large and small.[Jakoba the Online Witch] certainly was, or if not angry, at least annoyed. So she built a glowing egg timer, which shines a different color based on current point in her cycle, to let her know when she is fertile and expecting Aunt Flo.

The coolest part is that this is an actual egg from one of [Jakoba]’s backyard chickens. No. The coolest part is how she was able to make so many holes without breaking it. (It took four tries.)

After bleaching the insides, the egg was ready to glow. As [Jakoba] says, the guts are simple — just a Wemos D1 Mini ESP8266, a WS2812 LED, and a heatsink. The enclosure consists of an inverted peanut bowl with a glass ornament hot-glued in place.

Once it was put together, all she had to do was add it in Home Assistant and use the current calendar state to trigger services from the YAML configuration.

Would you prefer an on-body solution? Here’s an earring that tracks temperature.

A mini Cyclone game consisting of an Arduino, an LED ring, and button, plus a scoreboard on a 16x2 LCD.

2024 Tiny Games Contest: Mini Cyclone Tests Reaction Time

Round and round goes the red LED, and if you can push the button when it overlaps the green LED, then you win. Cyclone is almost too simple of a game, and that’s probably part of why it’s so addictive.

The back side of the mini Cyclone game, showing the guts.Want to make one for your desk? All it takes is an Arduino Nano R3 or comparable microcontroller, an RGB LED ring with 12 LEDs, a 16×2 LCD, a buzzer, and a momentary push button switch.

Interestingly, there aren’t successive levels with increasing speed, but each round begins with a randomized speed value. Of course, this can all be easily changed in the code, which is modified from [Joern Weise]’s original.

This is a tinier version of [mircemk]’s original project, which uses a 60-LED ring and does contain levels. As usual with [mircemk]’s builds, this project is mounted on their trademark 3 mm PVC board and covered with peel-and-stick wallpaper. Be sure to check out the demo and build video after the break.

Don’t forget! You have until Tuesday, September 10th to enter the 2024 Tiny Games Contest, so get crackin’!

Continue reading “2024 Tiny Games Contest: Mini Cyclone Tests Reaction Time”

Illustrated Kristina with an IBM Model M keyboard floating between her hands.

Keebin’ With Kristina: The One With The Folding Typewriter

Have you built yourself a macro pad yet? They’re all sorts of programmable fun, whether you game, stream, or just plain work, and there are tons of ideas out there.

A DIY macro pad with key switches, dual linear pots, a rotary encoder, a screen, and a speaker.
Image by [CiferTech] via Hackaday.IO
But if you don’t want to re-invent the wheel, [CiferTech]’s MicroClick (or MacroClick — the jury is still out) might be just what you need to get started straight down the keyboard rabbit hole.

This baby runs on an ATmega32U4, which known for its Human Interface Device (HID) capabilities. [CiferTech] went with my own personal favorite, blue switches, but of course, the choice is yours.

There are not one but two linear potentiometers for volume, and these are integrated with WS2812 LEDs to show where you are, loudness-wise. For everything else, there’s an SSD1306 OLED display.

But that’s not all — there’s a secondary microcontroller, an ESP8266-07 module that in the current build serves as a packet monitor. There’s also a rotary encoder for navigating menus and such. Make it yours, and show us!

Continue reading “Keebin’ With Kristina: The One With The Folding Typewriter”

A small physical version of the game 2048, played with LEDs as numbers and tilt for input.

2024 Tiny Games Challenge: It’s 2048, But With LEDs

Remember the game 2048? You slide numbered tiles around on a grid, combining them until you have one tile with a value of 2048 (although it’s possible to go higher). Legend has it that 2048 was created by a bored teenager in the space of a weekend to see if he could program a game from scratch.

It only took a couple of weekends for [David] to get Tiny2048 up and running. In this version, each RGB value represents a number value, and input comes from a rudimentary gesture detector — tilt it this way and that to move the LEDs and combine the ‘numbers’. As you might imagine, it was a bit tricky to use colors to represent numbers, so each one had to be sufficiently unique.

[David] says that the LED matrix is a string of WS2812 LEDs in a grid formation, controlled by an ESP32-S3-MINI-1. Although this may be overkill, [David] broke out a bunch of IO at the top of the board so it can be used in the future as a dev board. Be sure to check it out in blinkenlight action after the break!

Continue reading “2024 Tiny Games Challenge: It’s 2048, But With LEDs”