Breakout Board for Wireless Devices Using the Nordic nRF24L01+

Recently I’ve been playing a lot with sensors around the house and I’ve decided to make myself a breakout board with all of the common parts the sensor board, including the power supply, microcontroller, wireless interface and
battery charger.

This board can be used to quickly deploy some sensors or actuators, and can be configured to work from battery (for low power applications) or from an USB port (to be used with phone charger). The PCB fits into an Hammond 1551R box.

Read more of this post


Power Manager: Soft Power Control of USB and Low Voltage Devices

One frustrating aspect of firmware or kernel development on commodity hardware, such as cheap evaluation board or production devices, is the necessity of power-cycling the target device to reboot it every time the developer needs to load and run a new software build.

It sometimes happens that a development board is designed with proper management electronics to ease software development or automated testing, but in most cases the developer has reset the board manually, and sadly quite often reset buttons are unaccessible or just non-existent, requiring the developer to unplug and replug the power cable. If this ends up in your workflow and at the end of the day your fingers hurt, something is wrong.

This project is a small AVR/V-USB based board to control the power supply of development boards and other low voltage and USB powered devices. It allows to program a sequence of events for the output ports, has LED indicators for port status, and additionally provides power measurement on both USB and main power channels, and uses a bootloader for easy firmware upgrade… All in a solid and funny looking Hammond blue box!

Read more of this post

USB Current Meter

…or USB power meter?
…or USB KEY AVR Tiny split core interface?

Call it however you want, this project is a small USB key sized circuit to interface an USB system with a single split core current sensor using an ATtiny85.

These non-invasive sensors are widely available on eBay and similar for a reasonable price (around USD$ 30 for the one I used) and let you measure the current flowing through an alternate voltage line, like house mains. This can be used to get a gross measure of instantaneous power consumption, allowing you to make a graph out of it and plot your power usage profile, or just to check how much power a device is using.

A friend of mine is using this one side-by-side with its photovoltaic inverter to upload his data on, a nice website for photovoltaic plant monitoring.

This also shows a rectifier circuit to acquire data from an alternate voltage source without dual power rails.

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

AVR Watch

Following the trend of doing things just-for-fun, this is a wrist watch using an AVR microcontroller and 7-segment display!


  • Open firmware and hardware design files
  • AVR and V-USB based
  • Uses SMD 7-segment display – retro look!
  • Integrated USB Maxim battery charger
  • Shows how to scan-drive 7-segment displays without external components


  • Short battery life (less than one week with a 100mAh LiPo battery)
  • Tricky to hand solder (if you don’t have an hot air station)
  • Makes people thinks you are crazy (I should put this one on “features”…)
  • Looks like a small time-bomb, I would not wear it while in an airport

As most of my design, I made this one because I had some 7-segment display laying around and I wanted to build something with those (that’s also why I don’t have a project BOM). Also, I like the idea of having a DIY watch which looks like a lab power supply (it also displays battery level in Volts).

Read more of this post

UART Bitrate Converter for GPS on Nikon Cameras

Modern Nikon DSLR cameras supports the connection of a GPS on the remote shutter port to include automatic geotagging of the shoots.

The camera uses a small proprietary double-sided connector to receive the position data form a remote GPS unit. The protocol used is the standard NMEA 0183.

Nikon official GPS unit is quite expensive, and I had an old Bluetooth GPS unit which I’m not using anymore but had the NMEA output at the wrong bitrate, as the camera only accept NMEA data at 4800bps, while the GPS works at 38400bps.

This project, made for my good friend and photographer David (checkout his blog!), is a small firmware for an ATMega168 to read the data from an high speed UART port, and reply that on a slower port, using a circular buffer for the data.

Read more of this post

USB Sensors with ATtiny Microcontrollers

Working with embedded electronics, you will eventually ends up with some sensor between your hands, here I’ll show how to make a graph out of it!

This project involves a light sensor, a tiny 8-pin AVR USB key with the V-USB stack, a GNU/Linux system and rrdtool.

Read more of this post