Getting Started with mmWave Sensor MR60BHA1 and Arduino

Introduction :

The MR60BHA1 mmWave Sensor is a compact and efficient radar sensor that utilizes millimeter-wave technology to detect objects, measure distance, and track motion. With its high precision and low power consumption, this sensor is ideal for applications in robotics, automation, and security systems..

Millimeter-wave (mmWave) sensors operate at extremely high frequencies, typically in the 30GHz to 300GHz range, allowing them to detect objects with great accuracy regardless of lighting conditions. Unlike optical sensors, mmWave sensors can penetrate fog, dust, and even certain materials, making them reliable in harsh environments. The MR60BHA1 is one such sensor that operates at 60GHz, providing precise motion detection and range measurement capabilities.

By integrating the MR60BHA1 with an Arduino, users can develop a variety of projects, such as human presence detection, security systems, and robotic navigation. In this blog, we will explore how to interface the MR60BHA1 with an Arduino board and read sensor data.

In this blog, we will explore how to interface the MR60BHA1 with an Arduino board and read sensor data.


Use of mmWaveSensor  :

The MR60BHA1 mmWave sensor is highly versatile and can be used in various fields, including:

  1. Smart Homes & Automation: Used for human presence detection to automate lighting, heating, and security systems.
  2. Security & Surveillance: Detects intruders or unauthorized movement, even in low-visibility environments.
  3. Industrial Automation: Helps in monitoring machinery and detecting the presence of workers for safety.
  4. Robotics & Drones: Enables obstacle detection and navigation for autonomous robots and UAVs.
  5. Healthcare Monitoring: Can be used for contactless monitoring of vital signs such as breathing rate and movement detection.
  6. Automotive Applications: Utilized in advanced driver-assistance systems (ADAS) for blind-spot detection and parking assistance.
  7. Retail & Customer Analytics: Tracks movement patterns in stores for business insights and automation.

Required Components :

  • Arduino Board (e.g., Arduino Uno, Mega, or ESP32)

  • MR60BHA1 mmWave Sensor

  • Jumper Wires (Male-to-Female)

  • USB Cable (for Arduino connection)






 update your radar to the latest version :

Many times sensor doesn't work properly that you have to update his firmware to latest version. There are two way to update new firmware.
 
  1. Using Jlink programmer. It is too extravagant to buy a J-link for the vast majority of users who only need to update their radar firmware.
  2.  update method via UART
We are discussing here 2nd method using USB to UASR system.

  • Download latest version of firmware from following Download
     Step 1. You will need to have a UART to USB and MR60BHA1 60GHz mmWave Sensor. Connect the radar and UART to USB together via Dupont wire as shown in the diagram below.

Step 2:  Download the necessary software and firmware

  Download  PackageMake-v1.1.1.zip

Step 3:  Unzip the package PackageMake-v1.1.1.zip and open the PackageMake-v1.1.1.exe file inside. Connect the UART to USB with the sensor connected to the computer, click the gear pattern in the upper left corner of the software, select the port number, set the baud rate to 115200, and then click the bottom right corner to confirm. (If the port number is not found, check the connection and then click the refresh button in the lower left corner to retry)


Step 4:  Connecting the sensor
          After you have finished setting up the serial port as described above, click on the second icon in the upper right corner and you will see the raw data from the radar printed out if the port is selected correctly.


Step 5:  Update firmware

Click the last icon in the upper right corner of the left mouse button, this will bring up a window to select the firmware. Please select the firmware version you have downloaded.

After the selection is complete, the selected file path will appear under the software, please double check if the selected firmware version and model is consistent with the sensor you are using.
To upgrade the firmware, please double click the left mouse button to the last image on the top left of the software, then the firmware will start downloading to the sensor.





Wait for the progress bar to finish and the firmware update is complete.

Use of the upper computer

Connect the sensor directly to the computer's usb port via a UART to USB device. The wiring is shown in the table below.






In addition to the serial software mentioned above, you can also use the upper computer software designed for radar directly. you just need to download from here and click on .exe file , it will work.


1.Connection Setup

Select the port to which the sensor is connected to the computer. It is usually necessary to refresh the port by clicking the Refresh Serial Port button before selecting it. Once the serial port is selected correctly, the data is automatically updated in circle 4 (if any data is available).

2. Function Setting

Debugging: 

When this function is turned on, real-time raw data can be output in the software. This is the window in circle 3 in the figure.

Save Raw Data: 
When you click on it, you can choose to keep the original data to your local computer. Note, however, that this option does not save new data after the button is clicked, only the most recent historical data.

Save Sleep Data:

 When you click on it, you can choose the path to save the raw data information related to sleep, while other data will not be saved. Note, however, that this option does not save new data after the button is clicked, only the most recent historical data.


3. Serial Monitor

This window appears when the Debugging option in circle 2 is checked, at which point the area displays real-time sensor data frames. At the bottom you can send command frames to the sensor. The commands that can be sent or queried can be found in the user manual of the sensor.

4. Graphic Display

This shows the line graph in real time. The data content displayed is respiratory rate, heart rate, and physical parameters, respectively. The horizontal coordinate is the time and the vertical coordinate is the corresponding data.

5. Status & Orientation

This area allows you to observe the state of human presence and the orientation of the human body. The human body orientation data is for reference only.

Wiring Diagram

The MR60BHA1 communicates using UART (TX/RX). Connect the sensor to the Arduino as follows:


Interface 1:

  • The 5V pin is the power supply interface for the sensor.
  • RX and TX are the data transmission interfaces for the sensor. RX means serial receive and TX means serial transmit.
  • The human presence status output interface. You can use the level of these two pins to determine the current human movement in the environment.GP2 output: high level - occupied, low level - unoccupied.
  • GP1 output: high level - active, low level - stationary.

Interface 2:

  • Flash firmware pinout: GND/3.3V/SWD/SWC
  • Overhead input/output pins: GP3~GP6.

Sensor development with Arduino  :

First download sensor library for following link, and add .zip file to Arduino library. Download


    Arduino have  have RX --> A2, Tx--->A3. 

   Make sure you make connection as following.

          SENSOR         ARDUINO
      5V(VCC) ----->  + 5v
          ( GND) ---->  GND
           ( RX)  ---->    TX
           ( TX)  ---->    RX

   you can upload any example program from library given, than check the result on serial monitor.

In the menu bar in the upper left corner of the Arduino IDE, select tool, choose the type of development board you are using, and select the corresponding serial port.


          

Testing the Sensor

  1. Upload the code to your Arduino.

  2. Open the Serial Monitor in the Arduino IDE.

  3. Set the baud rate to 115200.

  4. Observe the incoming data from the MR60BHA1 sensor.

Depending on the sensor's configuration, you should see motion detection data or distance measurements being streamed.


Conclusion

The MR60BHA1 mmWave sensor is a powerful and compact module for detecting motion and measuring distances. When paired with an Arduino, it becomes a useful tool for a variety of applications. By following this guide, you can easily set up the sensor and start experimenting with millimeter-wave radar technology.

Happy Coding! 🚀