cancel
Showing results for 
Search instead for 
Did you mean: 

[STUSB4500] Has anyone been able to flash the NVM using an arduino?

DSG
Associate

So, I created a PCB with the STUSB4500, and I thought it would be a simple matter of having some breakouts where I could connect an arduino to the I2C lines to flash the NVM. Unfortunately, I cannot get it to work.

I can do a basic I2C scan to find that the chip is at address 0x28, so the STUSB4500 must have a solid connection to the arduino...

The arduino sketch that I am using to flash the NVM is from the following link:

https://github.com/oxplot/fabpide2/blob/master/arduino/stusb4500_flasher/stusb4500_flasher.ino

(Haha, unfortunately I see now that the latest commit is labeled "still not working"...)

The sketch will always hang when it is waiting for a response from reading FTP_CTRL_0, which I assume means that no data has been successfully received.

I've been playing around with it and trying to make sure that sketch is working according to this Registry Description that I found, but I cannot find any mistakes in the protocol in the sketch:

https://github.com/timkruse/stusb4500/blob/master/docs/STUSB45_RegisterDescription_inofficial.pdf

If anyone is aware of an arduino sketch that works, I would much appreciate it if you could share it. Would it make more sense for me to purchase the development board [STM32]?

1 REPLY 1
Gregory Go.
Senior II

Hello,

The NVM flashing of STUSB4500 is tested and work with STM32, by using the following code: STSW-STUSB004

https://www.st.com/content/st_com/en/products/embedded-software/evaluation-tool-software/stsw-stusb004.html

If you want to use an Arduino hardware, you can try to port this code to Arduino.

  • Would it make more sense for me to purchase the development board [STM32]?

The STM32-Nucleo board is cheap (NUCLEO-F072RB is only $10).

So it would be easier and faster for you to use this board.

Best regards.