Grafana Weather Dashboard on the reTerminal by Seeed Studio

Today we’re going to be taking a look at the reTerminal, by Seeed Studio. We’ll unbox the device to see what is included and we’ll then set up a weather dashboard on it using Grafana. We’re going to use weather data that is being recorded by an ESP32 microcontroller and is being posted to an InfluxDB database.

The reTerminal is a compact HMI (human-machine interface) device that is powered by a Raspberry Pi compute module 4 (CM4). It has a 5″ capacitive touch display, along with four physical function buttons, some status LEDs, and a host of IO options.

Watch my unboxing and setup video, or read on for the write-up:

Where To Buy Your Own reTerminal

You can pick one up from Seeed studio’s online store or from Amazon;

reTerminal (Seeed Studio) – Buy Here

reTerminal (Amazon) – Buy Here

Other components used for the Grafana dashboard;

Power Supply – Buy Here

ESP32 – Buy Here

Grove Sensor’s From Beginner Kit – Buy Here

Breadboard – Buy Here

Breadboard Jumpers – Buy Here

Unboxing The reTerminal

The reTerminal is shipped in a white box with a sleek matt black sleeve around it. The box is a little smaller than the display area of an iPad and is about 5cm thick.

reTerminal in Box

It comes standard with a 4GB WiFi variant of the Raspberry Pi Compute Module 4, running a quad-core Cortex-A72 CPU, and has 32GB of built-in eMMC storage.

It features dual-band, 2.4GHz/5GHz WiFi and Bluetooth 5.0, Gigabit Ethernet, Dual USB 2.0 ports, and a crypto-auth chip. It also has a built-in accelerometer, light sensor, and real-time clock.

reTerminal Specifications

The reTerminal is packaged in a protective sleeve and is surrounded by dense back foam.

reTerminal unboxing

In the box, you get the reTerminal, a small pack of mounting screws, and a small screwdriver. There isn’t a manual or datasheet in the box, but there is quite a lot of information available on their product page and the reTerminal wiki.

reTerminal Contents of Packaging

First Look at the reTerminal

The reTerminal is a bit smaller than what I was expecting but also feels like a much better quality product than I had anticipated. It is quite dense and feels solidly put together, with good quality materials.

On the bottom, we’ve got a 1/4″ camera mount and a small hole to access the reset button on the left side.

reTerminal Bottom

Along the top is a power button to the left, used to turn the reTerminal on again once it has shut down, a large aluminium heat sink along the back for the CM4 module, and a threaded mounting point on the right.

reTerminal Top

On the left side, we’ve got a USB C port for power, a micro HDMI port, Gigabit Ethernet, two USB 2.0 ports, and two M4 threaded mounting points.

reTerminal Left Side

On the right side, we’ve got a 40 pin GPIO header that has the same pinout as the other Raspberry Pi boards which is great for interfacing with sensors and expansion modules. We’ve also got another two M4 threaded mounting points.

Right Side of reTerminal

On the back of the reTerminal we’ve got the large heatsink, two more threaded mounting points, a slot for the camera connector ribbon cable, and under a dust cover, a high-speed PCIe Gen 2 lane.

Back of reTerminal
reTerminal PCIe Gen 2 Lane

Let’s Take A Look Inside The reTerminal

I’m not sure if the screwdriver is meant to be used for the mounting screws or to open it up, but we’re going to open it up anyway to take a look at what is inside the reTerminal.

First, we need to remove the 4 rubber feet/plugs that cover the screws securing the back plastic cover.

Mounting Points

One thing the reTerminal is not short of is mounting points. There are literally threaded mounting points on almost every side of the device, so you won’t have any issues securely mounting it for a project.

Removing the first cover and heat sink allows you to access the boot switch to re-flash the operating system on the Compute Module’s eMMC storage.

Removing the Back Cover and Heat Sink

Removing the second cover exposes all of the remaining electronics.

reTerminal Internals

The Pi 4 Compute module, can be replaced if you’d like, but I think they’ve chosen a good variant to ship with. You might want to go with the 8GB variant if you’re going to be doing a lot of multitasking or running more resource-intensive applications, but that seems unlikely on a device like this.

Swap CM4 Module Out With Alternate Model

On the board, some of the main features we’ve got are 15-pin and 22-pin camera ports, a 30-pin display port, a microSD card slot, a real-time clock module and a cryptographic co-processor with hardware-based key storage.

All of the electrical schematics are also available in their documentation.

Hardware Overview

This is version 1.6 of the board in my reTerminal.

Let’s close it back up and turn it on.

Booting Up The reTerminal

The reTerminal comes with Raspberry Pi OS Buster pre-installed, so when you power it up the first time, you’ll need to go through the usual first boot setup process.

reTerminal First Boot

It also comes preloaded with a reTerminal demo app, which just shows some of the basic functionality and use cases for the device.

reTerminal Preloaded App

The touch display is really responsive and is quite accurate for its size. As I’ve mentioned in previous reviews, like my review of the RasPad 3, Raspberry Pi OS itself isn’t the greatest for use with a touch display as the icons land up being really small and quite difficult to touch accurately. But if you’ve going to build your own dashboards and interfaces, which is the point of the reTerminal, then you have the opportunity to make the icons a bit bigger and these should work well.

Creating A Grafana Dashboard

I’m going to use an ESP32 to collect temperature, humidity and pressure readings. These will then be posted to a time-series database in InfluxDB. Influxdb can be run locally on a Raspberry Pi or on their cloud server, we’re going to be using their cloud server. We’re then going to be using an analytics and visualisation application called Grafana to display the information that has been stored in the database. Grafana can also be run locally on our Raspberry Pi (or reTerminal in this case) or on their cloud server. We’re going to be installing and running it locally on our reTerminal. You don’t need to use a separate Pi for influxdb and Grafana, you could run both locally on your reTerminal if you’d like to – I just don’t want to have to leave the reTerminal running all the time in order to collect the data.

Data Processing Between ESP32 and Grafana

Collecting The Weather Data Using an ESP32 And Posting To InfluxDB

To collect the weather data, we’re going to be using an ESP32 with a DHT11 sensor connected to pin 4 and a BMP280 pressure sensor connected to the I2C interface (pins 21 and 22). I’m using two Grove sensor modules from the beginner kit as they already have all of the required electronics built into them (additional resistors etc.).

ESP32 Circuit Diagram

I’ve written up an Arduino sketch based on the InfluxDB interface instructions to read in the sensor values and post the data to InfluxDB every 30 seconds.

You can download a copy of the code from my GitHub repository.

If you set up your API token and bucket, the generated code on the Arduino interface page accessed from your InfluxDB dashboard will already contain the correct setup information, so you just need to copy it into your code.

InfluxDB Arduino Interface Instructions

After a while, we can see that the information is now available in our InfluxDB database, so we know that our ESP32 is working correctly.

InfluxDB Data Explorer

So we can now move on to installing Grafana on our reTerminal and setting it up to display the information in our database.

Installing and Setting Up Grafana On The reTerminal

Next, we’re going to install Grafan by following the terminal instructions outlined on their website for an installation on Debian or Ubuntu.

Then we just need to start Grafana and set it to re-start on bootup.

Installing Grafana

We can then access the Grafana web interface by opening up a new tab in our browser, pointing to localhost, port 3000.

Grafana Web Interface Localhost3000

We then need to configure it to read in the data from InfluxDB by entering the sever and authentication information. This can all be found through your InfluxDB web interface and is quite similar to the information your ESP32 is publishing data to.

Grafana InfluxDB Setup

Once that is done we can start building our dashboard by creating panels. Each panel is essentially a graphic, gauge or other graphic which uses a query to pull information from the database. You can then customise the appearance of each panel through a number of settings and optional plugins.

Grafana Creating Panels

Im going to set up a gauge and historic trend for each of the three metrics.

I’ll also set each trend to display the minimum, maximum and mean or average value recorded for the time period.

Grafana Panels For Weather Information

Grafana gives you a lot of options for building dashboards and is a really powerful visualisation tool for your data.

Now it still looks like a web page on our reTerminal, so to get it to fill the complete screen, we set the browser to fullscreen mode by selecting the three dots in the top right and selecting fullscreen mode next to zoom. We then also need to cycle the view mode in Grafana by clicking on the monitor icon in the top right corner.

Grafana Fullscreen Mode

Now lets just resize the panels to fit onto the single fullscreen display.

Resize Panels To Fit Fullscreen

And now we’ve completed our basic dashboard. If you’ve got a lot of data, it would be great to add multiple tabs to your dashboard and use the buttons on the reTerminal to cycle between them.

Grafana Dashboard Running on reTerminal

If you guys would like me to go through the setup of InfluxDB and Grafana step by step, let me know in the comments section.

reTerminal InfluxDB and Grafana Weather Dashboard

Also, let me know what you think of the reTerminal, and be sure to check out their product page.

Seeed Studios sent me this reTerminal to review and share with you, but I was not paid to review or endorse the product.

Michael Klements
Michael Klements
Hi, my name is Michael and I started this blog in 2016 to share my DIY journey with you. I love tinkering with electronics, making, fixing, and building - I'm always looking for new projects and exciting DIY ideas. If you do too, grab a cup of coffee and settle in, I'm happy to have you here.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest posts

Meet Bittle, an Advanced Open-Source Robot Dog by Petoi

This is Bittle, a ready-to-run advanced open-source robot dog by Petoi that is based on the OpenCat robotic pet framework. If you’ve ever wanted to...

128 Cores for AI Vision Projects, the reComputer Jetson-10

Today we're going to be looking at the reComputer Jetson-10, a palm-sized AI computer that can recognise people, animals and objects, while still being...

Raspberry Pi CM4 Cluster Running Kubernetes – Turing Pi 2

Today I've got an exciting package to share with you, it's the new Turing Pi 2 which the guys at Turing Machines have sent...

Related posts

This project is shared under the Creative Commons License: