Custom Rotary Switch Takes A Motor

There are certain challenges we all will have to face sooner or later. Changing a flat tire in the rain, trying to put on a shirt that doesn’t quite fit, or producing a 16 position rotary switch for a replica computer front panel. There was a time when something like this would be a major undertaking, but with the help of a 3D printer [Megardi] was able to build good looking switches that were big enough to be motor driven.

Switches of course are old tech, and there are plenty of ways to make contacts. [Megardi] settled on using 16 small magnets and reed switches. This works, but you probably wouldn’t want to use it where the switch might get close to an external magnet. It does however make for a neat assembly without a lot of mechanical work. It also resists wear compared to a brush type arrangement.

Continue reading “Custom Rotary Switch Takes A Motor”

Dumb Down Your Xiaomi Smart Lamp With A Custom Firmware

Undoubtedly, the ESP8266’s biggest selling point is its WiFi capability for a ridiculously low price. Paranoid folks probably await the day its closed-source firmware bits will turn against humanity in a giant botnet, but until then, hobbyists and commercial vendors alike will proceed putting them in their IoT projects and devices. One of those devices is the Yeelight desk lamp that lets you set its color temperature and brightness via mobile app.

[fvollmer] acquired such a lamp, and while he appreciated its design and general concept, he wasn’t happy that it communicates with external servers. So he did the only reasonable thing and wrote his own firmware that resembles the original functionality, but leaves out the WiFi part. After all, the ESP8266 has still a lot to offer in its core essence: a full-blown 32-bit microcontroller with support for the most common, hobbyist-friendly SDKs.

The lamp’s color temperature and brightness are set with a rotary encoder / push button combo switch, and the LEDs themselves are controlled via PWM. All things considered, it’s a rather straightforward endeavour, for which [fvollmer] chose the standalone C SDK. And in the end, it’s not like he’s unreasonably cautious to keep some control over his household items.

Light Bulb Efficiency Exhibit Updated With LED Bulb Option

It seems like tinkerers are always being tapped to build or repair exhibit hardware. This time around it’s [Dino’s] turn. He’s been asked to alter a light bulb efficiency demo so that it includes an LED option.

The idea here is that you crank a generator to power different types of light bulbs. There’s an ammeter built in, but possibly the best feedback is knowing how hard you have to crank to illuminate the most inefficient choice. As it stands there is a toggle switch to choose between incandescent and CFL bulbs. [Dino’s] solution is to use a three-position rotary switch. He removes the toggle switch and replaces it with a socket for the LED bulb. A new location for the rotary switch is chosen and he does a bit of work to get it mounted┬ásecurely. If you haven’t worked with this type of switch before he takes the time in the video after the break to explain how they work.

Continue reading “Light Bulb Efficiency Exhibit Updated With LED Bulb Option”

Interfacing A Digital Rotary Switch


[hw640] has put together a well written and detail packed explanation of how to interface with a digital rotary switch. These digital opto encoders have just two outputs with four possible logic levels (00, 10, 11, 01). The relative position of the switch is insignificant but the direction of rotation is what matters.

The short and dirty: Each of the switch’s 2 output pins is attached to a pin change interrupt on the microcontroller. Every time the switch moves it generates either a rising edge or a falling edge on one of the two pins; both edges cause an interrupt. By checking which pin caused the interrupt, then comparing the logic levels of the two pins after that interrupt, we can determine the direction the switch was rotated.

Although this explanation uses a PIC and code written in PicBasic Pro the concepts are discussed in the abstract and would easily be adapted to an AVR or another microcontroller of your choice.

Resistive Ladder Volume Control


[jefffolly] published some straight forward plans for a passive volume control. It uses a resistive ladder built across the contacts of 12W rotary switches. Each resistor provides a 5dB difference, and he recommends using 0.1% tolerance resistors to maintain accuracy. The use of discrete resistors instead of volume pots means that the output is much more predictable. All of the RCA sockets were connected using oxygen-free copper wire.