|Product Performed to Expectations:||10|
|Specifications were sufficient to design with:||9|
|Demo Software was of good quality:||9|
|Demo was easy to use:||10|
|Support materials were available:||9|
|The price to performance ratio was good:||9|
|TotalScore:||56 / 60|
First of all, I would like to thank Randall, Daniel, everyone at element14, Farnell and Maxim for the fantastic opportunity I have been given to test these kits. Originally I intended to cover all the review material in one single RoadTest post, but considering its size I thought it would make sense to split it into two separate but consecutive parts. Therefore, this is the first part of a two parts RoadTest review of the 1-Wire® Grid-EYE® Sensor w/Arduino-Compatible PCB.
The MAXREFDES131# 1-Wire GridEYE Sensor (https://www.maximintegrated.com/en/design/reference-design-center/system-board/6331.html) and MAXREFDES130# Building Automation Shield (https://www.maximintegrated.com/en/design/reference-design-center/system-board/6332.html) combined together can be used for a wide range of applications, and probably each kit should have deserved its own RoadTest. I will do my best to cover as much ground as possible, but inevitably some features will not be thoroughly tested (apologies for that!). In particular, I will focus more on object detection leveraging thermal information, therefore the GridEYE sensor will be my “champion”, relegating the Building Automation Shield to the role of “sparring partner”.
This first part of the RoadTest will focus on describing the kits, and going through the unboxing and the standard documentation, while also performing some basic testing of both the sensor and the board, using the demo software provided. For that, I am using Arduino Uno as controller, and my host will be a Linux machine for all those tests but one: the GridEYE sensor demo application can only run on Windows (and so be it!).
In the second and final part of the RoadTest, I will explore one of the possible applications of the kits that particularly caught my imagination: I will implement a very simplistic prototype for a safety monitoring system for a building automation application, manageable via web dashboard. This system will monitor a well defined area, where some hazardous device/machinery is supposed to be operating, aiming to detect human movement near the “dangerous” spot. If such movement is detected, an alarm will trigger some corrective actions (i.e. power down/disconnect the device), to make sure the hazard is removed and the safety of the human preserved. Using this system, I will also test the limits of the thermal sensor. The MAXREFDES131# board will provide the thermal sensing capability, the MAXREFDES130# will act both as gateway to the sensor and actuator for the corrective actions. The shield will be connected to the Arduino Uno board, which will run the necessary firmware to manage both the boards. Arduino will be connected to a Raspberry Pi2 node via serial over USB connection. The latter will host a web server and the application logic, and will be connected to the internet via RJ45 cable.
The 2 kits arrived in an element14 box, nicely protected in bubble-wrap. Inside, each kit had its own box.The small black box was for the MAXREFDES131#, and had the Sensor Board and a RJ11 6P6C 2m long cable, while in the bigger one for the MAXREFDES130# there was: the Building Automation Shield, another RJ11 6P6C 2m long cable and the 24V power supply, complete with interchangeable plugs (EU, UK, USA, AU).
MAXREFDES131#: The board is based on the Panasonic AMG8833 GridEYE Infrared 8x8 Array Sensor (I2C slave device). This sensor is the 3.3V High performance type – High Gain model and, according to the datasheet, should give us a 0 °C to 80 °C temperature range for the measurement, with accuracy of +/- 2.5 °C, resolution of 0.25 °C and a human detection distance of 7m or less. The view angle of the sensor is 60°, both vertically and horizontally. This view angle, at the max detection distance, offers a whopping max coverage area of 49m2 for human detection, which is rather good, especially for industrial application, where it is more common to find high ceilings (the max coverage area is a square of 7m x 7m, and can be fully exploited if you can install the sensor on a 6m high ceiling, facing the floor). Nevertheless, even in a non-industrial installation, like office blocks, shops or domestic areas, where the detection areas needed are typically smaller, the GridEYE still has plenty of uses.
The sensor’s 64-pixel thermal image frame can operate at 2 different capture rates: 1 frame/sec or 10 frames/sec. Internally the frame capture rate is actually fixed at 10 frames/sec all the time, but when operating at 1 frame/sec the sensor output is calculated as the average of the 10 frames captured during the 1 second interval. In the 1 frame/sec mode, the noise affecting the image is also reduced by 1/3. The rest of the board circuitry provides the 1-Wire slave to I2C master interface and some logic allowing the addressability of the sensor (multiple 1-Wire sensors can be chained together on the same 1-Wire bus leveraging the second RJ11 connector).
MAXREFDES130#: At the heart of this rather big Arduino-compatible shield, there is the versatile MAX11300 programmable mixed-signal I/O device (PIXI), which allows the board to deliver eight 0VDC-10VDC analog outputs, one 4-20mA output, one 4-20mA input, eight non-latching relays (controlled via the MAX4822 8-channel driver), three latching relays. There is also a Real Time Clock, provided by the DS3231 (optionally can be powered with a CR1220 3V battery), and 1-Wire master, provided by the DS2484. Both ICs are I2C slave devices, controllable by the Arduino host.
Looking at the back of the board, it is clear that the kit, although Arduino-compatible, has not been designed to be used as a shield for Arduino Uno itself. Infact, when you plug in the Uno, the USB port shorts some of the latching relay's soldered pins. Good job I had some double-sided tape laying around: just stuck some on top of the USB port and problem solved!
Time to look at testing the kits using the demo provided with the standard documentation. Looking up the information, I had no problem finding enough documentation for the MAXREFDES130#: the hardware is well illustrated and the software APIs can be easily inferred by looking at the demo code and at the library code for the ICs mentioned earlier. Looking at the MAXREFDES131# the feeling changes: as before, the hardware information is readily available, but for the software, only limited information can be inferred by inspecting the demo code and the OWGridEye library. In particular, the most interesting part of such library, the level 3 APIs, which deals with object detection and object tracking, is closed-source and completely undocumented. I believe this library is not provided by Maxim, but it comes directly from Panasonic. In any case, I believe this is a serious shortcoming, considering perhaps the strongest point and key market differentiator for the GridEYE sensor is ironically its ability to detect and track objects!
The first demo tested is the one for the GridEYE. The demo itself is simple but effective: it gives you an insight on what the sensor can do, without gimmicks. It would have been nice to have a couple more MAXREFDES131# boards and perhaps some longer patches of RJ11 cable (I managed to get hold and used a 10m cable for the tests), to verify the robustness of the 1-Wire sensor addressing function and sensor network itself. For the RoadTest, I'm using an Arduino Uno as microcontroller, and to keep things as easy as possible, I'm using the Arduino IDE to build and upload the firmware. Following the instruction detailed in the Quick Start section of the online documentation (https://www.maximintegrated.com/en/design/reference-design-center/system-board/6331.html/tb_tab1), setting up the demo is quite straighforward: the only thing to pay attention to is not to install the library by looking them up using the "Manage Libraries" functionality of the Arduino IDE, but rather download them from GitHub as zip file, and load them using "Add .ZIP Library" functionality (the several OneWire libraries installable through "Manage Libraries", if used, lead to the "OWGridEye.h:38:36: fatal error: Slaves/Bridges/Bridges.h: No such file or directory" ). Once all the hardware is been plugged and powered-up and the firmware has been uploaded, all is left to do is plug in the USB cable from Arduino to the Windows Host and launch the MAXREFDEF131_Demo.exe application.
Unlike for the GridEYE, the demo for the Building Automation Shield requires a bit more work for the setup. For the testing, I am using 2 digital multimeters, a breadboard, 8 green LED, 3 yellow LED, a 5V power supply and a few wires.
First, lets compile the demo firmware. Detailed information on setting up the demo are provided in the Quick Start section of the online documentation (https://www.maximintegrated.com/en/design/reference-design-center/system-board/6332.html/tb_tab1). To be able to compile the demo sketch, the following libraries need to be installed as .ZIP files (they can all be found on GitHub - link provided):
Once uploaded the freshly built firmware, opening the serial monitor (setting the speed to 57600 baud/sec) will start the demo. The first task is to calibrate the current source/sink, by connecting the current source port to the current sink port, with the digital multimiter in series, to measure to current flowing. The calibration process needs to be repeated for the lower current (4mA) and the higher (20mA).
The video show the result of a sequence of commands sent from the demo, to set some non-latching relays (the green LEDs), then set all, unset all and finally set/unset of the latching relays (the yellow LEDs).
I will skip the test of the RTC and move onto testing one of the eight analog output voltage port and the analog output current port. Setting the port AO8 to 3.3V and port AIO to 10mA via demo causes the digital multimiter to read the following from the ports (as shown in the photo):
This concludes the journey into the demo software distributed with the kits and also the first part of this RoadTest. In general, my impression on the software is good: the code is sufficiently commented, and easy to understand. It is just a pity that for such good kits, whose added value really comes from being driven by clever software (for example, think about all the logic behind automating controls), very little emphasys has been put on producing and documenting libraries that could provide building blocks and make the designer's job a little easier. Regarding the hardware, I'm very pleased with the way both kits performed so far. The GridEYE sensor seems to fullfill its promises, although its limits will be explored in more depth during the executon of my project. The Automation Board is like a box of assorted chocolates, you can always find something that you like in it! It really is a sort of swisse-knife for automation project. The only downside with that, is that unless a project really uses all its features, the risk is that it will end up seriously underutilised, which will give a bad return on the investment.