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

Advertisement

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

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