USB devices for Raspberry Pi

A small computer like the Raspberry ¬†deserves small input devices ūüėČ
I use several USB based devices to make life easy while developing and testing. Here I show you some favorites for power, keyboard and mouse, hub and ethernet and Wifi adapter.



This is an USB  cable with an on/off switch for power. This saves me from inserting and removing every power recycle the mini USB from the Raspberry Pi or unplugging  at the powerbrick at the back of the desk.

Easy to get on from China cheap.

USB hub

While the Raspberry Pi B+ and 2 Model B have 4 USB ports, the older ones have either one or two.
Keyboard, mouse and a wireless adapter take three and also during experiments I hate plugging in and out.

This USB 2.0 hub has 4 ports, each with a switch. Works perfect and so handy! Also from China via or Banggood.

If only the Rapsberry Pi was a bit more tolerant on USB hotplugging, a crash occurs quite often when inserting USB devices.

The photo shows an experiment to test the wireless adapters. The right one is a 150N TP-Link, the other two 150N with long antenna’s, from ebay.
Both types work out of the box in Raspbian (wheezy, may 2015). Fun to see three wireless adapters all working fine together!My oldest Raspberry Pi B(one of the first batches) had trouble proving enough power via USB to three wireless adapters and a keyboard dongle, it did not succeed to bring them all online.
All my other Pi’s (B, B+, 2 B, A, A+) ¬†could do this without a hick.

Scroll down to Ethernet adapters for another hub that works fine!

Keyboard and mouse



My keyboard of choice during experiments is small, but not too small.  With a touchpad so the mouse function is included.

I have several of the much smaller wireless keyboards, they are just ok for occasional work e.g. for a media center.  But for development, especially Linux commandline editing, you need a decent keyboard.

This is a Logitech K410, wireless. The small USB receiver dongle is light and makess the Raspberry Pi easy to handle instead of a long keyboard cable.The wireless dongle has its own ‘case’ in the battery department during transport or storage.

Good keys, touchpad works fine.With touchpad included it only takes one USB slot for mouse and keyboard.


Wifi adapter











Sold on ebay as Mini USB 150M 150Mbps Wireless LAN Adapter 802.11b/n/g for about $3 including shipping. You may have seen two already in my USB hub photo. Works out of the box. I like the antenna, promises better coverage!

Ethernet adapters

The Raspberry A and A+ come without any network adapter. Wireless is one option, Ethernet another. Regarding reliability and zero  configuration: ethernet wins.  Especially when bringing up a fresh OS, having a working network connection without hassle is preferable. Adding wireless is one of the later configuration steps.

I have several working solutions for USB to Ethernet.

s-l1600 (2)s-l1600 (3)


The first one is a hub, in fact a 3 port USB 3.0 hub with a Giga Ethernet port. Works fine, out of the box. Search for KY-688 or 1000M USB 3.0 to RJ45 Gigabit Ethernet Lan Network Adapter 3 Ports Hub on ebay, cheapest price is about $10.

viewImage (1)

JP1082, a very cheap USB to 100Mb Ethernet adapter. Works out of the box, but sometimes hangs the Raspberry. Not recommended.


Ebay sourced. USB 2.0, 10/100MB Ethernet. With micro USB connector. dm9601 IC based.
Perfect to bootstrap a Raspberry Pi Zero.



pi@raspberrypizero:~ $ lsusb
Bus 001 Device 003: ID 0fe6:9700 Kontron (Industrial Computer Source / ICS Adven t) DM9601 Fast Ethernet Adapter
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
pi@raspberrypizero:~ $ modinfo dm9601
filename: /lib/modules/4.1.13+/kernel/drivers/net/usb/dm9601.ko
license: GPL
description: Davicom DM96xx USB 10/100 ethernet devices
author: Peter Korsgaard <>
srcversion: 8B2420E93E78CEA9AB0E3DA
alias: usb:v0A46p1269d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0A46p0269d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0A46p9622d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0A46p9621d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0A46p9620d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0A46p9000d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0FE6p9700d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0FE6p8101d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0A47p9601d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0A46p8515d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0A46p0268d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0A46p6688d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v0A46p9601d*dc*dsc*dp*ic*isc*ip*in*
alias: usb:v07AAp9601d*dc*dsc*dp*ic*isc*ip*in*
intree: Y
vermagic: 4.1.13+ preempt mod_unload modversions ARMv6