avr-usb: A USB slide show presenter (aka USB powerpoint presenter)

ArticleCategory: [Choose a category, do not translate this]


AuthorImage:[Here we need a little image from you]

[Photo of the Author]

TranslationInfo:[Author + translation history. mailto: or http://homepage]

original in en Guido Socher

AboutTheAuthor:[A small biography about the author]

Guido likes Linux because it is a really good system to develop your own hardware.

Abstract:[Here you write a little summary]

A slide-show forward/backward button in the size of a USB-key!

Those old slide-projector had normally a handy button with a cable where you could advance to the next slide or go one back. I was looking for something like that. I have tried to use a USB wheel mouse but it is not the same. You click accidently on the wrong button and you get a context menu or you scroll too many slides at once.

Such a presentation button enables you as a presenter do what you do best: connect with the audience and participate in an effective and interactive presentation.

Why not build one? It should be a USB device and operating system independent. A small circuit with two buttons. One to go forward and one to go to the previous slide or photo.

This usb slide show presenter works without any special driver on the PC side. Just plug it in.

ArticleIllustration:[This is the title picture for your article]


ArticleBody:[The article body]


USB HID is a specification that includes things like mouse and keyboard. You can download the specs at http://www.usb.org/developers/hidpage/ (The important ones are: Device Class Definition for Human Interface Devices (HID) and HID Usage Tables where you can find key code mappings for HID).

What we need to build here is a page-up and a page-down button.


http://obdev.at/products/avrusb/index.html has a GPL based driver to implement USB in an avr microcontroller without specialized hardware. There is also the AVR309, software USB application note from Atmel. I don't know who invented it first Atmel or the people from obdev.at or somebody else. In any case the people from obdev.at have done a great job. It is an easy to use library with a large number of examples. It works perfect and is very reliable. Software only USB is a low speed device. You can't implement usb-storage with it but it is perfect for usb HID.

The circuit diagram

Circuit diagram.
The USB connector is a standard USB-A connector with 4 pins but I wanted to use the outer USB shielding also. It is therefore drawn in the diagram as a 6 pin connector. TP1 was used for tests during development and TP2/TP3 are there to have a ground connected metal plane near the buttons for ESD protection of the hardware.

Photo gallery

Below a few more photos of the circuit. A bit of hot shrink tube around the board makes it a nice handy slide show presenter.
[just the usb presenter] [usb presenter, hot shrink tube] [usb presenter connected via a USB extension cable]


It was fun to build this "slide show presenter". The software emulates a HID keyboard and works out-of-the-box without requiring any special software or driver. You can use it under Window, Linux, Mac, BSD. Just plug the USB connector in, wait a few seconds for the enumeration on the USB bus and start your slide show. This little presenter works with any presentation software. Powerpoint, OpenOffice, ... you name it.