I had hoped to have some more useable information to share with you for this blog post, but I kept running into obstacles with every turn of the plans I had for the HS4000-EVK. So I will share with you my journey with the HS4000-EVK.
Hopefully others in this challenge will have better results than me, and maybe I'll learn something from them as we continue the journey.
The HS4000-EVK is an evaluation kit for Renesas' HS4001 temperature and humidity sensor. Temperature and humidity are important factors in air quality, and the plan was to gather data from both the HS4001 as well as from the ZMOD4510 to get a more accurate indication of outdoor air quality. The AQI calculations use temperature and humidity as part of the equation.
The point of the EVK is to make it easy to evaluate the tiny HS4001 sensor without having to invest in building your own boards and applications. For the price it's great value, as technician time does not come cheap.
Unfortunately, I was unable to get the software to run properly to give it the first out-of-the-box test.
I'm assuming that, because the other software (for the ZMOD4510-EVK) works properly on the systems I used, it's probably not my setup here.
Hopefully tech support will reply with an easy fix!
In the meantime, I moved on to the next step in testing this sensor: using it directly with an Arduino board.
The documentation has a fair bit of information on how to interface to a microprocessor using I2C, which is excellent. I was also able to download a lot of sample apps that provide the necessary code on how to gather the measurements from the sensor.
I was unable to find any information about the little daughter board for the pinout, but with a little sleuthing through documents I found these images that help identify which pins to use. The sensor chip is directly useable via I2C.
The sensor is tiny, so I snapped a picture of the daughter board with my microscope.
Using those images, combined with the microscope image, I was able to follow the traces to identify which pin is which on the daughter board.
I would double-check the connections with a multimeter, just in case there's some fancy traces happening under the sensor chip. The back of this little board doesn't appear to contain any traces.
EDIT: I had the pins marked incorrectly (see discussion in the comments below). Here is the corrected (hopefully!) version, but don't trust me on this as I've already mislead you once before
For the ZMOD4510 sensor I was able to find an easy-to-use Arduino library, complete with an example sketch, so I had hoped to find the same for this HS4001 sensor, but unfortunately it appears that no Arduino support is offered for it.
Many of the other samples are in C, so it should be possible to adapt it with a bit of effort.
The other hurdle I then ran into is that the HS4001 daughterboard uses a tiny connector. This matches the tiny connector on the EVK board, but makes it much more difficult to connect to standard Arduino and breadboard connectors. As I don't have connectors or adapters to fit this small size, I would have to solder regular jumper wires directly to the pins - I'd probably solder to the extension cable to allow the sensor board itself to still be used with the EVK board.
It might be that I'm a hobbyist and lean more towards Arduino as a first go-to for any of my projects, and maybe professional hardware/firmware engineers are more able to pick up and implement sample code into their environments, but I feel that given the general availability and support of the Arduino environment all around the world by so many people, including many professionals, that not providing easy support for their hardware can lead to missed opportunities.
To me it would make more sense if this HS4001-EVK was created as part of an Arduino shield, as it would likely be much easier for more people to try it out. Plus it would likely be easier to build and support the hardware and firmware. Maybe create a Renesas Arduino shield into which the various modules could be plugged for evaluation. The EVK could include a Renesas-built Arduino compatible board for that purpose. The Arduino IDE even has built-in graphing support that would do much of what the Windows software does, or use Processing or similar to create a more complete user interface - this would also solve the problem of supporting more than just the Windows OS.
At this point, I've decided to shelve the HS4000-EVK while focusing on the ZMOD4510 instead.
In a pinch I can just use hardcoded values for temperature and humidity, or I can fall back on using the BME280 that I've already successfully used in a few other projects.
I'll try to get back to the HS4001 sensor at some point in the future, as I don't think it will take too much effort to use it with my Arduino boards, and it would also be a nice addition to my ongoing hummingbird feeder project. This might have to wait until after the end of this In the Air Tonight challenge though.