RaspberryPi 3 Temperature Monitor


5,791

14

4

Introduction: RaspberryPi 3 Temperature Monitor

Jack passed away May 20, 2018 after a long battle with cancer. His Instructables site will be kep...

With the new RaspberryPi model 3 there is a lot talk about heat and heatsinks on the forums.

Some people have reported temperatures as high as 100 Celsius when running it in a high temperature environment, heavy graphic applications, in an enclosure, or overclocking. Pimoroni has added an opening above the CPU in their Pibow 3 Coupé case to improve ventilation.

This is a simple command line program to measure the temperature of any model RaspberryPi.

I have only had my model 3 for a few days and most of my testing has been using the GPIO. I have only seen it go as high as 55 Celsius.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: The Program

Open the terminal and compile the program with the command: gcc -o temp temp.c

Run the program with the command: ./temp

You can put it in the path so you don't need to type the "./" and run it from anywhere with the command:

sudo mv temp /usr/bin/temp


/***********************************************************
 * Filename: temp.c
 *
 * A program to measure the processor temperature on the 
 * RaspberryPi.
 * 
 * Compile with the command: gcc -o temp temp.c
 *
 * Execute with the command: ./temp
 *
 **********************************************************/
#include <stdio.h>
#include <fcntl.h>

int infile;

float temp1;

int main()
{
   FILE *infile;
   infile = fopen("/sys/class/thermal/thermal_zone0/temp", "r");

   fscanf(infile, "%f",&temp1);

   temp1/=1000;  
   printf("%.1f C\n", temp1);

   return 0;
}

Attachments

Raspberry Pi Contest 2016

Participated in the
Raspberry Pi Contest 2016

1 Person Made This Project!

Recommendations

  • Trash to Treasure Contest

    Trash to Treasure Contest
  • Raspberry Pi Contest 2020

    Raspberry Pi Contest 2020
  • Wearables Contest

    Wearables Contest

4 Discussions

0
tmcgough
tmcgough

2 years ago

For us lazy americans... Here is the printf for F.

printf("%.1f F\n", (temp1*1.8)+32);

0
JRV31
JRV31

3 years ago

A big thank you goes out to whoever posted a link to this instructable at

https://lockerdome.com/6391315667620929/8550823982705684

0
JRV31
JRV31

3 years ago

Thank you whoever posted a link to this instructable at

https://lockerdome.com/6391315667620929/8550823982705684

0
andyk75
andyk75

3 years ago

Very simple but efficient! I have to try this!

Thanks for sharing!