Nano 33 BLE used as USB HOST

Hello guys,
I need to communicate an arduino and other device, but using USB. I know that normal arduinos are USB slave, but in the description of Arduino nano 33 BLE it have described the possibility of using this arduino as USB host. So here is my project´s description and question:

I need to use the Arduino nano 33 BLE as host USB to send data to another microcontroler, that is USB slave. So I want to use the USB communication, but I don´t know wich Arduino´s librarie (to nano 33 BLE model) is used and if is necessary to use an UART to USB adapter or I can use directly the USB connector from Arduino´s board.

Thanks for help me

Where did you read that?

Here is what I found so far.

  • Deprecated version of mbedOS
  • USB Host support was limited to one mbed board with a NXP microcontroller.

  • USB Host no longer mentioned in the current version of the mbed documentation


  • looks like it is limited to STM32, not sure why this is even shipped with the Arduino Nano 33 BLE package

USB Host support is generally limited in for microcontroller development. Most support for USB focuses on device support and even that is too difficult for most makers and even professional engineers are not too fond of it. USB Host is supported on platforms running Linux & Windows.
BLE and WiFi support in current microcontrollers are making USB even less interesting.

As of the 2.0.0 release, it is no longer shipped with the “Arduino Mbed OS Nano Boards” packager of the Nano 33 BLE. It’s only in the “Arduino Mbed OS Portenta Boards” package of the Portenta H7.

hi, thanks for help me!
So I´m sending the link where I saw the description of nano 33 as USB host:
Are NANO 33 BLE and NANO BLE SENSE HID compatible? – Arduino Help Center

So, if I understood correctly, is impossible to use the direct USB connection of nano 33 BLE to send data to another device?

So, in this case, is possible to use a converter to do the communication between both devices? I was searching for a converter and I found the MAX3421, an IC that converts SPI to USB and can be master or slave at the USB communication, but I have no idea about how to use and to code the arduino with this converter and if it is possible.
What do you think? thanks :smiley:

Hi @arduinosupport. There is a report here of a possible error or deficiency in an Arduino Help Center article. Please take a look.
Regards, Per

1 Like

I had a look into the nRF52840 datasheet. The peripheral is called USBD (Universal serial bus device). If the device would support Host functions the datasheet would say so. That is how semiconductor companies sell devices, they do not hide features that would allow a higher price. :slight_smile:

Even if you would get some external hardware, you still would need a USBHost stack. There are multiple commercial stacks available, but I do not know whether there is an open-source stack that would be usable.

Maybe it is worth investigating USB-OTG (On-The-Go). That is a never standard and was developed for devices that needed to be device or host depending on what they are connected to. If the microcontroller vendor markets the device as supporting OTG they are likely to have some software solution as well (might not be free).

thank you very much Klaus, So I´ll try other way

@roberto_rcj @pert Thanks for the report. We are tracking this issue and will look into it.


This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.