(Getting Rid Of) The Ghost In The LED

Multiplexing is a very old technology in which control signals are intermixed for the sake of being able to control more devices than there are control signals. For [mihai.cuciuc], the problems started when he multiplexed some very efficient LEDs.

The problem? In two banks of six LEDs each, both LEDs connected to a single Arduino pin would light, even when only one bank was turned on at the ground side. The LED In the bank that was switched on lit brightly, and its corresponding LED in the bank that was off would also be very dimly lit. [mihai] was able to determine that the problem was not due to a leaky transistor, but rather due to a quality of the LEDs themselves.

What is an LED but a diode, and it’s well known that diodes also have capacitance. In fact, this quality is exploited in varactor diodes, a specialty diode whose capacitance can be changed by varying the voltage on the cathode. [mihai] deduced that this capacitance was causing current to flow in the bank that was off. Where was the current going? From the Arduino pin that was on, through its attached LED, and then into the rest of the bank of LEDs, charging them like capacitors. [mihai] hasn’t seen this before, but theorizes that for the latest batch of high efficiency LEDs, this minute current is enough to light the LED through which the current is flowing.

[mihai]’s solution is an elegant hack which he’s made available for your perusal. You might also enjoy this introduction to diode basics by W2AEW. If you have any great diode or LED hacks of your own, be sure to drop us a line!

3D Printed Flip Dots

Displays have come a long way in the last few decades, but none can deliver the mesmerizing visual and audio experience of a large flip dot display. Both old panels and new panels can be expensive and difficult to source, so [Larry Builds] made his own flip dots with the help of 3D printing.

Flip dots are driven by a pair of electromagnetic posts that attract or repel a magnet embedded in the dot, and [Larry Builds] version is no different. For the electromagnets, he used M3 threaded rod with enamel wire wound around them using a drill. At first, he used a large magnet in the center of the 3D printed dot, but the magnetic field was large and strong enough to flip the surrounding dots in an array. He then changed the design to a small 4 mm diameter magnet in the edge that aligns directly with the electromagnets. This design looks very similar to those used by Breakfast for their massive installations. By modifying electromagnets and adding spacers around the magnets, he was able to reduce the operating current from 2 A to below 500 mA. [Larry Builds] also breadboarded a basic driver circuit consisting of H-bridges multiplexed to rows and columns with diodes.

We will be keeping a close eye on this project, and we look forward to seeing it evolve further. It’s definitely on our “things to build” list. We’ve embedded multiple videos after the break showing the progress thus far.

We’ve covered several interesting flip dot projects, including a water level indicator that doesn’t use any electronics and another that is crocheted. Continue reading “3D Printed Flip Dots”

Prioritising Mechanical Multiplexer

When automating almost any moderately complex mechanical task, the actuators and drive electronics can get expensive quickly. Rather than using an actuator for every motion, mechanical multiplexing might be an option. [James Bruton] has considered using it in some of his many robotics projects, so he built a prioritizing mechanical multiplexer to demonstrate the concept.

The basic idea is to have a single actuator and dynamically switch between different outputs. For his demonstration, [James] used a motor mounted on a moving platform actuated by a lead screw that can engage a number of different output gears. Each output turns a dial, and the goal is to match the position of the dial to the position of a potentiometer. The “prioritizing” part comes in where a number of outputs need to be adjusted, and the system must choose which to do first. This quickly turns into a task scheduling problem, since there are a number of factors that can be used to determine the priority. See the video after the break to see different algorithms in action.

Instead of moving the actuator, all the outputs can connect to a single main shaft via clutches as required. Possible use cases for mechanical multiplexers include dispensing machines and production line automation. Apparently, the Armatron robotic arm sold by Radioshack in the ’80s used a similar system, controlling all its functions with a single motor.

[James] knows or two about robotics, having built many of them over the last few years. Just take a look at OpenDog and his Start Wars robots. Continue reading “Prioritising Mechanical Multiplexer”

A Self-Expanding PWM Driver

For smaller microcontrollers, having enough outputs for the job is sometimes a challenge. A common solution is to do some sort of multiplexing with the available outputs or perhaps something more advanced such as Charlieplexing, but another good option is to use a specialized driver board. What’s even better is if you can daisy chain driver boards to get even more outputs.

[Eric] has been working on a 16 channel LED project but first wanted to build a driver board with 8 channels. Before building a full 16 channel version he realized that he could take the same 8 channel board, make a mirror image of it, and attach it underneath the first board with headers in order to double the number of channels available. Without having to build a separate 16-channel board, this shortcut saved [Eric] some time and a great deal of effort.

This is a great example of working smarter, not harder. Each of the 8 or 16 channels has full PWM support as well to support PWM dimming, and a similar board could be built for motor control as well. It’s a good illustration of how good design can end up working for you as well. And if you need even more outputs, Charlieplexing is one way to get them.

Continue reading “A Self-Expanding PWM Driver”

Building And Controlling 19 LEDs & Five Buttons From Five Outputs

Numbers are hard enough in English, but [Sadale] decided to take things a step further by building a calculator that works in Toki Pona. The result is Ilo Nanpa, an awesome hardware calculator that works in this synthetic minimal language. This is a bit harder than you might think, because Toki Pona doesn’t have digits in the same way that Neo-Latin languages like English do. Instead, you combine smaller numbers to make bigger ones. One is Wan, Two is Tu, but three is Wan Tu (1+2). As you might expect, this makes dealing and representing larger numbers somewhat complicated.

Ilo Nanpa gets around this in a wonderfully elegant way, and with some impressive behind the scenes work. The calculator has 16 LEDs, nine buttons and a slider switch, but they are all controlled and read through just five IO pins on the STM8S001J3 controller that runs the device.

That’s because {Sadale] did some remarkable work with multiplexing and charlieplexing. Multiplexing is controlling more outputs than there are control inputs by using rows and columns: it is how the LED display you are probably reading this on can be controlled by just a few wires. By switching through these rows and columns at a higher speed than the eye can see, you create the illusion of a single, continuous display.

Charlieplexing takes this a step further by using multiple voltages on a single connection to further split the signal. With the clever use of voltage dividers the directional properties of LEDs and multiple voltage levels, the Ilo Nanpa runs all of the LEDs and senses all of the buttons and the slider from just five pins. That’s a remarkably neat piece of design, and it is worth spending some time looking over the excellent explanation of the process that [Sadale] wrote to see how it is done, and poring over the code for the device to see how he programmed this all into a single low powered chip. And, while you are reading, you might pick up a few words of Toki Pona. Tawa Pona!

Continue reading “Building And Controlling 19 LEDs & Five Buttons From Five Outputs”

Addressable 7-Segment Displays May Make Multiplexing A Thing Of The Past

[Sean Hodgins] has a knack for coming up with simple solutions that can make a big difference, but this is one of those “Why didn’t I think of that?” things: addressable seven-segment LED displays.

[Sean]’s design is basically a merging of everyone’s favorite Neopixel RGB LED driver with the ubiquitous seven-segment display. The WS2811 addressable RGB driver chip doesn’t necessarily have to drive three different color LEDs – it can drive three segments of the same display. With three of the chips on a single board, all seven segments plus the decimal point of a display can be controlled over a single data line. No more shift registers, no more multiplexing. And as a nice touch, individual displays can be ganged together with connectors on the back of each module. [Sean] has some code to support the display but is looking for someone to build a standalone library for it, so you might want to pitch in. Yes, he plans to sell the boards in his shop, but as with all his projects, this one is open source and everything you need to build your own is up on GitHub. The brief video below shows a few daisy-chained displays in action.

Like many of [Sean]’s designs, including this Arduino rapid design board, this is a simple way to get a tedious job done, and it wrings a lot of functionality from a single IO pin.

Continue reading “Addressable 7-Segment Displays May Make Multiplexing A Thing Of The Past”

New Method For Measuring Lots Of Resistors Using Very Few Wires

[Daqq] is back at it again with the linear algebra, and he’s now come up with a method for determining the resistance of lots of resistors using little of wires and loads of math.

Like any reasonable person, [daqq] decided it would be fun to “solve one of those nasty [electrical engineering] puzzles/exercises where you start out with a horrible mess of wires and resistors and you are supposed to calculate the resistance between two nodes.” You know, just an average Saturday night. At the time, he was also fascinated by Charlieplexing – an awesome technique that either allows one to control multiple polarized components, such as LEDs, simply by connecting them in a specific way. After toying with the idea for a while, [daqq] found that using just Charlieplexing would be“a horrible mess” but he didn’t stop there. Drawing inspiration from Charlieplexing, he came up with the idea to connect things in such a way that every node is connected by one connection to every other node – a complete graph from a topological view point (this makes so much more sense visually). From here, he was able to set pins to HIGH, LOW, or INPUT and gather all the data needed to solve his linear system of equations.

Now, there is a balance to everything, and while this system can determine the resistance of .5*N(N-1) resistors using just N wires, it also a memory and computation hungry method. Oh well, can’t have it all. But, while it’s computationally hungry, [daqq] got it working on an ATMega32, so it’s not an unmanageable feat. And, let’s not forget to mention [daqq’s] wonderful writing. Even if you don’t know linear algebra (or would rather forget), it’s a good read from a theory perspective. So good, in fact, that [daqq] is getting published in Circuit Cellar!

We love to see theory in the hacker world, so keep it coming! But, while we wait (wink wink), there’s always time to review the basic Hacker Calculus and check out our past math-related articles.