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.


https://fabiobaltieri.files.wordpress.com/2014/06/sensor-breakout-intro1.jpg?w=580


https://fabiobaltieri.files.wordpress.com/2014/06/sensor-breakout-intro2.jpg?w=580

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!


https://fabiobaltieri.files.wordpress.com/2013/03/pm-intro1.jpg


https://fabiobaltieri.files.wordpress.com/2013/03/pm-intro2.jpg

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.

https://fabiobaltieri.files.wordpress.com/2012/09/power-head.jpg

A friend of mine is using this one side-by-side with its photovoltaic inverter to upload his data on pvoutput.org, 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.

https://fabiobaltieri.files.wordpress.com/2012/05/vusb-kernel-intro.jpg
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!

Features:

  • 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

Drawbacks:

  • 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

https://fabiobaltieri.files.wordpress.com/2012/04/avr-watch-wrist.jpg

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

Fun with ATtiny and V-USB

Sometime you have to do build just for the fun of it.

Recently, while I was about to order a set of PCBs from my favorite website, I told a friend about a really funny project based on the V-USB stack with ATtiny devices, and he was impressed by the size of the thing… So I decided to design my own ATtiny V-USB board!

This project is a really small USB gadget without any specific I/O, and it’s designed to fit into a USB connector with the exposed PCB as small as possible.

The original idea for this board was to use it for April-fool like jokes, but the project also uses a couple of interesting features of the V-USB stack.

Read more of this post

USB Key AVR Programmer

So, you saw some AVR microcontrollers and you decided they are cute (they really are!). If you choose to work in plain C what you need is just a toolchain (you probably have some package ready for your distribution), the avr-libc library, a programming software like avrdude and a hardware programmer!

While you can freely download all the software you need, including the source code, for the programming hardware you have to choose between buying a commercial programmer (either from Atmel or some third party) and building your own.

What I’m publishing in this post is my version of the popular USBasp, an open source USB AVR programmer design from Thomas Fischl.

My version is a USB key-like design, using many SMD parts and a very small PCB. You can take it with you everywhere!

Read more of this post

Five Port Fast Ethernet Managed Switch

This project is the complete design of a 5 port fast Ethernet switch, based on the Micrel KSZ8995M switch IC with integrated PHY and an ATMega168 8-bit microcontroller.

The hardware was originally developed in 2009, because I needed a compact, VLAN capable switch to expand the functionality of an NSLU2, which has just a single Ethernet port and that I was using as router for my home network.

Features

  • Complete VLAN support
  • Auto MDIX on all ports
  • Programmable port rate limiting
  • Integrated MIB counters
  • TTL UART interface for external access of switch configuration


Read more of this post