cancel
Showing results for 
Search instead for 
Did you mean: 

NUCLEO-H743ZI USB Host HID. Has anyone ever made it work?

Asantos
Senior

Hi,

I'm trying to create a project to test the USB Host in HID keybord mode using the NUCLEO-H743ZI board. My keybord worked in the STM32H743-EVAL board and the STM32Cube_FW_H7_V1.3.0 USB Host HID example.

 I noted that the Eval board example code generate an OTG_FS_IRQ just after the "USBH_Start(&hUSBHost)" function call. Only if the Keyboard is attached. My project runing in the NUCLEO-H743ZI don't trigger the ISR. 

What could be wrong with my CubeMx V4.27 configuration?

5 REPLIES 5
Mon2
Senior III

CubeMX is currently @ 5.0.1 release. Consider to upgrade your toolchain and test again.

Asantos
Senior

 I made it work using the STM32H743I-EVAL and CubeMX V4.27. Anyway I did the upgrade for the V5.01 and still not working for the NUCLEO-H743ZI, I tested in two different boards. So I think that it is a specific board configuration issue.

 LED 8 is lighting, so there is power in Vbus.

Has someone already made USB Host HID work for NUCLEO-H743ZI?

Mon2
Senior III

Have you seen this?

https://community.st.com/s/question/0D50X00009cd6whSAA/usb-hid-host-connect?

From the following document:

STM32CubeH7 Firmware Examples for STM32H7xx Series

The USB HOST HID IP is supported on the STM32H743I-EVAL but not on the NUCLEO-H743ZI so there is some minor difference to prevent the use of the same code run on the NUCLEO target.

0690X000006D2IdQAK.png

Asantos
Senior

Thanks for the hint Mon2.

I think that the NUCLEO-H743ZI board is capable to run an USB Host HID application. The problem is that ST examples use the LCD to show devices inputs and status. They should have done examples for the NUCLEO boards, where the device inputs (Keyboard or Mouse) is stored in a buffer.

flyer31
Senior

I got the Nucleo H734 run nicely in USB Device mode based on the CDC_Standalone, even now my own application in HS Mode with ULPI and USB3300 USB chip ... but I needed some days to strip it away of the HAL stuff, this HAL stuff in my eyes is really terrible - it somehow tries to hide all details of the processor, but in fact it makes all much more complicated ... it is all inter-connected in some terribly undocumented way in the lower levels, even using very crazy macro programming... . Somehow some people seemed to think that they make it all easy, if they hide the processor, but they forget that the reference manual is > 1000 pages strong, and if they wan to hide this, they would at least need > 1000 pages of detail description of their "nice new world" HAL invention ... I think nobody really wants this ... .

But the programming of the USB itself seems to be nice, much nicer and clearer than the USB for STM32F4 ... somehow similar basic functions but much clearer strcutured... but you need some time for all this ... maybe you can help to convice STM to present some "non-HAL" simple demo programs (which first requires a simple and slim STM32H743xx.h...).