Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1.8Volts on PCA10059 ("Dongle") #48

Closed
TasosR83 opened this issue Feb 28, 2019 · 8 comments
Closed

1.8Volts on PCA10059 ("Dongle") #48

TasosR83 opened this issue Feb 28, 2019 · 8 comments

Comments

@TasosR83
Copy link

TasosR83 commented Feb 28, 2019

After flashing the bootloader to the "Dongle", the dongle's on-chip LDO regulator gets to the mode where he outputs 1.8Volts instead of the standard (when you buy it) of 3.3Volts.

This makes the device un-programable even with the j-link EDU (can be programmed with only the J-link PRO)

@jerryneedell
Copy link

are you referring to the J-Link Mini https://www.adafruit.com/product/3571 or the "full sized Link- EDU
https://www.adafruit.com/product/1369

@TasosR83
Copy link
Author

TasosR83 commented Feb 28, 2019

are you referring to the J-Link Mini https://www.adafruit.com/product/3571 or the "full sized Link- EDU
https://www.adafruit.com/product/1369

The 2nd one (SEGGER J-Link EDU) not the mini

@jerryneedell
Copy link

hmmm -- I have used mine to program the SD and UF2 Bootloader to the Dongle -- I guess I have not gone beyond that with it. I was not ware o f any difference between the EDU and PRO version other than terms of use.

@jpconstantineau
Copy link
Contributor

jpconstantineau commented Feb 28, 2019 via email

@TasosR83
Copy link
Author

TasosR83 commented Feb 28, 2019

I think that setting it up in the bootloader would make a lot of sense. Running at 1.8V makes the LEDs not work. It took ma a while to figure out that I had to run this code to switch it over: if (NRF_UICR->REGOUT0 != UICR_REGOUT0_VOUT_3V3) { NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Wen << NVMC_CONFIG_WEN_Pos; while (NRF_NVMC->READY == NVMC_READY_READY_Busy){} NRF_UICR->REGOUT0 = UICR_REGOUT0_VOUT_3V3; NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Ren << NVMC_CONFIG_WEN_Pos; while (NRF_NVMC->READY == NVMC_READY_READY_Busy){} NRF_USBD->ENABLE = 1; delay(500); NVIC_SystemReset(); }

On Thu, 28 Feb 2019 at 07:58, jerryneedell @.***> wrote: are you referring to the J-Link Mini https://www.adafruit.com/product/3571 or the "full sized Link- EDU https://www.adafruit.com/product/1369 — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#48 (comment)>, or mute the thread https://github.com/notifications/unsubscribe-auth/ABGLeJqm2bRws4FuoUwev-igVIS5NYyOks5vR-B3gaJpZM4bW29F .
-- Pierre

Can you please help me on how to build this code? I think you are referring to the Keil (Keil Embedded Development Tools) and not programming using Arduino IDE, right ?

@jerryneedell
Copy link

jerryneedell commented Feb 28, 2019

ah -- this was discussed here -- and there are notes about using the J-Link with it.
it is reset to 3.3V in the CircuitPython code.
adafruit/circuitpython#1174
fixed in
adafruit/circuitpython#1177

@dhalbert
Copy link
Contributor

The voltage fix is in: https://github.com/adafruit/circuitpython/blob/master/ports/nrf/peripherals/nrf/nrf52840/power.c. Note that you have to do a hard reset if the voltage is wrong.

@TasosR83
Copy link
Author

TasosR83 commented Mar 8, 2019

Case should be closed. Thanks for your help. The easiest way to fix the wrong Voltage is the command:

nrfjprog --memwr 0x10001304 --val 0xFFFFFFFD

which will turn the internal regulator's output to 3.3 Volts.
Maybe a device reset (by power cycling the device) is needed.
Also to run the above you should use an SWD programmer (e.g. JLink EDU).

If your programmer cannot 'speak' with 1.8V devices, use a power supply and give 3.3Volts to the VDD OUT pin (look here).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants