Home > Arduino, Bluetooth, TKJ Electronics, USB > USB Host Shield is now available in the webshop

USB Host Shield is now available in the webshop

This is a short announcement regarding the USB Host Shield from Circuits@Home, which we are now carrying in in our store.
By buying the official shield you will support the continous development of the library and get support from us!
The shield can be found and bought here: USB Host Shield 2.0 for Arduino.

The shield can be used with almost any kind of Arduino including the most popular Arduino Uno, Arduino Mega, Arduino Leonardo etc. If you are in doubt if your Arduino is supported please don’t hesitate to write a comment below.

The USB Host Shield will allow you to use any of the Bluetooth and USB libraries I wrote.

In case you missed it I have written several libraries for the shield including:

The Serial Port Protocol (SPP)
Emulate a serial port via Bluetooth, which allows you to send data back and fourth wirelessly.

PS3 controllers
All the official controllers are supported both via USB and Bluetooth.

PS4 controllers
The PS4 controller is supported via both USB and Bluetooth as well.

Xbox controllers
Both the wireless and wired controllers are supported. You will need a special wireless receiver to use the wireless controller.

The Wiimote is supported including the build IR camera. The Motion Plus and Nunchuck extensions are also supported. The Wii U Pro Controller is supported as well.

Bluetooth HID devices
Standard Bluetooth HID devices, like mice and keyboards are also supported by the library.

The USB Host Shield support several other devices including:

The source code can be found at Github:

More information can be found at Circuits@Home.

USB Host Shield

Categories: Arduino, Bluetooth, TKJ Electronics, USB Tags:
  1. Ian
    October 14th, 2014 at 00:38 | #1


    Thank you! I ordered a different dongle from the wiki page, but there are a lot of links that don’t work anymore. As far as I understand, the dongle MUST be BT 2.0. However, I did see a dongle on the list of approved dongles that was BT 4.0? I’ll do some more research but I wanted to avoid buying a 10$ dongle that won’t work.

    Thanks again and I’ll keep you posted

  2. October 15th, 2014 at 03:34 | #2

    Bluetooth 4.0 dongles with work just fine as well, as they are backwards compatible.

  3. Ian
    October 15th, 2014 at 20:40 | #3



    I purchased a BT 4.0 dongle from amazon and it seems to be working well! I now have full control of L2 and R2 and the start/accelerometer function is working perfectly.

    heres the link for the dongle:

    However, I still have the problem in the serial out where rightHatX/y and leftHatX/y output all zeros randomly when I’m using the directional pad. It will also output a few lines of zeros when I’m not using the controller. I timed the intervals on a stopwatch a few times to find a pattern and it is completely random. I’ll enable debugging and see if that helps.


  4. October 16th, 2014 at 04:40 | #4

    Thank you. I just added it to the list on the wiki 🙂

    It sounds more like it is an issue with the PS3 controller? Have you tried another one?

  5. Ian
    October 20th, 2014 at 18:42 | #5


    As I recall, it was having the same problem with the other controller I have. I will confirm this. Here’s a link to the controller controlling a DC motor:



  6. October 21st, 2014 at 07:19 | #6

    I have never had this issue or heard from somebody else. If this was the case then this would mean that the Balanduino would suddenly start traveling forward!

    An easy fix would be just to ignore the 0 value and if you encounter that just use the last receiver one?

  7. Ian
    November 8th, 2014 at 22:46 | #7

    Here’s a link to the soccer ball kicking robot moving around:


    Thanks again! Still haven’t figured out the random zeros problem…

  8. November 9th, 2014 at 01:50 | #8

    Looks good 🙂 Hopefully you will solve those random zeros soon.

  9. Ian
    November 15th, 2014 at 21:23 | #9



    I am unclear as to whether we can use pins 8-13 on the arduino with the USB host shield connected. We are using pins 2-7 for our motor controls and we need to run a servo now. Anytime I connect it to pins 8-13 there are problems with the bluetooth. and it doesn’t seem like its even possible to run a servo from pins 0 or 1. Using arduino uno

  10. November 17th, 2014 at 09:14 | #10

    You can’t use pin 13-11 as these are used for SCK, MOSI and MISO and can not be rerouted. Pin 10 and pin 9 are used for SS and INT respectively and can be rerouted to any pin including the analog post -- see: https://github.com/felis/USB_Host_Shield_2.0#interface-modifications.

    The shield does not use pin 0 or 1, so that can’t be causing the issue with your servo, but make sure that they are not drawing too much current, as the Bluetooth dongle needs a stable 5V supply.

  11. Rahul Swaminathan
    June 21st, 2015 at 16:57 | #11

    Hi Kristian,

    Hope you’re doing well.

    I’m trying to connect two Arduino UNO’s using Bluetooth USB dongles without any shields and was thinking of using your USB Host Library for it.

    Is it possible to use the existing USB port on Arduino UNO (that we use to program Arduino) as a USB to Bluetooth port by connecting a dongle to it? I kinda went through the code and your explanation on SPP sketch and thought this might work.

    To connect the USB dongle, I would be using a male to female connector on UNO’s USB.


    Would appreciate your inputs on this.


  12. July 4th, 2015 at 19:31 | #12

    @Rahul Swaminathan
    No that is not possible! The USB connector on the Arduino is for USB device communication. You will need a USB host port, like the one on the USB Host Shield.

  13. Jarryd
    February 16th, 2016 at 11:17 | #13

    would you be able to recommend a bluetooth module that would be suitable. I’m considering perhaps RN-42 or perhaps RN-41? I would like to use it to connect directly to pyboard, but I dont see how that would differ from arduino (apart from the language).
    -- Jarryd

  14. February 25th, 2016 at 08:58 | #14

    Those modules will not work, as they do not support Bluetooth HID host. You will have to use a Bluetooth dongle or a Bluetooth chip where you would have to write firmware for it.

  15. vtomic86
    January 25th, 2017 at 22:29 | #15

    Hi @Lauszus
    thank you for your valuable material. I have problems with PS3BT code in order to connect Bluetooth dongle with PS3 controller. The PS3BT code doesn’t recognise usbhub.h and spi4teensy3.h header files in fact they don’t appeared orange. Could be some problems with my Arduino version that is 1.6.12?


  16. Danilo
    February 2nd, 2017 at 16:30 | #16

    Hi, is it possible to pair without PIN? I have tried to set SPP instruction with “name of device” and without “pin” (SPP SerialBT(&Btd, “Controller_Semafori”);but it always requests pin when then I try to connect from phone.

  17. Grant Cignarella
    April 23rd, 2017 at 22:54 | #18

    I am currently using your usb 2.0 libraries for a robotics project. I was wondering if you could answer a question I had. I believe I bought the wrong USB host for the project. I bought the USB host listed in the first link. When I ran it, I got the OSC error listed in the second link. I am really okay with buying the right usb host but the shipping says that it could take up to 20 days to ship it. The project is due before then and I wanted to know if the usb host that I bought could work or if there was quicker way to get the right one or a way a list of the ones that would not have the ICSP error.



  18. April 30th, 2017 at 22:46 | #19

    @Grant Cignarella
    We have just replied to your email as well.
    Our webshop is mainly focused for retail sale why we only offer normal un-registered airmail shipping to keep the shipping costs down (international registered airmail rates for low-volume are very expensive out of Denmark).

    Though at request as well as to all of our B2B customers we do offer several other shipping options including the registered courrier-based DHL shipping method.

    Regards Thomas

Comment pages
1 2 3820
  1. No trackbacks yet.