1

I'm trying to read/write data to a USB flash drive.

I have read in the reference manual that STM32F103xx has a USB peripheral but can only act as a device in the communication. From what I understood, I need it to act as a host. Is there anyway to do this operation without USB to UART converters as I'm trying to be more efficient(in a financial sense).

I seem to find no clue on the internet regarding this particular MCU. If this can be done only with a UART converter, please show me where to look.

Thank you!

  • Indeed, a USB host is required and the STM32F103xx can only assume the device role. A USB to UART converter will not help either. It doesn't implement the flash drive protocol. You'll need to upgrade to another STM32 MCU supporting USB host role. – Codo Feb 23 '21 at 10:55
  • You need an USB host which speaks USB Mass Storage protocol. I don't understand why you even bring up UART. Not only is an UART useless when trying to talk to a USB Mass Storage device, but that USB-UART device **also** needs an USB host. – MSalters Feb 23 '21 at 11:14
  • Thank you both for sparing your time to answer! :D – Dusan Kodzopeljic Feb 23 '21 at 11:16
  • F1 series 105/107 series have hardware host support. – 0___________ Feb 23 '21 at 11:47

1 Answers1

1

As multiple people pointed out, STM32F103C8 can't be a host in the USB communication protocol, therefore the transfer of data cannot be done.

I made a mistake when I thought the USB to UART converter will solve the problem. The converter doesn't have a mass storage protocol implemented on it, therefore it cannot read the data.

See the comments for answers.