NXP Rapid IoT Prototyping Kit - Review

Table of contents

RoadTest: NXP Rapid IoT Prototyping Kit

Author: vlasov01

Creation date:

Evaluation Type: Development Boards & Tools

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?:

What were the biggest problems encountered?:

Detailed Review:

Story

I’ve decided to participate in the RoadTest to explore Atmosphere IoT IDE capabilities to facilitate fast development using NXP Rapid IoT Prototyping Kit, its extensive set of sensors and cloud integration capabilities. As well I was looking to evaluate how friendly this platform from testing and support perspectives is. So I was very happy to find out, that my proposal was selected. I would like to thank NXP and Element14 teams for providing me with this opportunity.

Test plan
1. Review available documentation, forums and other information channels to get started fast with the kit.
2. Build, deploy and run demo applications using provided tools.
3. Develop Build, deploy and run my own simple weather station.
4. Extend my simple weather station with cloud connectivity and data collection.
5. Collect sensor readings over period of time and analyze them.
6. Overlap collected air quality data with geography from my phone to build my personnel air quality map.

Information channels

An 1 hour YouTube video with NXP product marketing manager Jay Canteenwala - Revolutionizing Your IoT Prototyping  https://youtu.be/m-HVCHhCmZY was a very good starting point for me. This video helped me to get a big picture on this product, provided detailed instruction and demonstration on how to use Web based NXP Rapid IoT Studio to develop, build and deploy all components of the solution fast, and provided relevant information resources. The supporting slides can be downloaded from NXP community site https://community.nxp.com/servlet/JiveServlet/downloadBody/340717-102-2-285300/AMF-SMC-T3020.pdf

 

NXP Community Forum is the great place to get help. It has a dedicated community site for NXP Rapid IoT product. https://community.nxp.com/community/iot-center/rapid-iot . There are many questions already answered and search works very well. I’ve posted several question and they were all answered quite fast. As I was a new member, my publications were not visible until they were reviewed by a moderator. So if you are a brand new member and you’ve published a question Friday night, than you most likely will get your answer visible and answered only Monday.

 

NXP Rapid IoT Prototyping Kit web site has a user guides, reference manuals, release notes, videos

https://www.nxp.com/support/developer-resources/rapid-prototyping/nxp-rapid-iot-prototyping-kit:IOT-PROTOTYPING?tab=In-Depth_Tab

User guide has detailed step-by-step instruction on how to use NXP Rapid IoT Studio, MCUXpresso, program K64F internal flash with a new firmware. It has as well instructions how to use collected data to build graphs and dashboards.

 

Atmosphere IoT resources:

https://developer.atmosphereiot.com/

https://forum.atmosphereiot.com/

https://www.atmosphereiot.com/videos/

 

Android weather station source codes :

https://bitbucket.org/mobileknowledge/weather_station_demo-androidapppublic

 

I wish.

User’s guide and videos cover mostly basic use cases. I was not able to find any materials on how to debug or troubleshoot my program in NXP Rapid IoT Studio.

Demo applications

NXP Rapid IoT comes with weather station application, which can work stand-alone and demonstrate its capabilities without any programming. It is a good starting point to get sense of what it can do. It demonstrates the work of most of the built-in sensors.

image

NXP Rapid IoT Studio allows importing of other projects, including several provided demo projects.

I found it useful for me to explore how they were built, especially more complex scenarios.  And they can be used as a template to build your on program.

image

My weather station project

My Air monitors air quality and CO2 levels around you. It raises alerts if air quality or CO2 levels are not good for you.

Keeping air quality at safe levels is important. Studies found unacceptably high levels of carbon dioxide (CO2), formaldehyde and other volatile organic compounds (TVOC), and particle pollution in multiple indoor fitness centers. Air quality with CO2 concentration above 1000 ppm is low. 2000-5000 ppm can cause problems. TVOC up to 325 ppb considered as acceptable.

How you know that your environment, home, workplace, car, gym are safe?

Now you can make your own air quality monitor with help of the NXP Rapid IoT Prototyping Kit (SLN-RPK-NODE) and free online NXP Rapid IoT Studio without any software installation, coding and soldering. SLN-RPK-NODE has built-in air quality sensor CCS811. It can measure CO2 and TVOC.

As the fisrt step I recommend to get an overview of the studio with a 6 minute intro video:

image

  • Save the project in the Studio
  • Compile the project. Make sure you got "Project has been completed" message on the top. It may take 50-60 seconds.

image

  • Download the firmware by pressing "Program Firmware" icon.
  • Connect SLN-RPK-NODE to your computer using USB cable.
  • Switch SLN-RPK-NODE into programming mode. I prefer perform this operation by pressing the upper left and lower right buttons at the same time and waiting till its green led starts blinking. The new drive should be mounted.

image

  • Drop the firmware file to the newly mounted drive. The programming of the firmware should be completed in the next 10-15 seconds.

The program has several pages:

Temperature - Humidity - Pressure - Air TVOC - CO2.

You can switch between them by touching left and right side of the screen.

If TVOC level goes above 325 ppb than blue LED will be switched on.

if CO2 level rises above 1000 ppm then white LED will be turned on.

The LEDs will be turned off after 10 seconds.

The upper right button switches on back-light for 20 seconds.

Mobile Application

The Studio allows connect the device to a provided smartphone application without any coding.

image

The smartphone application visualizes data and can act as a cloud gateway.

image

Cloud integration

Data published to the cloud can be accessed from reporting tools. These analytical tools are available from the NXP IoT Studio and the smartphone application.

image

 

Sensor data analysis

The since on air quality and its impact on humans is pretty advanced. There is a good diagram on this topic at https://www.processingmagazine.com/what-to-know-about-poor-air-quality-risks/ . It shows impact of CO2 on human performance and especially on basic activities. I’ll expect that balance and coordination of movements gets negative impact with higher CO2 concentration.

 

image

 

References:

Is CO2 an Indoor Pollutant? Direct Effects of Low-to-Moderate CO2 Concentrations on Human Decision-Making Performance, William J. Fisk, Mark J. Mendell, Krishnamurthy Shekhar, Usha Satish,

Environmental Health Perspectives 120(12) · September 2012

I’ve used the device to collect data in the gym over several high intensity trainings (HIT) and in the public transit – a commuter train.

Training, Thursday, January 3rd

 

Here are some environment data from the training session. The device was placed next to a fan, so sensor data may be a bit off (at least temperature went up for sure).  In the next session it was far from the fan.

As sensors are not calibrated, they only can be used to understand relative change of environment.

Air Quality reflects "Total volatile organic compounds"  (http://www.npi.gov.au/resource/total-volatile-organic-compounds ). Here some reference on CO2 effects on humans http://www.aragonvalley.com/effects-of-co2-in-humans/ .

 

It seems to me that levels of CO2 and TVOC were acceptable.

image

 

AirQuality line on the diagram represents TVOC (Formaldehyde, Benzene, Carbon monoxide, etc.). Levels below 325 ppm in general considered as OK for humans. It was always below 200 ppm during the training.

CO2 discussion

I’m not expert, but I think acceptable CO2 level for the training depends on training objectives and physical conditions. There are some specialised trainings (to build respiratory strength) with low oxygen and high CO2. There are elevation training masks to simulate high altitude training.

When we inhale, air contains ~21% of oxygen and ~0.04% CO2. When we exhale CO2 goes to 3.8% and oxygen to 16%. I can imagine that during HIT these numbers are quite different.

 

CO2 levels, ppm

350-1000

Concentrations typical of occupied indoor spaces with good air exchange

1000-2000

Complaints of drowsiness and poor air.

2000-5000

Headaches, sleepiness and stagnant, stale, stuffy air. Poor concentration, loss of attention, increased heart rate and slight nausea may also be present.

 

During the training we reached 1000 ppm after ~15 minutes. And later it reached 1600 ppm. May be ventilators were not running at full speed. This level is considered good for endurance training, but not very good for the brain performance.

 

Training, Thursday, January 10th

 

The quality of air was better and level of CO2 was lower despite a much larger number of people. I fill better compare to the previous Thursday. The sensor was placed in a different place and it may be a factor to reach a higher temperature then in the previous session.

image

The connection between the sensor and the phone was lost, so the record is incomplete and missing last 20 minutes of the training session.

 

Training, Thursday, January 17

CO2 was a bit higher than in the previous week, but still acceptable.

The Air Quality (total volatile organic compounds - TVOC) was very similar to last week and was at acceptable levels too.

Initial temperature was high as the sensor’s battery was charging just before the session and it takes some time to cool it down (15-20 minutes).

image

Training - Diagram, Q&A

  1. The air quality line … does this refer to oxygen content?

The air quality line doesn’t refer to oxygen. It reflects concentration of total volatile organic compounds (TVOC). Common examples of VOCs that may be present in our daily lives are: benzene, ethylene glycol, formaldehyde, methylene chloride, tetrachloroethylene, toluene, xylene, and 1,3-butadiene.

  1. That’s the idea ratio we are targeting for a graph like below

CO2 350-1000 ppm -  typical of occupied indoor spaces with good air exchange.

CO2 1000-2000 ppm - complaints of drowsiness and poor air.

CO2 2000-5000 ppm - headaches, sleepiness and stagnant, stale, stuffy air. Poor concentration, loss of attention, increased heart rate and slight nausea may also be present.

TVOC 50-325 ppb - thought to be acceptable for indoor, but I was not able to find clear guidelines.

For comparison:

Measurements at my cubicle  - CO2 level – 425 ppm and TVOC – 10-25 ppb.

Measurements inside local commuter train at the departure time from the station - CO2 level - 2200 ppm and TVOC - 275 ppb.

  1. From the looks of the graph the room was already hot?

The temperature sensor is a bit reactive. It was hot because of charging. Then it took some time for the sensor to cool down. And it always shows a bit higher temperature (2-3C). I need to investigate how to correct it.

 

Anything else you can get from these graphs? For example, what’s the correlation between CO2 levels and elevated training conditions?

It is more difficult to exercise with higher temperature/humidity/CO2 level. On other side it helps to develop endurance.

During exercise, body needs more energy, which means tissues consume more oxygen than they do at rest. Consuming more oxygen will also produce more CO2 because the metabolic rate is elevated.


Train, Thursday, January 10th

 

The ventilation in the train is switched on only after the departure from the station. And it takes more than around 20 minutes to clean it up and go to the level below 1000 ppm. If CO2 and TVOC sensor reports the correct data, then it is definitely not very good to be on this train, especially when CO2 reached ~2600 PPM at ~4:52 pm. The temperature sensor seems went to high based on my experience. It is not clear why.

image

 

Air quality map

After some research I realized that it is not feasible to produce air quality map without significant additional effort.

NXP Rapid IOT Android app is not continuously capturing GPS position.

NXP Rapid IOT Android app get closed by OS when I used another app to capture location continuously.

The provided Android Weather app has no connectivity to NXP IoT Cloud. So even if I capture location data, than I'll need to build my own back-end to process data..

 

I wish

  • I wish I had a debugger, I spend several hours trying to understand why my very simple program was not giving me CO2 data. As I didn't have the debugger I've decided not to explore desktop MCUXpresso IDE.
  • The provided NXP mobile application is changing rapidly with many updates, so I hope in the future versions it will be more robust from BLE connectivity perspective. BLE connectivity with provided Android application (tested in January 2019) was not robust for a continuous data collection during my testing. This is a key limitation to use it. As cloud integration depends of this application was not able to use to full extend.
  • I wish the device has a better power budget, which can be managed from NXP IoT Studio, so I can wear this device with me all day long.
  • I wish there is an option to undo changes in the NXP IoT Studio.
  • I wish sensors are already calibrated out of the box.The temperature sensor is reporting a higher than actual temperature. It may be too close to other internal elements (like CPU and/or battery).
  • I wish I can trust sensors data. The sensors may experience some level of drift. You may need to reset device if you think the values are not correct. It was especially required after significant changes in the environment.
  • I wish I can use it without IoT gateway (I don't have it) or the app (not robust on the move) .
  • I wish it can support a wider temperature range, so it can be installed in the car and monitor air quality there.
  • I wish one day I will get a phone or a watch or a smart band with air quality sensors, so I can be aware about environment around me.
Anonymous
  • Thank you!

     

    I wish every bus or train provided information about air quality to passengers.

     

    But I think there is a potential for a much worse outcomes as well. Think about truck and taxi drivers. They spend long hours in the environment that may significantly impair their abilities.

     

    Do you know if there are any regulations about air quality in such cases?

     

    Regards,

     

    Sergey

  • Nice roadtest review.  I really liked your added sample session on the train.  I would expect that a lot of sources of mass transportation may exhibit higher levels of TVOC than we would prefer, likely due to large number of people and a reliance on non-natural materials used (out-gassing).

     

    Well done!

    Gene

  • Nice detailed review.

    Appreciate your time & efforts.