nRF7000 - Wi-Fi Scan w/ the 7002-EK + nRF58240

Mar 8, 2024

Did you know? Google and other providers have large databases of geolocation-SSID pairs! By sniffing SSIDs in your area, you can get surprisingly accurate location without surprising power use. Using nRF Cloud, you can even define your own SSIDs with location--a very powerful feature for situations in which you cannot get a reliable GNSS fix.

Nordic has a few Wi-Fi chips now, the nRF7002, nRF7001, and (believe it or not) the nRF7000. Here are the key features:

  • nRF7002 - Dual-band, Wi-Fi 6, TX/RX
  • nRF7001 - Single-band (2.4 GHz), Wi-Fi 6, TX/RX
  • nRF7000 - Dual-band, RX only

For situations where you are implementing Wi-Fi based geolocation and have an alternate backhaul (cellular with our nRF9161, for example), the nRF7000 is an excellent choice.

Let's investigate the basics of Wi-Fi scanning in nRF Connect SDK using an nRF52840 and the nRF7002-EK! Since the nRF7000 has a subset of the nRF7002's feature set, we can simply use a board overlay with the nRF7002-EK to emulate the nRF7000's scan-only feature.

To begin, gather your nRF52840-DK, nRF7002-EK, and PPK-2.

I would recommend cutting at least the VBAT solder bridge and adding a couple of pin headers for power characterization.

Note: if using the PPK-2, be sure to set it to source meter.

Next, clone the Wi-Fi scan example from nRF Connect SDK:

Next, add a build configuration for the nRF52840:

We will add the "nrf7002ek_nrf7000" shield to the build. Within "Extra CMake arguments" add:

-DSHIELD=nrf7002ek_nrf7000

Your build configuration should look just like this.

After flashing, enable power output in "Ampere meter" mode:

And here are the results:

Congrats! This data can then be fed into nRF Cloud for geolocationing.