LED Light Replacement for AC Halogen Lamps

LED based home lights are becoming more and more common each day due to their higher efficiency, and their price is starting to fall to an affordable level. Most commercial AC LED lights on the market are meant to replace 230V E27 lamps, as that socket is big enough to fit an AC/DC converter inside.

I have recently found myself with some floor and roof halogen lamps that I wanted to convert to LED, but I wasn’t able to find a commercial replacement for the 12V AC powered G4 lamps and I did not want to replace the power supply, so I decided to run my own design!


This project is a small LED based lamp designed to replace AC halogen bulbs, and to fit in a small 3cm diameter PCB.

Read more of this post


Linux Kernel Device Drivers for AVR V-USB Devices

V-USB is a really convenient library to implement USB communication between an AVR microcontroller and any USB host enabled system.

The host side software for a V-USB device is usually handled either from a class driver, such as for HID-compliant devices, or from an userspace libusb-based application.

This post shows how to implement a Linux kernel device driver for a simple ep0-based V-USB device.

Read more of this post

LED Lighting on a Budget

LED based lighting is slowly entering the market of home lights side-to-side with traditional incandescent bulbs (which are phasing out in many countries) and more recent gas-discharge lights.

One of the best known advantage of LED lights is their power efficiency, which can be quite high when compared with traditional lights, but if you like to do a DIY light system for your house the most interesting aspect of LED is that you can dispose the single diodes in many ways to get the desired light effect.

LEDs can be obtained in many ways, and if you have some broken LED laptop display to tear down, then you can recycle that LEDs to do some ambient lighting in small environment.


Here I’ll show a couple of example of how to use LED lights from broken laptop display, explaining how to drive the LED with series resistor or DC/DC converters.

Read more of this post

Network Activity LED with Linux LED Subsystem

This is a nice userspace application I use on my router to control the Internet connection status LED in “smart” way.

The idea is simple, instead of just randomly blink the LED when there is some activity on the network, this application checks for the total bytes transferred on the network interface, and blinks the LED every 100KB of data.

That behavior is borrowed from modern electric counter, which have a LED that blinks every predefined number of Watt/hour.

That’s useful because you can quickly have an idea of the bandwidth utilization of your connection by just checking how often the LED blinks, so you can instantly identify a low-bandwidth constant traffic by a high-bandwidth traffic.

Read more of this post

Linux LED Subsystem

LEDs… Everyone likes that! Those little shiny electronic devices are mounted on any well-made electronic equipment to indicate at a glance its working status. They tell you when your network has activity, when your laptop battery is empty, when your hard-drive is working, when your amplifier is overloading… they may even light up your bedroom!

In embedded systems the proper design of the front panel, with the right LED illuminated icons, is an essential feature and if you are familiar with network troubleshooting you can understand why!

Well-made devices should have a panel that instantly gives you an idea of what’s working and what’s not just by looking at it.

If you are using Linux as your kernel on a SoC design, you’ll be glad to know that it has an entire subsystem dedicated to LEDs!

In this post I’ll show how you to check if your system has some controllable LEDs, and how to use that from userspace applications and kernel drivers.

Read more of this post