MS8607 (PHT Click) sensor data over I2C and a driver on nRF52840 DongleReading

Hello!

I have started building an IoT test node using nrf52840 Dongle and MicroE MS8607 (PHT Click) sensors (please see the setup below). The functionality we are interested in is reading the sensor data over i2c and sending it via UART to the PC. 

The whole solution will be realized under Zephyr RTOS, therefore i2c configuration needs to be adapted as per Zephyr official docs: I2C Zephyr Project Documentation ; Zephyr API for i2c Bus

At the current stage it will be at user space, using kernel functions, i2c and UART for serial communication. I am developing under Linux Ubuntu 22.04 LTS, using Sublime Editor for code writing, Linux console for building an app and CuteCom for serial communication testing. nRF Connect for Desktop and it's tools as well as VS Code IDE aren't used. 

Since I am pretty new into the embedded software development field (mostly did web-app programming), there are main things I am confused about:

  • How to declare ic2 device combining nrf libraries, Zephyr packages and taking into account the manufacturer's recommended settings.
  • What is an approach and key-points of writing a driver for this particular solution?
  • The main confusion lays within where to start optimally as I am a bit with how to ensure all the compatibility as well as I haven't seen any sample solutions or demos for this sensor. 

* Native PHT Driver from manufacturer (MikroE):

pht.zip

Has anyone out here already worked with MS8607 (PHT Click) sensor on nRF52840 Dongle (PCA10059) through Zephyr RTOS?

Would appreciate any guidelines and approach. 

Thank you in advance!

p.s: Undoubtedly, it would be better to start with something more user clear (such as nRF52840 Development Kit or Arduino) but this time it is not an option, and I need to develop a solution using only the above mentioned hardware. 

Sincerely
Ingrid

Setup

Sensor Data sheet:
ENG_DS_MS8607-02BA01__C3.pdf

Related