This is the BH1790GLC an Optical Hearth Rate Monitor Sensor developed by ROHM semiconductor. This sensor has an integrated optical and LED driver design to detect green light photo diode. This device drives LED and provides an intensity of light reflected from the human skin. The LED brightness can be adjust by LED driver current and light emitting period. The device photodiode has a high sensitivity for a green light, excellent wavelength selectivity and excellent IRcut characteristics that achieves accurate pulse wave detection. This device runs on 3v and uses I2C/TWI protocol for ease of control. This device is suitable for Wearable Device, Smart Phones, Tablets, Smart Watch, Smart Head Gears, Exercise Equipment & Fitness, Smart Suits and Mobile Medical Equipment’s.  For more details and data communicate address please refer to the datasheet.

BH1790GLC Hearth Rate Monitor

Required Components

  • Arduino IDE | Atmel Studio | Energia | Processing
  • Arduino PRO, FIO, NANO, UNO, MINI, MEGA, PRO MINI, LEO, BT, DUE, ETHERNET,LILYPAD, NodeMCU, Teensy Board, TeensyDuino, ESP8266 12, 12E, ESP32, LinkItOne, ESP8266 NodeMCU, ESPDuino, ATMEGA328 16/12, ATMEGA32u4 16/8/ MHz, ESP8266, MSP430 ,ATMEGA250 16 MHz, ATSAM3x8E, STM32.
    • Note: For AVR (If your using AVR please see the flash size of the MCU)
    • Note: The Diagram below is using NANO. (please refer to each MCU’s respective pin-outs & bus configurations)
  • ROHM BH1790GLC Optical Heart Rate Monitor Sensor
  • Step-down Voltage Regulator (See below required values)
  • Capacitors (See below required values)
  • Resistors (See below required values)
  • PCB Designer (Circuit simulation to PCB Layout)

Wiring Guide

BH1790GLC Hearth Rate

Source Code


Wiring the BH1790GLC Optical Heart Rate Monitor Sensor
Tagged on:                 

9 thoughts on “Wiring the BH1790GLC Optical Heart Rate Monitor Sensor

  • at

    While using Nodemcu – flexitimer2.h i get a error as
    \arduino-1.8.5\libraries\FlexiTimer2/FlexiTimer2.h:7:2: error: #error FlexiTimer2 library only works on AVR architecture

    #error FlexiTimer2 library only works on AVR architecture

    Do u have any alternative for this?

  • at

    When I using Wemos D1- flexitimer2 and mstimer2 is not working!!
    “” library only works on AVR architecture””
    And i found esp8266 is use “SimpleTimer.h”, but i don’t know to change HeartRate.ino code!

    please help me!!!!!

  • at

    i have this error when compiling:
    m_bh1792′ was not declared in this scope.
    Can advice? Am i missing some libraries?

    • at

      change it to senseBH1792, note m_bh1792 is a variable declared in the i2c library just to senseBH1792.

  • at

    Hi ineed help as well , when i charge the program i dont get values , iget like this “§§§§ùùùù????????????????????????????????????????????”
    idont undersand why


Leave a Reply

Your email address will not be published. Required fields are marked *