DIY 3D Tilt Sensor

tilt If you’re trying to detect the orientation of an object, sometimes you really don’t need a 6DOF gyro and accelerometer. Hell, if you only need to detect if an object is tilted, you can get a simple “ball in a tube” tilt sensor for pennies. [tamberg] liked this idea, but he required a tilt sensor that works in the X, Y, and Z axes. Expanding on the ‘ball in a tube’ construction of simple tilt sensors, he designed a laser cut 3D tilt sensor that does all the work of of a $30 IMU.

The basic design of this tilt sensor is pretty simple – just an octahedron with four nails serving as switch contacts at each vertex. An aluminum ball knocks around inside this contraption, closing the nail head switches depending on what orientation it’s in. Simple, and the three dimensional version of a ball in tube tilt sensor.

To get the tilt data to the outside world, [tamberg] is using an Adafruit Bluetooth module, with two of the nails in each corner connected to a pin. With just a little bit of code, this 3D tilt sensor becomes a six-way switch to control an RGB LED. Video of that below.

Continue reading “DIY 3D Tilt Sensor”

Here Come the RGB LED Clones

ws2812 and clones timing

It seems like every third project on Hackaday uses WS2812 RGB LEDs in some way. We all love our blinkenlights, and bright, cheap, serial controlled RGB LEDs are the bees knees.

As with all products these days, competing manufacturers have discovered the huge market for these things, and clones are now available. [Tim] recently took a look at the PD9823, as well as three versions of the WS2812. [Tim] is considered something of a WS2812 guru here at Hackaday. You might remember him from his WS2812 driver optimization article, which should be required reading for any WS2812 hacker.

As many of us know, the timing characteristics for these LEDs can be a pain to work with. The values also differ between the WS2812S and WS2812B. [Tim] discovered that the new through hole WS2812D parts are different yet again, though rather close to the B parts. The PD9823’s designers must have studied the WS2812’s closely, as their 190ns time base falls directly between WS2812S 166ns time and the 208ns time of the WS2812B. The PD9823 also requires a slightly longer reset pulse.

The takeaway is that well written drivers such as [Tim’s] should have no problem with the new parts, but compatibility is something to keep in mind as more clones hit the market.

The 200 LED Ring Clock


There are LED clocks, and then there are LED clocks that can blind you from 30 paces. [Stiggalicious’s] LED ring clock is of the latter variety. 200 WS2812B/Neopixel RGB LEDs drive the ring clock to pupil searing levels. The clock runs on ATMega1284P, with timekeeping handled by an NXP PCF8563 real-time clock chip. Code is written in Arduino’s wiring language using Adafruit’s Neopixel library.

Building the clock with a single Printed Circuit Board (PCB) would be both expensive and wasteful. [Stiggalicious] cleverly designed his clock to be built with 8 copies of the same PCB. Each board makes up a 45° pie slice of the ring. All 8 PCBs have footprints for the CPU, clock chip, and other various discrete parts, but only the “master” section has these parts populated. 7 “slave” sections simply pass clock, data, power and ground through each LED. He used Seeedstudio’s board service to get 10 copies of his PCB made, just in case there were any mistakes.

[Stiggalicious] rolled the dice by buying exactly the 200 LEDs he needed. Either he got really lucky, or the WS2812 quality testing has improved, because only one LED had a dead blue LED.

If you’d like to find out more, [Stiggalicious] gives plenty of details in his Reddit thread. He doesn’t have a webpage setup for the clock but he’s uploaded his source code (pastebin link) and Altium schematic/PCB files ( link). We may be a bit biased, but would be a perfect spot for this or any other project!

The Megascroller, For Video Games In The Round


The folks at NYC Resistor have a thing for circular displays, it seems. Their earlier Hexascroller was a ceiling mounted display with six 30×7 displays – good enough to display the time and a few textual message in six directions. The Octoscroller bumped up the display capability with eight 16×32 RGB LED panels. Now the Megascroller, a 32-sided 512×64 display is hanging in the hackerspace, complete with 360° Mario and Pong.

The Megascroller is one of [Trammell Hudson]’s projects, constructed out of sixty-four 32×16 RGB LED matrices. That’s an impressive amount of controllable LEDs, that required a lot of processing power: namely, the BeagleBone-powered LEDscape board used in their earlier Octoscroller

As far as applications go, they naturally have Pong, but a more interesting application is the side-scrolling Mario that requires you to move around the display as you play. You can check out a video of that below.

If you’d like to see the Megascroller in person, as well as a whole bunch of other crazy blinking interactive projects, NYC Resistor is holding a an interactive show this weekend, beer provided.

Continue reading “The Megascroller, For Video Games In The Round”

Koch Lamp is 3D Printed with a Twist

Koch Lamp

[repkid] didn’t set out to build a lamp, but that’s what he ended up with, and what a lamp he built. If the above-pictured shapes look familiar, it’s because you can’t visit Thingiverse without tripping over one of several designs, all based on a fractal better known as the Koch snowflake. Typically, however, these models are intended as vases, but [repkid] saw an opportunity to bring a couple of them together as a housing for his lighting fixture.

Tinkering with an old IKEA dioder wasn’t enough of a challenge, so [repkid] fired up his 3D printer and churned out three smaller Koch vases to serve as “bulbs” for the lamp. Inside, he affixed each LED strip to a laser-cut acrylic housing with clear tape. The three bulbs attach around a wooden base, which also holds a larger, central Koch print at its center. The base also contains a PICAXE 14M2 controller to run the dioder while collecting input from an attached wireless receiver. The final component is a custom control box—comprised of both 3D-printed and laser-cut parts—to provide a 3-dial remote. A simple spin communicates the red, green, and blue values through another PICAXE controller to the transmitter. Swing by his site for a detailed build log and an assortment of progress pictures.


Driving 1000 NeoPixels With 1k Of Arduino RAM


NeoPixels, or WS2812 RGB LEDs, are the display device du jour for impressive and blinding lighting projects. Commonly known for very tight timing requirements, [Josh] discovered this is, in fact, usually unnecessary. The timing requirements for NeoPixels aren’t as bad as they seem, once you get to know them.

The official WS2812 timing specs give values that are fairly constraining for anyone writing a library to drive these RGB LED pixels, but simplifying the timing diagram by assuming a 50% duty cycle on the data lines and ignoring the longer maximum times results in a surprising conclusion: the only tight timing parameter for NeoPixel signaling is the maximum width of the 0-bit pulse.

Realizing this, [Josh] wrote a simple demo program to drive over 1000 NeoPixels – an 11 meter long strip – using 1K of RAM on an Arduino. The trick comes by simply delaying the bitbanging a set number of cycles. No obtuse assembly required.

There is only one problem with [Josh]’s method of driving a nearly unlimited amount of NeoPixels – building a display where every NeoPixel is an element in a larger image, such as in a video display, is impossible on systems with limited amounts of RAM. The code writes values to the NeoPixel strip algorithmically, so if you can’t build your animation with for loops, you’re out of luck. Still, Driving this many NeoPixels is a migraine trigger, and we have to give [Josh] credit for doing this with 1K of RAM.

Check out the video of [Josh]’s extreme NeoPixel strip below.

Continue reading “Driving 1000 NeoPixels With 1k Of Arduino RAM”

A Raspi Ambilight With HDMI Input

With the Raspberry Pi now most famously known as a $30 media PC, it only makes sense that the best uses for the GPIO pins on the Pi are used for an Ambilight. [Great Scott Labs] put up a great video on using the Pi as a uniquely configurable Ambilight with Hyperion and just about any video input imaginable.

This isn’t the first Ambilight clone [Great Scott] has put together, but for the first version the Ambilight functioned only under Raspbian and not any random HDMI input. The new version solves this by using an HDMI splitter box, feeding into an HDMI to composite converter, and finally into a USB composite capture dongle attached to the Raspi.

With the software in the instructions, the Raspi effectively mirrors the video coming from the video capture dongle. The Pi is running Hyperion to control a strip of WS2801 RGB LEDs, making the back of any TV glowey and blinkey.

Since [Great Scott] is using a component video signal as an input, the adapters necessary to have any device work with this Ambilight are readily available. We’d honestly like to see this build working with the old Commodore disk access screen border going nuts, so be sure to send that in if you ever get that working.

Continue reading “A Raspi Ambilight With HDMI Input”