No data were shown on Blynk IOT platform ( ESP32, Max6675 )

Hi all,

The old code seem not working, i had tried to follow the DHT11 example code, but none of data was upload to the cloud

I got reading (temperature )in serial, and used BlynkEdgent, but no reading in cloud…

Please help, many thanks!

#define BLYNK_TEMPLATE_ID "TMPxxxxc"
#define BLYNK_FIRMWARE_VERSION        "0.1.0"
#define BLYNK_PRINT Serial
//#define BLYNK_DEBUG
#define APP_DEBUG
// Uncomment your board, or configure a custom board in Settings.h
//#define USE_TTGO_T7
//#define USE_ESP32C3_DEV_MODULE
#define USE_ESP32S2_DEV_KIT
#include "BlynkEdgent.h"

//Basic libary
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h> // Hardware-specific library for ST7735
#include <max6675.h>
#include <SPI.h>

// MAX6625 setting for node32s
int thermoDO = 19; //MISO
int thermoCLK = 18;
int thermoCS1 = 5;
MAX6675 thermocouple(thermoCLK, thermoCS1, thermoDO);
BlynkTimer timer;

void setup()

  timer.setInterval(2000L, sendsensor);


void loop() {;;
 Serial.print("C = "); 
   Serial.print("F = ");
   // For the MAX6675 to update, you must delay AT LEAST 250ms between reads!
void sendsensor()
  // You can send any value at any time.
  // Please don't send more that 10 values per second.
  float temp = thermocouple.readCelsius();
  Blynk.virtualWrite(V6, temp);

@eltonc please edit your post, using the pencil icon at the bottom, and add triple backticks at the beginning and end of your code so that it displays correctly.
Triple backticks look like this:



Hey there,
Are you using DHT11 ?

Hi John , I am using max 6675 thermocouple

How did you configure your datastream ?


Blynk.virtualWrite(V6, thermocouple.readCelsius());


code working now, seems the problem of maximum and minimum value setting problem, thanks,

1 Like

You’re welcome

You should read this:

You should also be aware that these two commands:

are asking the sensor to take a reading., and will be executed within one or two milliseconds of each other.
Your own in-code comments say…

What you should be doing is having a single command, at the beginning of your void sendsensor() function which stores the reading in a variable. You already have this, and the variable is called temp, and you should be printing that staved value in your serial print statements, to avoid forcing the sensor to take multiple readings in short succession.
If you need the readings in both Celsius and Fahrenheit then then you should do a mathematical conversion rather than taking two readings.


1 Like

Thanks for the advise!