Blog Posts

Open Source Lightsaber

Fredrik Hübinette has made his own Teensy based lightsaber.

This awesome looking lightsaber features a Graflex 2.0 for the hilt, which is a prop made to look like the original Gaflex flash gun used for Luke’s  lightsaber in the original Star Wars.  WS2811 LEDs are used to light up one of the blades.  He’s also used SK6812 LED strips for another blade.

This video shows the light saber in action, including the different blades made for it.  The sound effects in his lightsaber are most impressive.

Frederick has documented his build on his web site and made his code available as well.  You can read his build log over on the fx-sabers forum.

We previously showed this similar but unrelated light saber project by the Firebrand Forge.

Tuba Guy’s LED Tuba Lights

Jay Converse, The Tuba Guy, has outfitted his sousaphone with a sound activated LED system.  When he blows into his mouthpiece different patterned images come up.

Just one of his many very cool LED designs

He was at the Women’s March in Washington with his Sousaphone

This project makes great use of the Note Frequency tool in the Audio Library (see panel on right side).  The code was originally developed by Colin Duffy.

 

Saturday geek project. I got a new Teensy 3.5 because the audio board shorted out on my TubaLights version 0.9. The 5 red switches represent the entire stock of these single pole switches in D.C. I know because I scoured both Microcenters in town. TIL the nearest Radio Shack is in Warrenton!!!

You can view more of Jay’s tuba projects on his Instagram page captainsousaflame as well as his Facebook page TubaGuyFairfax.

 

 

 

 

 

Skylight Art Installation at Albuquerque Balloon Museum

Kevin Bott and the Art + Technology +  Sustainablity Research Group at the University of New Mexico created a beautiful art installation, Skylight, at the Albuquerque Anderson-Abruzzo Balloon Museum in their famous balloon-shaped window.

Those LED runs are 24 feet long! Holy cow!

 

This video gives some information about the project and shows the LEDs in action.

The team has made their code available on GitHub.

Free Pendulum Clock

Forum user Cyclist recently built a free pendulum clock.

The cool thing about a free pendulum is that it has no mechanical linkage, escapement mechanism, or direct mechanical power to keep it going.

A small magnet on the bottom of the pendulum induces a voltage on a coil mounted beneath as it swings past. The voltage is detected by Teensy’s a/d converter and triggers a propulsion pulse applied to the coil from a digital output pin. This gives the pendulum a tiny nudge to keep it going. The pendulum defies the senses, swinging in eerie silence.

Cyclist reported that the accuracy is all about the pendulum.  He had it going for about a week and it was running slow by a consistent 1 second per day. He’s working on trying to refine the pendulum  and pivot design for easier, finer adjustment.

Audio Spectrum Analyzer LED Matrix

Nick Metchalfe built his own audio spectrum analyzer that produces a detailed picture of what you are listing to in real time, showing the changing spectrum of live input signals up to 16 kHz.  By using 2 16×32 LED matrixes, the spectrum displays 64 bands.

This video show the spectrum analyzer in action.

Nick says that the Teensy Audio Library is at the heart of the design, providing audio capture and high resolution FFT routines. Audio frequency data is scaled and binned into logarithmic frequency response groupings and is plotted using a custom fast display driver into a spectrum that approximates the human auditory response for a balanced visual aesthetic.

Nick says that the Teensy Audio Library is at the heart of the design, providing audio capture and high resolution FFT routines. Audio frequency data is scaled and binned into logarithmic frequency response groupings and is plotted using a custom fast display driver into a spectrum that approximates the human auditory response for a balanced visual aesthetic.

He’s posted his spectrum analyzer code on GitHub.

Box of Clicky Light Awesomeness

Jeremy Gilbert made an awesome clicky toy.  The goal of the project was to create a toy that is fun to use, be tactile, light up, and make fun and satisfying noises.

After looking at different options to get the right “clicky-ness”, a 5V relay was used.  Jeremy discovered that you get get louder clicks if you overdrive the voltage.  While this probably isn’t so good for the relay, he felt that since the actual duty cycle is so short it was worth the risk.

The clicky box of awesomeness is  field programmable so that when new suggestions come up during user acceptance testing (performed by his 3-year old daughter) they can be implemented right away.

The write up on Jeremy’s Hackaday project offers a good narrative of how he approached the challenge of getting the right clicky sound and feel.

 

The Kyub: 3D Feather Touch MIDI Keyboard

Keith Baxter made a hand held MIDI keyboard called The Kyub.  This device using capacitive sensing and has an internal accelerometer for controlling the volume.

This video from their Kickstarter campaign gives a good overview and explanation of how the Kyub works.

This is a pretty cool video demoing the Kyub configured as a set of drum pads.

The software and details about how to build and use the Kyub are available on the Kyub website.

Why APA102 LEDs Have Trouble At 24 MHz

It’s well known long APA102 LEDs strips have have trouble at 24 MHz, usually after 150 to 250 LEDs.  But why?  Here’s my attempt to investigate.

One tempting explanation is signal quality problems due to horribly messy unterminated wiring carrying high speed signals, as in this photo!  But it turned out to be a more fundamental timing problem.

In this test, a Teensy 3.2 runs the FastLED “Cylon” example with this line:

 LEDS.addLeds<APA102,11,13,RGB,DATA_RATE_MHZ(24)>(leds,NUM_LEDS);

NUM_LEDs was set to 160, and I connected a strip of 144.  The oscilloscope traces are the signals which arrive at the end of the 144 LED strip.

First, I set the clock speed to only 2 MHz to see the “normal” waveforms output by the last APA102 LED.

The main thing to observe here is the APA102 output changes its data line (blue) at the falling edge of the clock (red).  You might notice a slight delay from the falling edge of the clock to the change in data, but it’s tiny relative to the slow 2 MHz clock cycle.

At 24 MHz, the delay is much more significant.  In this case I measured approximately 15 ns delay from clock to the data changing.

You might also notice the red trace doesn’t look like the 50% duty cycle SPI clock signal.  I believe this, together with the data delay, is the main cause of APA102 issues on long LED strips.

Here’s another measurement of the clock.

Each APA102 LED is supposed to regenerate the clock signal.  Ideally this is supposed to allow a very long LED strip.  But it appears each APA102 lengthens the clock high time and shortens the clock low time slightly.  This might be internal to the APA102 control chip, or it could be simply due to the clock output driver having a faster fall time than rise time, causing the following APA102 to receive a slightly different clock high time.  Perhaps the APA102 controller chip has a better N-channel transistor for pulling the clock output low than the P-channel transistor for driving it high?

After 144 LEDs, the clock low time on this strip has shrunk from 20.83 ns to approximately 18 ns.

With the data output delayed 15 ns after the falling edge, this leaves only 3 ns before the next APA102 LED captures the data on the rising edge of the clock.  As the strip gets longer, each APA102 reduces the clock low time, until it’s shorter than the clock to data delay.

FastLED defaults to 12 MHz SPI clock for APA102 LEDs on Teensy 3.x, which should allow for several hundred LEDs before this clock duty cycle change becomes a problem.

This test was just one APA102 strip I purchased about a year ago.  The Chinese semiconductor manufacturers making these LEDs have a history of changing the silicon without any notice.  I also only tested at room temperature, using only 1 example program which doesn’t drive the LEDs anywhere near 100% duty cycle (more heating).  I powered the 144 LEDs with 5V from both ends, but didn’t make any measurements of the voltage near the middle of the strip.  Power supply voltage might matter.  In other words, your mileage may vary.

But hopefully this helps with understanding what’s really going on, why short APA102 LED strips work so well with the fast clock speeds, but fail when using very long strips, even though the LEDs are supposed to regenerate the clock and data as they pass it down the strip.