2022-12-28 06:18 PM
I'm working on a design for a custom keyboard, but I want to test as many components individually as I can before I start ordering parts.
I have a Nucleo-G0B1RE (STM32G0B1), and I've carefully traced the PA11 [PA9] and PA12 [PA10] pins, and connected them to the D- and D+ pins on a Sparkfun USB C breakout board with standard jumper wires. I connected GND to one of the MCU's ground pins and VBUS to the AVDD/PF4 - VREF+ pin.
I don't have any inline resistors - the STM32G0B1 is supposed to have its own pull-up resistor for the DP line.
This doesn't work at all - not only do no computers detect a device, even using a known-working cable, my logic analyser (connected to the bottom pins of the Nucleo) shows not a single blip on the USB data lines. It's only 24MHz, so not fast enough to properly debug FS USB, but I'd expect to see _something_.
On the software side, I've mostly been working with Rust, specifically the Embassy project. But out of desperation, I tried flashing the USB-HID-Device sample code with the STM32CUBEIDE, and despite working step-through debugging there were no dice.
My question is - am I missing something obvious? Is there some resistor needed somewhere, is my board fried, do I need to spend more on a new logic analyzer? I've been tearing my hair out for weeks.
Thanks in advance for your help!
2022-12-29 12:10 AM
> no computers detect a device, not a single blip on the USB data lines
so check: short to gnd ? or dp-dn reversed? + 1k5 on wrong line or off ?
because "device" is at first checked by the host, even your device doing nothing useful, host gets 1k5 line pulled and then checking: who is there...?
disconnect anything from the usb data lines, (standard jumper wires are too long) keep them short (<5cm), drilled together; check gnd connection wire-good. check with DMM the dp line is pulled up !
++
>and VBUS to the AVDD/PF4 - VREF+ pin
oh no ! vbus usb is 5V , the chip /vdd , vref+ is 3.3v !!! 5v kill the cpu...
check: only debug usb connected: can flash/debug and cpu still "normal" connect ?
so try again, with 5v to vin usb on the board . NOT to 3v3 !