jakkra / ZSWatch

ZSWatch - the Open Source Zephyr™ based Smartwatch, including both HW and FW.
https://forms.gle/G48Sm5zDe9aCaYtT9
GNU General Public License v3.0
2.2k stars 180 forks source link

Unable to recognize MCU and download program #222

Closed DREAM669 closed 4 months ago

DREAM669 commented 5 months ago

Hi, @jakkra @Kampi Our board voltage is incorrect, and we suspect that the MCU is broken. Then, we replaced the MCU in the NORA-B10 module with a new one and used it in VS code to download the program. We found that the MCU could not be recognized and the code could not be burned. We executed nrfjprog - f NRF53-- recover and received the following error message.

err

image

DREAM669 commented 5 months ago

We also encountered another issue, when the battery voltage is below 3.8V, pressing the button will reboot the system. Please help take a look.

Kampi commented 5 months ago

We also encountered another issue, when the battery voltage is below 3.8V, pressing the button will reboot the system. Please help take a look.

The watch is working until ~3.6 V. I guess you hit the lower voltage limit and this leads to a PoR. Please charge the battery and try it again.

Kampi commented 5 months ago

Hi, @jakkra @Kampi Our board voltage is incorrect, and we suspect that the MCU is broken. Then, we replaced the MCU in the NORA-B10 module with a new one and used it in VS code to download the program. We found that the MCU could not be recognized and the code could not be burned. We executed nrfjprog - f NRF53-- recover and received the following error message.

Are you sure that the MCU is soldered correctly?

jakkra commented 5 months ago

We also encountered another issue, when the battery voltage is below 3.8V, pressing the button will reboot the system. Please help take a look.

This is expected if you are running old FW, it's the vibration motor turning on and causing the battery voltage to drop and battery supervisor will cut power.

I fixed this like a month ago to not vibrate when low battery voltage.

DREAM669 commented 5 months ago

We also encountered another issue, when the battery voltage is below 3.8V, pressing the button will reboot the system. Please help take a look.

This is expected if you are running old FW, it's the vibration motor turning on and causing the battery voltage to drop and battery supervisor will cut power.

I fixed this like a month ago to not vibrate when low battery voltage.

OK! Thank you!

DREAM669 commented 5 months ago

There is another issue. I saw in your schematic that the program was downloaded with a Vbus pin, but I need to connect the+1V8 pin to the VCC pin of Jlink to download it instead of VBUS. @jakkra @Kampi

Kampi commented 5 months ago

There is another issue. I saw in your schematic that the program was downloaded with a Vbus pin, but I need to connect the+1V8 pin to the VCC pin of Jlink to download it instead of VBUS. @jakkra @Kampi

What do you mean? Sure you have to connect the IO voltage of the programming interface to the J-Link for it´s internal level converter. The dock connector is using a 5 V voltage as system voltage, but SWD is running on 3.3 V. So you have to connect 3.3 V to VTarget at your J-Link.

jakkra commented 5 months ago

There is another issue. I saw in your schematic that the program was downloaded with a Vbus pin, but I need to connect the+1V8 pin to the VCC pin of Jlink to download it instead of VBUS. @jakkra @Kampi

What do you mean? Sure you have to connect the IO voltage of the programming interface to the J-Link for it´s internal level converter. The dock connector is using a 5 V voltage as system voltage, but SWD is running on 3.3 V. So you have to connect 3.3 V to VTarget at your J-Link.

Hmm, I think this may be the issue. Vref should be 1v8 here not 3v3 Screenshot_2024-01-30-09-08-46-58_40deb401b9ffe8e1df2f1cc5ba480b12.jpg

DREAM669 commented 5 months ago

Hi, @jakkra @Kampi Our board voltage is incorrect, and we suspect that the MCU is broken. Then, we replaced the MCU in the NORA-B10 module with a new one and used it in VS code to download the program. We found that the MCU could not be recognized and the code could not be burned. We executed nrfjprog - f NRF53-- recover and received the following error message.

Are you sure that the MCU is soldered correctly?

I am not sure. Is there a quick and simple way to determine whether an MCU is soldered correctly?

jakkra commented 5 months ago

Hi, @jakkra @Kampi Our board voltage is incorrect, and we suspect that the MCU is broken. Then, we replaced the MCU in the NORA-B10 module with a new one and used it in VS code to download the program. We found that the MCU could not be recognized and the code could not be burned. We executed nrfjprog - f NRF53-- recover and received the following error message.

Are you sure that the MCU is soldered correctly?

I am not sure. Is there a quick and simple way to determine whether an MCU is soldered correctly?

You can talk with it using the debugger :) Did your wrong voltage leves get fixed by replacing MCU?

Kampi commented 5 months ago

@DREAM669 you use the dock with an external J-Link? The dock has two use cases:

I will handle this issue in the next dock release. I´m sorry for this issue. We haven´t thought about it 👎

Issue: https://github.com/jakkra/ZSWatch-Dock/issues/11

DREAM669 commented 5 months ago

Hi, @jakkra @Kampi Our board voltage is incorrect, and we suspect that the MCU is broken. Then, we replaced the MCU in the NORA-B10 module with a new one and used it in VS code to download the program. We found that the MCU could not be recognized and the code could not be burned. We executed nrfjprog - f NRF53-- recover and received the following error message.

Are you sure that the MCU is soldered correctly?

I am not sure. Is there a quick and simple way to determine whether an MCU is soldered correctly?

You can talk with it using the debugger :) Did your wrong voltage leves get fixed by replacing MCU?

Yes,the wrong voltage leves get fixed.

DREAM669 commented 5 months ago

@DREAM669 you use the dock with an external J-Link? The dock has two use cases:

  • Using internal J-Link: Debug connector is used for programming the STM32 -> 3.3 V is correct
  • Using external J-Link: Debug connector is connected with Interface. Then you need 1.8 V. Here we have an issue for sure.

I will handle this issue in the next dock release. I´m sorry for this issue. We haven´t thought about it 👎

Issue: jakkra/ZSWatch-Dock#11

I did not use a dock. I just use a external J-Link.

Kampi commented 5 months ago

@DREAM669 you use the dock with an external J-Link? The dock has two use cases:

  • Using internal J-Link: Debug connector is used for programming the STM32 -> 3.3 V is correct
  • Using external J-Link: Debug connector is connected with Interface. Then you need 1.8 V. Here we have an issue for sure.

I will handle this issue in the next dock release. I´m sorry for this issue. We haven´t thought about it 👎 Issue: jakkra/ZSWatch-Dock#11

I did not use a dock. I just use a external J-Link.

Ah! Okay so you don´t run into the mentioned issue. Glad to hear it 👍

DREAM669 commented 5 months ago

@jakkra @Kampi Can the MCU in the NORA-B10 module be directly replaced with the new nRF5340? We welded and replaced the MCU in the NORA-B10 module on two boards, but we couldn't detect the MCU using Jlink. Executing nrfjprog - f NRF53-- recover -- log would result in an error.

Kampi commented 5 months ago

Hi @DREAM669

yes you can attach any nRF5340 dev kit or similar to the pins of the footprint of the NORA module.

jakkra commented 5 months ago

@jakkra @Kampi Can the MCU in the NORA-B10 module be directly replaced with the new nRF5340? We welded and replaced the MCU in the NORA-B10 module on two boards, but we couldn't detect the MCU using Jlink. Executing nrfjprog - f NRF53-- recover -- log would result in an error.

But it would be safer to just replace the whole module, or easier at least.