8000 How to build nrf52840 with 1.8V QSPI Flash? · Issue #10365 · adafruit/circuitpython · GitHub
[go: up one dir, main page]

Skip to content

How to build nrf52840 with 1.8V QSPI Flash? #10365

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

Open
CaptainJackey opened this issue May 21, 2025 · 4 comments
Open

How to build nrf52840 with 1.8V QSPI Flash? #10365

CaptainJackey opened this issue May 21, 2025 · 4 comments
Milestone

Comments

@CaptainJackey
Copy link

Take feather_nrf52840_express as an example, it uses W25Q16JVxQ with 3.3V flash. Now I need to use a 1.8V power system, equipped with W25Q16JWxQ with 1.8V flash. What code should I modify to achieve this?

@dhalbert dhalbert added this to the Support milestone May 21, 2025
@dhalbert
Copy link
Collaborator

You can change the GPIO voltage by setting bits in the UICR (search for that in the datasheet, etc.). Is everything 1.8V? I am not sure if there is brownout detection setup in the bootloader, in https://github.com/adafruit/Adafruit_nRF52_Bootloader. Look to see.

https://devzone.nordicsemi.com/ is the Nordic forum area, which may have answers for other questions you may have.

@CaptainJackey
Copy link
Author

You can change the GPIO voltage by setting bits in the UICR (search for that in the datasheet, etc.). Is everything 1.8V? I am not sure if there is brownout detection setup in the bootloader, in https://github.com/adafruit/Adafruit_nRF52_Bootloader. Look to see.

https://devzone.nordicsemi.com/ is the Nordic forum area, which may have answers for other questions you may have.

Yes, everything 1.8V. You mean the REGOUT0? It seems only work in high voltage mode, but my circuit is not this mode , It is powered by an external 1.8V connect VDD and VDDH.

Image

@dhalbert
Copy link
Collaborator
dhalbert commented May 22, 2025

Then it sounds like you really have to do nothing except change the device ID for the different flash. The datasheets look pretty much identical except for the Device ID and the voltages (see screenshow below). The flash chips are described in https://github.com/adafruit/nvm.toml, which is a submodule. You could just edit that locally to add the new chip in the winbond directory, or fork it, or submit a PR to add the chip. And you need to change the flash chip name in mpconfigboard.mk.

In ports/nordic/supervisor/port.c, in port_init(), the brownout detection is set to 2.7v, and you'll need to change that and maybe do brownout detection in a different way. When I read the datasheet section it seemed like the POFCON threshold values might be done different for low voltages and the different voltage configuration.

analogio assumes 3.3v, and you'll want to change common_hal_analogio_analogin_get_reference_voltage(). There may be other things to change in analogio.

Image

@dhalbert
Copy link
Collaborator

#6501 may possibly be an issue for you? Are you using USB?

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

No branches or pull requests

2 participants
0