Qwiic is also 👍️

Connected to /dev/ttyACM0!
[00:00:00.255,554] <dbg> BME280: bme280_chip_init: ID OK
[00:00:00.265,991] <dbg> BME280: bme280_chip_init: "BME280" OK
[00:00:00.267,822] <inf> lis2dh: fs=2, odr=0x4 lp_en=0x0 scale=9576
*** Booting nRF Connect SDK v2.7.0-5cb85570ca43 ***
*** Using Zephyr OS v3.6.99-100befc70c74 ***
*** Vsys Current Limit: 500 mA ***
Found device "BME280"
temp: 22.840000; press: 101.012050; humidity: 53.820312
temp: 23.010000; press: 101.010917; humidity: 53.737304

    jaredwolff I do have a microscope (analog one I bought a looooong time ago) for inspection. But I do use a small reflow oven and appropriate ventilation equipment. Previously I was using one of those plug-in skillets but that got old fast (and don’t work for both sides!)

    Currently hand solder the SMDs but may look for an inexpensive small reflow oven down the line.

    btw - Neat 3D printed jig with the pogo pins.

    6 days later

    jaredwolff Are you using a Joulescope JS110 or JS220 analyzer?
    Wouldn’t the Nordic Power Profiler Kit II II do similar measurements? Thanks.

    Some first experience:

    Using west flash --runner pyocd sometimes reports

    W nRF9160_xxAA APPROTECT enabled: will try to unlock via mass erase [target_nRF91]

    not sure, what’s causing that. The “mass erase” will erase the “settings”.
    After flashing it seems to require an hw reset by the button, otherwise the modem seems to be inaccessible.

    Beside of that the nRF9161 feather works very nice!
    Using the LEDs isn’t to complicated and in addition to the nRF9160 feather it’s now possible to read the charger status.
    I’m not sure, why Nordic decided to not implement the zephyr “charger API”, and to use the “npm1300 sensor” API requires some datasheet reading. But all in all, my client was fast ported and we will see, how long that new feather will run on battery ;-).

    Changes required:
    The

    		button0: button_0 {
    			gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
    			label = "Switch 1";
    			zephyr,code = <INPUT_KEY_0>;
    		};

    seems to use the wrong polarity, I changed it to GPIO_ACTIVE_HIGH

      And CONFIG_BOARD is undefined. Not sure, why.

      I’ve added

      if BOARD_CIRCUITDOJO_FEATHER_NRF9161_PMIC_STARTUP
      
      config BOARD
      	default "circuitdojo_feather_nrf9161"
      
      endif 

      as temporary work-around to Kconfig.defconfig.

        About the power rails:
        Is VDD connected to the battery or to the NPM1300?
        Or in other words, does “AT%XVBAT” report the battery voltage or the output voltage of the NPM1300?

          About the CONFIG_BOARD:

          in “zephyr/boards/Kconfig”

          choice
          	prompt "Board Selection"
          
          source "$(BOARD_DIR)/Kconfig.board"
          
          endchoice

          That makes a choice out of `zephyr/boards/arm/circuitdojo_feather_nrf9161/Kconfig.board’

          if SOC_NRF9161_LACA
          
          config BOARD_CIRCUITDOJO_FEATHER_NRF9161
          	bool "Circuit Dojo nRF9161 Feather"
          
          config BOARD_CIRCUITDOJO_FEATHER_NRF9161_NS
          	bool "Circuit Dojo nRF9161 Feather non-secure"
          
          config BOARD_CIRCUITDOJO_FEATHER_NRF9161_PMIC_STARTUP
          	bool "Allows for executing startup code for PMIC."
          
          endif # SOC_NRF9161_LACA

          and so `zephyr/boards/arm/circuitdojo_feather_nrf9161/circuitdojo_feather_nrf9161_ns_defconfig’

          # Startup code
          CONFIG_BOARD_CIRCUITDOJO_FEATHER_NRF9161_PMIC_STARTUP=y

          deselects BOARD_CIRCUITDOJO_FEATHER_NRF9161_NS. In consequence,

          if BOARD_CIRCUITDOJO_FEATHER_NRF9161 || BOARD_CIRCUITDOJO_FEATHER_NRF9161_NS
          
          config BOARD
          	default "circuitdojo_feather_nrf9161"

          is not longer applied.

            AchimKraus not sure, what’s causing that. The “mass erase” will erase the “settings”.
            After flashing it seems to require an hw reset by the button, otherwise the modem seems to be inaccessible.

            Not quite sure. It may be that pyocd is enabling the write protect. I haven’t had enough time to look at it.

            AchimKraus Using the LEDs isn’t to complicated and in addition to the nRF9160 feather it’s now possible to read the charger status.
            I’m not sure, why Nordic decided to not implement the zephyr “charger API”, and to use the “npm1300 sensor” API requires some datasheet reading. But all in all, my client was fast ported and we will see, how long that new feather will run on battery ;-).

            Glad it’s working. 🙂

            AchimKraus seems to use the wrong polarity, I changed it to GPIO_ACTIVE_HIGH

            Yup you’re correct. Changed.

            AchimKraus About the power rails:
            Is VDD connected to the battery or to the NPM1300?
            Or in other words, does “AT%XVBAT” report the battery voltage or the output voltage of the NPM1300?

            VDD is hooked to VSYS which is whatever is providing the power (battery or USB). The VBAT command will measure the battery unless you have USB plugged in (then it will read 5V)

            You need to be building with –sysbuild if you’re using 2.7.x:

            west build -b circuitdojo_feather_nrf9161/nrf9161/ns -p -d build/circuitdojo_feather_nrf9161 --sysbuild 

            That should generate all the necessary board definitions:

            CONFIG_BOARD_REVISION="1"
            CONFIG_BOARD_TARGET="circuitdojo_feather_nrf9161@1/nrf9161/ns"
            # CONFIG_NET_DRIVERS is not set
            CONFIG_BOARD_CIRCUITDOJO_FEATHER_NRF9161=y
            CONFIG_BOARD_CIRCUITDOJO_FEATHER_NRF9161_NRF9161_NS=y
            CONFIG_BOARD_QUALIFIERS="nrf9161/ns"
            CONFIG_BOARD_CIRCUITDOJO_FEATHER_NRF9161_PMIC_STARTUP=y

            That was in nfed/samples/active_sleep/build/circuitdojo_feather_nrf9161/active_sleep/zephyr/.config

            I’m still on v2.6.1.

            One additional irritating issue is, that it fails to build, if CONFIG_TFM_LOG_LEVEL_SILENCE=n is used. That works at least for nRF9161-DK.

            After flashing it seems to require an hw reset by the button, otherwise the modem seems to be inaccessible.

            It gets sometimes delayed for 50s. For now I guess, that’s the “secure random”. That will require some more investigation.

              AchimKraus and so `zephyr/boards/arm/circuitdojo_feather_nrf9161/
              deselects BOARD_CIRCUITDOJO_FEATHER_NRF9161_NS. In consequence,

              Ahh OK.

              I made some tweaks. If you want the PMIC init code you can add

              CONFIG_CIRCUITDOJO_FEATHER_NRF9161_PMIC_STARTUP=y

              To your .conf file in the application. It’s only necessary for samples that use lots of current (i.e. anything that uses the modem). Otherwise it will remain off for everything.

              I pushed the changes to your branch and 2.7.x

              AchimKraus It gets sometimes delayed for 50s. For now I guess, that’s the “secure random”. That will require some more investigation.

              50s! Wow it’s not taking that long here. That’s definitely an issue.

                Terms and Conditions | Privacy Policy