Blogs

Build a Simple Real-Time BMP180 Dashboard with Node-RED and Arduino

Build a Real-Time BMP180 Dashboard with Node-RED and Arduino

 

In this guide, we will show you how to create a live temperature and pressure dashboard using an Arduino, a BMP180 sensor, and Node-RED. You’ll be able to see live sensor data in your browser, no complex web development required.

If you’re into IoT, automation, or just building something cool with sensors, this one’s for you. We will walk you through everything: from wiring the sensor and uploading the Arduino code, to setting up Node-RED and visualizing data in real-time.

We will be showing how to do more advanced things in Node-RED in the future so stick along with us to learn some fancier implementations. 

Need help with your own Node-RED or IoT dashboard? Hire me on UpWork. We specialize in Node-RED, automation flows, and hardware integrations.


What We’re Building

We’re connecting a BMP180 sensor to an Arduino to read temperature and pressure. Then we’ll send that data over USB serial to Node-RED, and build a live dashboard with gauges and charts to visualize it.

Why Node-RED?

Node-RED is a powerful visual programming tool made for connecting devices and services — perfect for IoT and hardware projects. It lets you build dashboards and automation flows without needing to write front-end code.


What You’ll Need

  • Arduino Uno, Nano, or similar
  • ShillehTek Pre-Soldered BMP180 sensor
  • Jumper wires
  • Mac or PC with USB port
  • Node.js installed

All components can be purchased from ShillehTek store, except the Arduino, which is commonly found on Amazon or any website!


Step 1: Install Node-RED

  1. Install Node.js from nodejs.org (LTS version)
  2. Open Terminal and run:
    npm install -g --unsafe-perm node-red
  3. Start Node-RED with:
    node-red
  4. Visit http://localhost:1880 in your browser

Step 2: Install Dashboard and Serial Nodes

  1. Click the menu ☰ in the top-right → Manage palette → Install
  2. Install:
    • node-red-dashboard
    • node-red-node-serialport

Step 3: Connect BMP180 to Arduino

Wire your BMP180 like this:

  • VCC → 3.3V
  • GND → GND
  • SDA → A4
  • SCL → A5

Step 4: Upload Arduino Code

Install the following libraries in the Arduino IDE:

  • Adafruit BMP085 Unified
  • Adafruit Unified Sensor

Then upload this code:

#include <Wire.h>
#include <Adafruit_BMP085.h>

Adafruit_BMP085 bmp;

void setup() {
  Serial.begin(9600);
  if (!bmp.begin()) {
    Serial.println("Sensor not found!");
    while (1);
  }
}

void loop() {
  float temp = bmp.readTemperature();
  float pressure = bmp.readPressure() / 100.0;

  Serial.print("{\"temp\":");
  Serial.print(temp);
  Serial.print(",\"pressure\":");
  Serial.print(pressure);
  Serial.println("}");

  delay(2000);
}

Step 5: Build the Node-RED Flow

  1. Drag in a serial in node and configure it:
    • Baud rate: 9600
    • Serial port: select your Arduino (e.g. /dev/cu.usbmodem...)
  2. Add a json node after it
  3. Drag in a ui_gauge node for temperature

Value format: {{msg.payload.temp}}

  1. Drag in a ui_chart node for pressure
  2. Add a function node between json and chart, with this code:
    return { payload: msg.payload.pressure };
  3. Wire it all like this:
    [serial in] → [json] → [ui_gauge]
                            → [function] → [ui_chart]
          

Step 6: Deploy and View the Dashboard

  1. Click the Deploy button in the top right
  2. Go to http://localhost:1880/ui
  3. You should see a live temperature gauge and a real-time pressure chart!

Of course we just scratched the surface of what you can do with Node RED! Go ahead and mess around, connect other sensors, and play around with the chart/gauge. 

Hope you got it working, and nice job :)


Step 7: Export and Share Your Flow

  1. Select all nodes (Cmd + A)
  2. Right-click → Export → Clipboard
  3. Copy the JSON and save it or share it with friends!

Need Help with Your IoT or Dashboard Project?

Whether you're building automation, dashboards, or full-blown IoT systems, we can help. Hire us on UpWork for freelance help with:

  • Node-RED Flows
  • Custom IoT Dashboards
  • Sensor Integrations
  • Robotics

Want More Projects Like This?

I regularly post tutorials on my YouTube channel, where I build embedded and IoT projects using Arduino, Raspberry Pi, and ESP32.

@mmshilleh

Thanks for following along — now go build something awesome!

Create a free account to access full content.

All access to code and resources on ShillehTek.

Signup Now

Already a member? Sign In

Need Project Support?