Skip navigation
> RoadTest Reviews

Omron Sensor Evaluation Board 2JCIE-EV - Review

Scoring

Product Performed to Expectations: 9
Specifications were sufficient to design with: 9
Demo Software was of good quality: 9
Product was easy to use: 10
Support materials were available: 9
The price to performance ratio was good: 7
TotalScore: 53 / 60
  • RoadTest: Omron Sensor Evaluation Board 2JCIE-EV
  • Buy Now
  • Evaluation Type: Development Boards & Tools
  • Was everything in the box required?: Yes
  • Comparable Products/Other parts you considered: The Omron Sensor Evaluation Board has some similarities in concept to the Rohm SensorShield-EVK-003 which I previously RoadTested. Other boards with multiple sensors for microcontrollers also exist and some comparison is made in the RoadTest.
  • What were the biggest problems encountered?: No large problems.

  • Detailed Review:

    Omron 2JCIE-EV01-AR12JCIE-EV01-AR1 Sensor Evaluation Board

    by Frank Milburn

     

    Introduction

     

    The Omron 2JCIE-EV01-AR1 Sensor Evaluation Board and B5W-LB2101-1 Photo Micro Sensor were evaluated on an Arduino MKR WIFI 1010. The Sensor Evaluation Board has 6 types of on-board sensors: temperature, humidity, light, barometric pressure, noise, and acceleration.  The RoadTest  contains my observations during unboxing and setup as well as the following for each sensor in the package.

     

    • Brief description of sensor and operation
    • Notes on sensor use
    • Screen shots and video of sensor output
    • Validation of sensor output

     

    At the end of the RoadTest there is a summary and list of useful links.

     

    Unboxing and Setup

     

    The package arrived well packaged and undamaged.  There are Omron sensor evaluation board versions for the Raspberry Pi and Adafruit Feather as well as the Arduino MKR Board used here.  The MKR WIFI 1010 was supplied for the RoadTest.  Also supplied were a B5W-LB2101-1 Photo Sensor and 2JCIE-HARNESS-04 cable to connect it to the sensor board.

    Unboxing and Contents

    The User Manual describes how to solder the 0.1 inch pin headers to the PCB.  A small nit, but I found the pads on the PCB to be smaller than I am accustomed to which made it somewhat difficult to contact the pad and pin simultaneously with my regular through hole soldering iron tip and get a good joint.  Nonetheless the soldering task was quickly completed.  The firmware examples reside on Github and were downloaded and installed per the directions in the User Manual without issue.  In the photo below the sensor evaluation board and light sensor are attached to the MKR WIFI 1010 and are ready for use.

    Omron Sensor Evaluation Board "Hello World"

     

    Arduino MKR WIFI 1010

     

    The MKR WIFI 1010 was supplied at my request rather than a Raspberry Pi because I normally use sensors such as those on the Sensor Evaluation Board with a microcontroller.  It is a nice little board with an ARM Cortex-M0 SAMD21 microcontroller.  Wi-Fi and Bluetooth connectivity is provided by a u-blox NINA-W10 chipset operating at 2.4 GHz.  This is one of Arduino's more popular boards and seems well supported.  I encountered no problems using it with the Arduino IDE on a relatively fast Windows 10 computer.

    Arduino MKR WIFI 1010

    It is the little things that make a difference sometimes.  I really like the way the pins are marked on the sides of the headers.  It is readable even when there is a daughterboard on top.

     

    Omron Sensor Evaluation Board 2JCIE-EV01-AR1

     

    This tiny and well made board has a lot of capability.  The provision of working code is a great feature and I've often wondered why more manufactures don't do this.  Making three versions of the sensor evaluation boards for the Arduino MKR, Adafruit Feather, and Raspberry Pi is also nice and somewhat unusual for a manufacturer's board. 

     

    The Arduino version of the Sensor Evaluation Board looks like this prior to soldering in the provided 0.1" pin headers.

    Omron Sensor Evaluation Board

    Unlike the Arduino board, it is necessary to haul out documentation to see what is what as the silk screen marking for the header pins is somewhat cryptic and the use of the various connectors is not apparent.  The following is taken from the Omron datasheet.

    Omron Sensor Evaluation Board Pinout

    Credit: Omron Sensor Evaluation Board datasheet and used here as permitted by fair use

     

    In addition to the sensors the board has a RGB LED switched with NPN transistors and a bidirectional I2C Voltage-Level Translator for 3V3 <-> 5V.  On the board there is a footprint for U4 with 10 pads but U4 does not show up on the schematic or in any of the documentation I read.  The following interesting note is on the datasheet without further explanation:  When using the sensor evaluation board, the accuracy indicated on the data sheet of each sensor manufacturer is not guaranteed.  It may well be that this is the case for all such boards, but I haven't noticed it in the documentation of others.  There are additional JST connections shown as  I2C 3V (CN4), I2C 5V (CN5), UART (CN6), and Analog 5V (CN7).  There are quite a few jumpers but the example code worked out of the box with no changes needed.

     

    The following table has a high level comparison of the Omron Sensor Evaluation Board to the Adafruit Circuit Playground Express and Rohm SensorShield-EVK-003.

    Circuit Playground ExpressOmron Sensor Evaluation BoardRohm SensorShield
    Motion SensorLIS3DH 3-axis accelerometerLIS2DW12 3-axis accelerometerKX224-I2C 3-axis accelerometer
    Temperature / HumidityThermistor - no humiditySHT30-DIS-B temperature and humidityBD1020HFV - no humidity
    Light SensorPhoto transistorOPT3001DNPRPR-0521RS
    Sound SensorMEMS microphoneMEMS microphone

    N/A

    LEDS10 x Neopixels and LED1 x RGB LEDN/A
    SpeakerMagnetic speaker with Class D amplifierN/AN/A
    User Input2 x push buttonN/AN/A
    CommunicationIR receiver and transmitter

    N/A

    N/A
    Flash Storage2 MBN/AN/A
    MicrocontrollerATSAMD21G18 ARM M0Arduino MKR (not included)Arduino Uno (not included)
    External ConnectorN/A1 QwiicN/A
    Pressure SensorN/A2SMPB-02EBM1383AGLV
    Hall SensorN/AN/ABD7411G
    Color SensorN/AN/ABH1749NUC
    MagnetometerN/AN/ABM1422AGMV
    Heart Rate / PulseN/AN/ABH1790GLC
    Cost$24.95$95.37$156.74

     

    I did a RoadTest of the Rohm SensorShield in November of 2018 and included the Adafruit Circuit Playground Express as I have one in my possession and am familiar with it.  Some comparison will be made to their sensors in the detailed review that follows.

     

    The Qwiic connector, which is used for the Omron external boards, is becoming a standard for makers / hobbyists and it is interesting to see it adopted by a sensor manufacturer.  The sensors on the Omron board are more comparable to the Adafruit Playground Express.  Consideration must be given to the Circuit Playground Express being a high volume (almost consumer) board Vs an evaluation board but still my rationale for determining the price to performance should be apparent.  It is confusing to me that all but one of the sensors on the Sensor Evaluation Board are from manufacturers other than Omron as described in the detailed evaluation below.  If Omron were to offer their barometric pressure as an board with Qwiic connector like the optical sensor B5W-LB2101-1 it would reduce cost when paired with a Qwiic / Stemma Raspberry Pi hat or FeatherWing and put the focus on their sensors.

     

    Temperature / Humidity

     

    The temperature and humidity sensor is labelled U1 and is a Sensirion SHT30-DIS-BSHT30-DIS-B that uses I2C communication.  It comes in an 8 pin DFN case.  It could be soldered at home with a reflow oven (in my case, a toaster oven) or hot plate.

     

    The specs are quite good, with both the temperature and humidity specs being better than any other sensor I have at hand:

    Temperature / Humidity Specifications

    Credit: Sensirion datasheet and used here as permitted by fair use

     

    The sensor has Sensirion CMOSens®  technology that uses changes in capacitance to measure humidity.  Sensirion states that the dielectric is a polymer which absorbs or releases water in proportion to the relative environmental humidity which changes the capacitance of the capacitor.  The block diagram from the datasheet is shown below:

    Credit: Sensirion datasheet and used here as permitted by fair use

     

    The Omron software is issued under a lenient MIT license.  I did a quick read through the code and didn't see anything that would be too difficult to port.  An internet search for SHT30-DIS software found C, Java, and Python code.  The following is example output to the serial monitor on the Arduino using the Omron code.

    Example Temperature / Humidity Output

     

    There is a note in the user manual stating the following: "The temperature sensor on the Sensor Evaluation Board may output a high value due to heat from the Arduino unit. To eliminate this effect, either connect with a cable to separate the two, or use an externally connected temperature/humidity sensor".  To validate the temperature I placed the probe of my Tenma 72-1020 DMM alongside the sensor on the board while the output from the Arduino above was being recorded and read 25.2 degrees C. Spot on.  The only humidity sensor I had readily available (DHT22) has poorer specs than the SHT30-DIS-B so I checked local weather stations which were showing between 55 and 60 %RH around me.  So call that good as well.

     

    The Sensirion SHT30-DIS-B is a nice temperature and humidity sensor that costs $2.78 in quantities of one.

     

    Light

     

    The ambient light sensor is labelled U2 and is a Texas Instruments OPT3001DNPOPT3001DNP with I2C communication.  It comes in a 6 pin USON package measuring 2  mm x 2 mm x 0.65 mm.  It would not be easily hand soldered and needs an oven or hot plate to solder at home.

     

    The OPT3001-Q1 device measures the intensity of visible light in lux. The spectral response of the sensor tightly matches the response of the human eye and includes significant infrared rejection.  Measurements can be made from 0.01 lux up to 83k Lux with automatic full-scale adjustment.  For comparison, Wikipedia states that a moonless overcast night sky has 0.0001 lx, office lighting typically has 320-500 lx, an overcast sky has about 1000 lx, and direct sunlight can have 32,000 to 100,000 lx.  So the sensor covers a useful range although extreme conditions might saturate the sensor or not register.  A glance at the datasheet shows the specs to be quite good.

    Ambient Light Sensor Specifications

    Credit: Texas Instruments datasheet and used here as permitted by fair use

     

    Note in particular the close match in spectral response to the human eye (Figure 2.) and the linear full scale output illuminance response (Figure 4.).  The OPT3001 block diagram is shown below.

    Light Sensor Datasheet

    Credit: Texas Instruments datasheet and used here as permitted by fair use

     

    The Omron software is issued under a lenient MIT license.  I didn't see anything that would be too difficult to port but did not port to another microcontroller.    The following example output to the serial monitor on the Arduino using the Omron code comes from the desk where I am working which has good indirect light from a North facing window.

    Light Sensor Output

    The code contains a "heart beat" that flashes the LED which is quite bright.  That did not seem like a good idea when measuring ambient light so it was commented out.  Another observation is that it would be nice to display the units (Lux) in the output.   When taken outside on a sunny August day in Portland and pointed towards the sun the maximum reading was 63,000 and saturation did not occur.

     

    The Texas Instruments OPT3001 is a nice sensor in a small package that gave good results.

     

    Barometric Pressure

     

    The MEMS digital barometric pressure sensor is labelled U3 and is an Omron 2SMPB-02E2SMPB-02E   that communicates by I2C.  The package is a  2 mm x 2.5 mm LGA 9 pin.  It would be very difficult to hand solder and as a minimum an oven or hot plate is required.  A photo of the package and excerpt from the Omron datasheet is given below.

    Omron Pressure Sensor

    Omron Pressure Sensor Datasheet Excerpt

    Credit: Omron2SMPB-02# datasheet and used here as permitted by fair use

     

    Going by the specifications the +/- 3.9 Pa relative pressure accuracy of the Omron 2SMPB-02E is between the Rohm BM1383 (+/- 12 Pa) and the TDK InvenSense ICP10100 (+/- 1 Pa).  But the absolute pressure accuracy of the Omron sensor is better than the Rohm or TDK (50 Pa Vs. 100 Pa).  This is  good performance from the Omron sensor.  As an example of the absolute accuracy, a 50 Pa error is equivalent to about a 4 meter error at sea level and a 3.9 Pa relative error is about 0.33 meter (calculations done using the MIDE calculator).

     

    A block diagram from the datasheet of the Omron 2SMPB-02E is shown below.

    Omron Pressure Sensor Block Diagram

    Credit: Omron2SMPB-02# datasheet and used here as permitted by fair use

     

    The same Omron MIT license given in the other examples applies to the code.  Typical output from the Arduino serial monitor is shown below.

    Pressure Sensor Output

    Both pressure in Pa and temperature in degrees C are reported.  The two columns that follow are raw uncompensated pressure and temperature.

     

    To validate absolute pressure I looked up the current pressure at my home on windy.com and converted the reported 1010 hPa to the altitude of my house and got an estimated 98000 Pa.  The Omron sensor is showing 98069 Pa.  That is within the uncertainty of the windy.com calculation.  To get an idea of relative pressure I recorded the measured pressure on the ground floor and upper floor of my house, difference in elevation, and outside temperature as follows: 

     

    Ground Floor Pressure:  98069 Pa

    Upper Floor Pressure:    98039 Pa

    Outside Temperature:          21 C

    Measured Elevation Difference:  2.74 m

     

    Using the MIDE calculator the elevations were then calculated as shown below:

    Elevation Error Calculation

    The measured elevation difference between the two floors is quite accurate and the calculated value differs by only 0.12 m.  As noted above, the sensor datasheet converts to a maximum error of 0.33 m and so the relative pressure measurement is validated for this single test.

     

    The pressure sensor gave good results and is small in size. 

     

    Acceleration

     

    The MEMS digital motion sensor is labelled U5 and is a STMicroelectronics LIS2DW12LIS2DW12 that communicates with SPI.  The package is a  2 mm x 2 mm x 0.7 mm LGA 12 pin.  It would be very difficult to hand solder and as a minimum an oven or hot plate is required. 

     

    The following list of features and diagram is taken from the datasheet.

    Accelerometer Features

    Credit: STMicroelectronics LIS2DW12 datasheet and used here as permitted by fair use

     

    Here is the block diagram:

    Accelerometer Block Diagram

    Credit: STMicroelectronics LIS2DW12 datasheet and used here as permitted by fair use

     

    The Arduino code provided by Omron worked without issue but was not extensively tested.  In the following video the board is aligned in the 3 axis and "tapped" with the results observed on the serial monitor.

     

    Microphone

     

    The MEMS microphone is labelled U6 and is a Knowles SPH0645LM4H-B that communicates with I2S.  The microphone is bottom ported.  It comes packaged  in a 3.50 x 2.65 x 0.98 mm SPH case.  Performance as reported in the datasheet shows it to be good for the spoken voice at reasonable sound levels.

    Microphone Features

    Sound Performance

    Credit: Knowles SPH0645LM4H-B datasheet and used here as permitted by fair use

     

    Omron did not provide code for this sensor but relies on an example provided by Arduino which can be plotted on the Serial plotter.  The serial plotter isn't well suited for this but the example worked without issue as shown in the following video.

     

    I noticed that the Arduino sketch freezes from time to time but believe that is the Arduino code and not the mic.  This sensor is also available on an Adafruit breakout board that I have used in the past.  It works well for the intended purpose.

     

    Omron Optical Sensor B5W-LB2101-1

    with Harness 2JCIE-HARNESS-04

     

    The B5W-LB2101-1B5W-LB2101-1 optical sensor connects via a JST S4B-ZR 4 pin connector to the Sensor Evaluation Board.  It is a 40 mm x 14.3 mm x 8.4 mm package that can be attached through the provided mounting holes.

    Omron Light Sensor

     

    The sensor detects whether an object is within a defined range in front of it and is relatively insensitive to color, transparency, lighting conditions, and background.  For example, the B5W-LB2101-1 being tested here has a sensing distance of 10 to 55 mm according to the datasheet.  There is a different version that has a sensing distance of 2 to 10 mm.  There are both digital and analog version.  The analog version that was tested allows the user to set the trigger level for object detection and allows some ability to tune out background.

     

    The following curves show how it is relatively insensitive to surfaces and color over the sensing range.

    Insensitivity to color

    Credit: Omron B52-LB2101-1 product description and used here as permitted by fair use

     

    Note that black paper has a somewhat narrower range than white paper and acrylic PMMA, yet they are still in a relatively narrow range.  The voltage output from the sensor rises sharply as soon as an object is within range and falls off quickly when outside.  Most IR sensors are sensitive to the reflective nature of an object but the Omron sensor reduces sensitivity with a convergent reflective sensor as described in this video.

     

    The datasheet has a table with a number of materials in it for both the 2 to 10 mm and the 10 to 55 mm nominal sensors.

    Sensitivity to Materials

    Credit: Omron B52-LB2101-1 product description and used here as permitted by fair use

     

    Omron does not provide Arduino code for this sensor, or if it does I couldn't find it.  However the operation is simple enough and I put together something with the help of the datasheet.  The Omron code for the sensor was not discovered (source is located here) until pointed out to me in the comments by Gough Lui below.  The following code was developed by me and used during the RoadTest.

     

    The pin mapping of the Sensor Evaluation Board was a bit confusing so let's start with that.  Below are the areas of interest from the schematic.

    Partial Omron Light Sensor Schematic

    Credit: Partial Omron 2JCIE-EV01-AR1 schematic and used here as permitted by fair use

     

    The two headers (CN10 and CN11) at the top connect directly to the Arduino MKR board.  The bottom left connector (CN8) is for the Omron light sensor.  Starting with CN8, the light sensor operates at 5V which is provided at pin 4.  Ground is on pin 2.  As shall be shown below the sensor is pulsed by the microcontroller.  The pulse comes into U11 on the pin with the wire named B5WLA01_IN.  The sensor output is then sent to the microcontroller on the wire labelled B5WLA01_OUT.  Looking back up at the headers connected to the Arduino, B5WLA01_IN goes to pin 6 on CN10.  Pin 6 on CN10 corresponds to A4 on the Arduino board.  And B5WLA01_OUT corresponds to A2 on the Arduino board.

     

    A Product Description sheet provided by Omron gives the recommendation below for sampling.

    Omron Light Sensor Sampling Recommendation

    Credit: Omron B52-LB2101-1 product description and used here as permitted by fair use

     

    The recommended sampling rate is 2000 us or 500 Hz.  Sampling ON time is 800 us or 40% duty cycle.  A sample is taken roughly in the middle of the ON time.  The pulse comes in from pin A4 on the Arduino and the output is read on pin A2 of the Arduino.  Stupid Arduino IDE.  I somehow deleted my code and had to rewrite it.  My code (using a MIT license like that of Omron) is provided below.

    /*
     * Omron B5W-LB2101-1
     * 
     * The following example code demonstrates the Omron B52-LB2101-1 light 
     * sensor operating on an Arduino MKR WIFI 1010 with the Omron 2JCIE-EV01-AR1
     * Sensor Evaluation Board.  Raw readings are continuously written to the 
     * serial monitor and when an object is within range the on-board LED
     * lights.
     * 
     * MIT License
     * Copyright (c) 2020 - Frank Milburn
     * All rights reserved.
     *
     * Permission is hereby granted, free of charge, to any person obtaining a
     * copy of this software and associated documentation files (the "Software"),
     * to deal in the Software without restriction, including without limitation
     * the rights to use, copy, modify, merge, publish, distribute, sublicense,
     * and/or sell copies of the Software, and to permit persons to whom the
     * Software is furnished to do so, subject to the following conditions:
     *
     * The above copyright notice and this permission notice shall be included in
     * all copies or substantial portions of the Software.
     *
     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
     * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
     * DEALINGS IN THE SOFTWARE.
     */
    
     const int ledPin = LED_BUILTIN;
     const int sensorInputPin = A4;      // pin pulses the sensor ON/OFF
     const int sensorOutputPin = A2;     // raw analog values read from this pin
     const int sensorOn = 800;           // sensor ON time in us
     const int sensorOff = 1200;         // sensor OFF time in us
     const int sensorObjectDetect = 100; // raw analog value indicating detect
    
     int sensorValue = 0;                // raw value read from sensor
    
     void setup() { 
      Serial.begin(115200);
      while (!Serial){;}
      Serial.println("Omron B5W-LB2101-1 demo starting");
      
      pinMode(ledPin, OUTPUT);
      digitalWrite(ledPin, LOW);
    
      pinMode(sensorInputPin, OUTPUT);
      digitalWrite(sensorInputPin, LOW);
    }
    
    void loop() {
      // Pulse the sensor input pin and wait until half the pulse is complete to sample
      digitalWrite(sensorInputPin, HIGH);
      delayMicroseconds(sensorOn / 2);
    
      // Read the sensor output and finish the pulse
      sensorValue = analogRead(sensorOutputPin);
      delayMicroseconds(sensorOn / 2);
    
      // Turn the pulse off, report results, and finish cycle
      digitalWrite(sensorInputPin, LOW);
    
      Serial.print("Raw analog value = ");
      Serial.println(sensorValue);
    
      if (sensorValue >= sensorObjectDetect){
        digitalWrite(ledPin, HIGH);
      }
      else{
        digitalWrite(ledPin, LOW);
      }
    
      delayMicroseconds(sensorOff);                    
    }
    

     

    Since this sensor works by design within a narrow range I decided to look at how it might be used in a drink dispenser to detect a cup, glass or mug underneath a nozzle.  Since the detection range is narrow, the sensor can be set up to dispense only when the cup is underneath and spillage is reduced.  We went hiking last weekend and in the image below my son-in-law is filling up my granddaughter's bottle at a dispenser in the park (no touch - there is a pandemic going on).  I'm not sure what the sensor used was though and didn't want to alarm other hikers waiting to fill their bottles or embarrass myself by doing a close inspection.

    Filling a drinking bottle from filtered water dispenser

     

    In the demonstration video below my  test setup is described and drinking vessels with different materials and color are tested.

     

    Note:  In the video I make a remark about detections in bright light.  According to the datasheet the sensor can manage up to 3,000 Lux maximum incandescent light and 10,000 Lux sunlight.  This is consistent with my observations.

     

    This was one of the more interesting sensors in the RoadTest and with two ranges available I can see where it could be used in a number of applications.  The latency would be good enough for many cases and the ability to detect smaller curved as well as flat surfaces useful.

     

    Conclusion

     

    + Omron 2JCIE-EV01-AR1 Sensor Evaluation Board PCB is small and well made

    + Sensor Evaluation Board comes with 6 useful sensors

    + Versions of the Omron Sensor Evaluation Board exist for Arduino, Feather, and Pi

    + Arduino MKR 1010 worked without issue with the Sensor Evaluation Board

    + Setup was easy, Arduino examples are adequate

    + Sensirion SHT30-DIS-B temperature / humidity sensor has great resolution and accuracy

    + Texas Instruments OPT3001 light sensor matches the human eye well and automatically adapts to a wide range of light conditions

    + Omron 2SMPB-02E barometric pressure sensor gave good results and has a particularly good absolute pressure specification

    + Omron B5W-LB2101-1 provides good detection in a specified range for all types of objects with the ability to filter out many background conditions

     

    - Cost on the high side

     

    In summary, all of the sensors were of high quality and the evaluation board worked as expected.

     

    Corrections and Updates

    26 Aug 2020:  Corrected statement on Omron supplied code for the B5W-LB2101-1

     

    Useful Links

     

    Sensor Evaluation Board 2JCIE-EV Data Sheet

    Sensor Evaluation Board 2JCIE-EV01-AR1 User’s Manual

    Sensor Evaluation Board 2JCIE-EV01-AR1 Circuit Diagram


Comments

Also Enrolling

Enrollment Closes: Oct 5 
Enroll
Enrollment Closes: Oct 30 
Enroll
Enrollment Closes: Oct 29 
Enroll
Enrollment Closes: Oct 29 
Enroll
Enrollment Closes: Oct 26 
Enroll
Enrollment Closes: Oct 5 
Enroll
Enrollment Closes: Oct 9 
Enroll