nRF7002DK Fitness Tracker using MMA7361 Accelerometer and GC9A01 driven round LCD display

Hello,

I'm currently working on a fitness tracker application using the Nordic nRF7002 DK board, paired with an analog MMA7361 accelerometer, and a round GC9A01 SPI-based LCD display.

I'm facing some challenges with properly integrating these components and ensuring compatibility within the nRF Connect SDK (Zephyr) environment. Specifically, I'd appreciate if you could provide guidance on:

  1. Hardware Integration:

    • Recommended connection pins and guidelines for interfacing the MMA7361 analog outputs with the built-in ADC on the nRF7002 DK.

    • Recommended wiring and SPI pin assignments for integrating the GC9A01 display with nRF7002 DK.

  2. Software Integration:

    • Recommended Zephyr drivers/modules for efficiently reading analog accelerometer data (via SAADC).

    • Recommended libraries or driver implementations compatible with Zephyr for controlling a GC9A01 LCD (or examples of similar displays).

    • Tips on effectively managing simultaneous SPI and ADC operations within Zephyr RTOS.

  3. Sample Code/References:

    • Could you point me to existing Zephyr or nRF Connect SDK examples or projects that demonstrate similar integration (analog sensor + SPI display)?

Any additional insights, recommended best practices, or reference materials would be greatly appreciated.

Thank you in advance!

  • Hi,

     

    Krapic said:
    Additionally, I've connected the VIO REF pin on the nRF7002DK to 3.3V. Am I correct in assuming this sets the logic levels of the nRF5340 pins to 3.3V instead of the default 1.8V?

    Correct. You can verify by using a multimeter for instance.

     

    Krapic said:
    On my nRF7002DK, I initially attempted to use the Arduino SPI interface (&spi3) because it seemed the simplest route. However, I encountered errors suggesting that the Arduino header pin D8 (if I'm not mistaken) is reserved or already in use by the nRF70 Wi-Fi companion chip.

    Flip the kit over, and you will see what pins are in use. D8, ie. P1.10, does not seem to be used.

    What errors do you see?

    Krapic said:
    Therefore, I'd like to know if there's a minimal "bare-metal" example available that I can use just to verify that the display functions correctly.

    Unfortunately there is not.

     

    Kind regards,

    Håkon

Related