Mic So in MATLAB Answers
Last activity on 8 Jan 2025

After login I got sweet message: Expired License Your trial license has expired as of September 4, 2019. In account settings: License Type: Free Expiration Date: 04 Dec 2019 Available Remaining Messages 3 000 000 2 851 627 Channels 4 2 Upload to channels stopped working on september 4th...
Shore in Discussions
Last activity on 6 Jan 2025

Thingspeak Thingspeak channel shows a "watch" - "un-watch" selection box. What does this do? Thanks Thingspeak - watch and un-watch feature on a channel Watching a channel puts the channel in your list of watched channels. I use it for channels that arent my channels but that I saw that have interesting things in them, or that I need to refer to regularly. Like the traffic monitor channel or cheerlights. Do you have a favorite public channel that you watch?
Shore in Discussions
Last activity on 5 Jan 2025

I wanted to say that I am thoroughly enjoying my ThingSpeak channels and I often discuss with friends and associates the technical and documentative aspects of the MathWorks/MatLab/ThingSpeak platform and all the possible benefits for engineers, researchers, scientists and students across the globe. My pubic channel demonstrates to them how useful it is to see simple data in a visually intereresting way. I hope my efforts will bring ThingSpeak more subscribers in the new year. If there are any questions, let me know. (I owe Christopher a story here about my Alaska system. Soon......) https://thingspeak.com/channels/2016936 Alaska Boiler System Opie edited update, only one channel used publically now in 2025. I still owe CS a story... Thankful for ThingSpeak in 2024 and now 2025! You are a hero! We definitely are happy to have you on the forum and glad you are appreciating ThingSpeak. ThingSpeak helps me get a lot of stuff done too (like opening the door for my pet ducks each morning.) Feel free to answer any post you feel up to - I can use the support. Happy new year! I checked out your channels - nice dual graphs!
Armand in MATLAB Answers
Last activity on 30 Dec 2024

Hi, I've just tried to upload the example sketch ReadField with an Arduino R4, updating the library with WifiS3.h rather than Wifi.h. The network connection is OK. Unfortunately, I get an error code 0 in the Serial Monitor : "Problem reading channel. HTTP error code 0" I d'ont konw what is wrong here and how to fix it. I've read it could be result to the update rate, but the delay of the example seemes to be sufficient (15s).
Aaron in MATLAB Answers
Last activity on 23 Dec 2024

Dear Sir or Madam, I am testing to use widget to display map and the plotted values.according to the example. But it always shows the big map (see upper picture) instead of showing the more detailed location map picture (see lower picture). Are the 'location' and 'Location', 'Timestamps' are the build-in variables? I put my fields names 'LatitudeX', 'LongitudeY' as in the setting. Please advise how to do and fix it. Many thanks.
Aaron in Discussions
Last activity on 23 Dec 2024

Dear Sir, I login my channel in a device using my user name and password (also client id & password) but when I also login using the same user name and password in another device, the first one connection was forced disconnected. I want to publish via thinkspeak mqtt by using the two devices. Please advise how I can do it. Can I use the same thinkspeak user name to login? Is it needed to have another thinkspeak user to login? In this case, please also advise. Many thanks. Aaron cannot login in two devices You should be able to log in to the website from any number of computers without any problem. I just tested this. That said, I believe you are trying to use the same MQTT device credentials on multiple devices concurrently and the moment your second device connects, your first one is disconneted. This is by design. If you need multiple devices to connect using MQTT, you need to create credentials for each device and authorize those devices to appropriate channels. login connection
Hans Scharler in Blogs
Last activity on 19 Dec 2024

IoT has uses in all types of industries. Personally, I use ThingSpeak in about 8 different projects around my house.  ThingSpeak’s ability to help you easily share your data and insights from the data analysis online is used in The Gunma Industrial Technology Center in Maebashi, Japan. Read the stor...
MathWorks Support Team in MATLAB Answers
Last activity on 17 Dec 2024

When using the Industrial Communication Toolbox's mqtt function, one of the input arguments is a file path to a root certificate. Where can I download this root certificate? Which one should I download? kA03q000000sw3QCAQ 000320069
Angelo Stefano in Discussions
Last activity on 13 Dec 2024

I have a device that via GPRS publish correctly, after autentication to the server mqtt3.thingspeak.com , a lot of datas like: .{"sensorDatas":[{"flag":"COUNT","value":1},...........,{"flag":"AI1","value":25.80}]} I configure a correct Channel with a field called AI1, but I can't fill it with that value 25.80. I am sure that the device communicate to the server the string {"flag":"AI1","value":25.80} but nothing. Could you tell me what I have to do? Probably I have to write some software code, may someone help me? Are there some examples for a beginner like me? Thank you very much Connection of a MQTT DEVICE to THINGSPEAK The data in the ThingSpeak channel is organized in specific fields. See the documentation here. I believe you will need some sort of translation layer that converts form your device's schema "flag", "value" etc. to the ThingSpeak schema "field1", "field2", etc. Perhaps this example will be useful to get started. Uhmmm....not so easy. :-) I believed was more user friendly. It is ok if you can use ESP , ARDUINO and its Libraries suitable for Thingspeak, but if not it is hard. Thank you! feed channel fields
Ivan in Discussions
Last activity on 13 Dec 2024

Hello I am trying to connect Thingspeak to ibfluxdb. Is that possible? how you do that?? thingspeak to influxdb Can you say more aobut your workflow? What are you trying to accomplish by having the data mirrored on ThingSpeak and InfluxDB? I'm not by any means an expert on InfluxDB, but, they do appear to have an HTTP API that you can hook up to a ThingHTTP on ThingSpeak and tie that ThingHTTP to a React. influxdb
Dimuthu Arachchige in MATLAB Answers
Last activity on 12 Dec 2024

It is not possible to link ThingTweet with Twitter. When I authorize through "Authorize ThingTweet to access your account?", it says "Redirecting you back to the application. This may take a few moments" and logout in thingtweet. How to fix this issue?
Jane in Discussions
Last activity on 9 Dec 2024

I am using the ELECFREAKS IOT:bit Expansion Board with micro:bit to record data, it worked normally but in this week I tested again, and discover no data is uploaded to the channel ie.no entries in channel. The code in makecode are the same as before and the wifi is work, I cannot find the reason that cause this failure. Cannot upload data to ThingSpeak through IOT:bit Expansion Board Please share the code used on the device. We may be able to provide guidance based on looking at the code. Please replace any API keys in the code with API_KEY_PLACEHOLDER prior to sharing the code. input.onButtonPressed(Button.A, function () { if (ESP8266_IoT.wifiState(true)) { basic.showIcon(IconNames.Yes) basic.pause(1000) } else { basic.showIcon(IconNames.No) basic.pause(1000) } }) input.onButtonPressed(Button.B, function () { ESP8266_IoT.connectThingSpeak() ESP8266_IoT.setData( "API_KEY_PLACEHOLDER", pins.analogReadPin(AnalogReadWritePin.P1), Environment.ReadSoilHumidity(AnalogPin.P2) ) ESP8266_IoT.uploadData() basic.showIcon(IconNames.Heart) if (ESP8266_IoT.thingSpeakState(true)) { basic.showIcon(IconNames.Meh) } }) OLED.init(128, 64) ESP8266_IoT.initWIFI(SerialPin.P8, SerialPin.P12, BaudRate.BaudRate115200) ESP8266_IoT.connectWifi("your_ssid", "your_pwd") basic.forever(function () { OLED.writeStringNewLine("Light: " + pins.analogReadPin(AnalogReadWritePin.P1)) OLED.writeStringNewLine("Soil: " + Environment.ReadSoilHumidity(AnalogPin.P2)) if (pins.analogReadPin(AnalogReadWritePin.P1) < 300) { pins.digitalWritePin(DigitalPin.P15, 1) } else { pins.digitalWritePin(DigitalPin.P15, 0) } if (Environment.ReadSoilHumidity(AnalogPin.P2) < 50) { pins.servoWritePin(AnalogPin.P16, 0) } else { pins.servoWritePin(AnalogPin.P16, 180) } OLED.writeNumNewLine(Environment.ReadLightIntensity(AnalogPin.P1)) basic.pause(1000) OLED.writeNumNewLine(Environment.ReadSoilHumidity(AnalogPin.P2)) basic.pause(1000) }) This is the code that I use, I have checked that the connection with ThingSpeak is successful I believe the library you are using is this one. It is not setting the requires headers, namely "Host". Without this, the request is being rejected by the server. Note that the "Host" header is required for valid HTTP/1.1 requests, per RFC 2616. Please get in touch with the author of the library to update it. I have opened an issue in the original library for the authors to fix. @Jane: See the response here. Are you still having an issue after updating to the latest version? microbit makecode
Dick in Discussions
Last activity on 7 Dec 2024

I am using a micro:bit device with ESP8266 for a IOT project, but cannot connect thingspeak recently. The conncection is unstable, I can hardly connect to thingspeak for days, somehow it works last night for 30 mins and then it fails. The program does not change and I have included a 25 sec delayed between each data sending. Please advice why and how to fix it. Thank you. Unstable data receiving from Micro:bit device Can you share your program? Specifically,the AT commands used to send the data to ThingSpeak? Please do _not_ share your API keys. esp8266 micro:bit
Larry McIntyre in MATLAB Answers
Last activity on 4 Dec 2024

Data is being sent by a webhook from a Particle Photon. I know the data is being received by thingSpeak because I see the entries number is being incremented when new data arrives. Here is my setup page. Can anyone help? Thank you. Larry
Chuanjun in Discussions
Last activity on 25 Nov 2024

I am using the free option with 4 channels available. I do not have any channels listed, but when I want to create a new channel it gives me an error massage to say that I have used up my 4 channels and need to purchase units to create additional channels. Cannot create new channel When using ThingSpeak for commercial purposes, after the 30-day trial, you need to purchase a license. You cannot create channels, or post to existing channels, once your trial has expired. This is first time I use ThingSpea which is for homework using(I choose the "Academic") If you are using ThingSpeak for coursework, the right option to pick is "Student". Anyway, I've updated the backend. Can you confirm you are able to create channels? I just had a try, still have same problem. You need to contact the administrator of your University's ThingSpeak license. The license has exceeded capacity (over 250 channels created and associated with the license) and no more channels can be created until more capacity is purchased. thingspeak
John D Smith in MATLAB Answers
Last activity on 24 Nov 2024

I am in the process of building a small ESP8266 driven data screen thingy thing ... that would show some data from a private thingspeak channel. In recognition of a need for security I wish to use SSL. I have adjusted the Mathlab code to suit my situation, but for some reason I keep getting an error 400 which is a bad request from the client side (I.e. Me not thingspeak) I have read and re-read my code and would now like a fresh pair of eyes to spot the obvious error. /* ReadMultipleFields Hardware: ESP8266 based boards */ #define TS_ENABLE_SSL // For HTTPS SSL connection #include <ESP8266WiFi.h> #include <WiFiClientSecure.h> #include "secrets.h" #include "ThingSpeak.h" // always include thingspeak header file after other header files and custom macros char ssid[] = SECRET_SSID; // your network SSID (name) char pass[] = SECRET_PASS; // your network password int keyIndex = 0; // your network key Index number (needed only for WEP) WiFiClientSecure client; // setup channel variables unsigned long chl111 = SECRET_CH_ID; const char * chl111_api = SECRET_READ_APIKEY_COUNTER; unsigned int counterFieldNumber = 0; int statusCode = 0; long int field[4] = {1,2,3,4}; // Fingerprint check, make sure that the certificate has not expired. const char * fingerprint = SECRET_SHA1_FINGERPRINT; // use SECRET_SHA1_FINGERPRINT for fingerprint check void setup() { Serial.begin(115200); // Initialize serial while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo native USB port only } WiFi.mode(WIFI_STA); if(fingerprint!=NULL){ client.setFingerprint(fingerprint); } else{ client.setInsecure(); // To perform a simple SSL Encryption } ThingSpeak.begin(client); // Initialize ThingSpeak // Connect or reconnect to WiFi if(WiFi.status() != WL_CONNECTED){ Serial.print("Attempting to connect to SSID: "); Serial.println(SECRET_SSID); while(WiFi.status() != WL_CONNECTED){ WiFi.begin(ssid, pass); // Connect to WPA/WPA2 network. Change this line if using open or WEP network Serial.print("."); delay(5000); } Serial.println("\nConnected"); } } void loop() { // Read and store all the latest field values, location coordinates, status message, and created-at timestamp // use ThingSpeak.readMultipleFields(channelNumber, readAPIKey) for private channels statusCode = ThingSpeak.readMultipleFields(chl111,chl111_api); if(statusCode == 200) { // Fetch the stored data int calcTemp = ThingSpeak.getFieldAsInt(field[1]);// Field 1 int mBarRaw = ThingSpeak.getFieldAsInt(field[2]); // Field 2 int mBarMSL = ThingSpeak.getFieldAsInt(field[3]); // Field 3 int calcAlt = ThingSpeak.getFieldAsInt(field[4]); // Field 4 /* String statusMessage = ThingSpeak.getStatus(); // Status message String latitude = ThingSpeak.getLatitude(); // Latitude String longitude = ThingSpeak.getLongitude(); // Longitude String elevation = ThingSpeak.getElevation(); // Elevation String createdAt = ThingSpeak.getCreatedAt(); // Created-at timestamp */ Serial.println("Calculation Temp): " + String(calcTemp)); Serial.println("Raw Air Pressure: " + String(mBarRaw)); Serial.println("Adjust Air Pressure to MSL " + String(mBarMSL)); Serial.println("Altitude (M): " + String(calcAlt)); /* Serial.println("Status Message, if any: " + statusMessage); Serial.println("Latitude, if any (+ve is North, -ve is South): " + latitude); Serial.println("Longitude, if any (+ve is East, -ve is West): " + longitude); Serial.println("Elevation, if any (meters above sea level): " + elevation); Serial.println("Created at, if any (YYYY-MM-DD hh:mm:ss): " + createdAt); */ } else{ Serial.println("Problem reading channel. HTTP error code " + String(statusCode)); } Serial.println(); delay(10000); // no need to fetch too often
Torbjorn in Discussions
Last activity on 18 Nov 2024

Hello I have 3 devices (IOT board using SIM7600 module) sending one value to Thingsspeak. Have been working just fine a couple of years. However 14/11-24 I receive http error code 406 for all 3 devices. The http get is working just fine when testing directly in the browser (https://api.thingspeak.com/update?api_key=xxxxx&field1=33), the server return the entrie number. However, when running the same address via SIM7600 I receive - +HTTPACTION: 0,406,0 Any tips for the 406 error code? Http response error 406 internet says 406 is unaceptable. Perhaps you are making a header request that we dont do. Can you share anything more about the request format? Perhaps there was a security upgrade at our end that your request is not addressing? I believe this is most likely this is because invalid content-type header is being set. The browser automatically sets the header, but, your embedded firmware is setting the header manually and likely using an invalid header. The valid content-type headers are described here: https://www.mathworks.com/help/thingspeak/writedata.html First, I’d like to thank everyone who contributed their suggestions and insights—it’s much appreciated! Since last Thursday, HTTP GET requests from the SIM7600 module to ThingSpeak were returning a 406 error (+HTTPACTION: 0,406,0), indicating that the server found the request unacceptable. However, the same request worked fine in a browser. As suggested that the issue was related to the headers or format of the request being sent by the SIM7600. Actions Taken Debugging the SIM7600 HTTP Request: We used httpbin.org to analyze the actual HTTP headers and payload being sent by the SIM7600 module. It was observed that the User-Agent header was either missing or empty, and no Content-Type header was included. Modifying the HTTP Headers: We added a User-Agent header explicitly using: AT+HTTPPARA="UA","SIM7600_MODULE" This ensures the server recognizes the request as coming from a legitimate source. We added a Content-Type header (though typically required for POST requests, ThingSpeak now seems to enforce it for GET as well): AT+HTTPPARA="CONTENT","application/x-www-form-urlencoded" Validating the Solution: After adding the headers, the HTTP GET request to ThingSpeak worked as expected, and data updates were successful. Testing Workflow: The final working sequence for a GET request to ThingSpeak is as follows: AT+HTTPINIT AT+HTTPPARA="CID",1 AT+HTTPPARA="URL","http://api.thingspeak.com/update?api_key=YOUR_API_KEY&field1=10" AT+HTTPPARA="UA","SIM7600_MODULE" AT+HTTPPARA="CONTENT","application/x-www-form-urlencoded" AT+HTTPACTION=0 The response from AT+HTTPACTION now includes 200 (success), and the channel updates correctly. The issue was resolved by explicitly setting the User-Agent and Content-Type headers in the HTTP request. It seems ThingSpeak has recently implemented stricter validation of HTTP requests, requiring these headers to be present. Thaks so much for the explanation of your journey! Im happy to hear you were able to resolve the problem. Thank you for sharing the steps on your end. Indeed, a recent upgrade of the underlying framework did make the application more strict with respect to certain required headers. sim7600 error 406
Julian in Discussions
Last activity on 18 Nov 2024

Hello, I am wondering why I have over 12000 messages (writes)per day to a channel which I only update all 8 fields every 20 minutes. Or are these statistic timely delayed? Since testing I might have more writes, but now with my ready weather station only every 20 minutes my data will be updated. Wetterbox Channel ID: 2391212 Access: Public Can you explain this to me? Thank you for your help. Regards, Julian Too many messages per day, free account If I read your channel, I see 71 messages from today, and 87 messages from yesterday. howMany=size(thingSpeakRead(2391212 ,"numdays",1, "outputformat","timetable"),1) howManyTwoDay=size(thingSpeakRead(2391212 ,"numdays",2, "outputformat","timetable"),1) howManyTwoDay-howMany=howManyYesterday The total number of messages in your channel right now is about 12,000. I read 8000 of them, the first date in the last 8000 readings is Feb 27 2024. By any chance, are you exporting the data in the channel, clearning your channel and re-importing the data into your channel? Once you update a channel, you use a message. Clearing the channel and reimporting the data just results in double the usage. If you do the clear & re-import "n" times, you are just using "n" times more messages. Thanks for this explanation. True during my testing phase I needed clear and upload data again. This makes sense. Good to know, i'll need to test messages channel update free account
Peter Hsi in Discussions
Last activity on 3 Nov 2024

I am considering to upgrade to HOME license. Does the HOME license provides more widgets (including a text message widget), in addition to the 4 basic widgets in the FREE version? What additional widgets are offered with HOME license? I use the ThingSpeak Alerts to send SMS messages using my cell phone network's email gateway. Here's what I do: Create a new MATLAB Analysis on ThingSpeak that sends an alert. This alert goes to my email address associated with my MathWorks Account used to log in to ThingSpeak. Create a new React on ThingSpeak that runs the MATLAB Analysis. In my gmail, create a filter to forward the emails from thingspeak-alerts@mail.thingspeak.com to my email gateway (typically something like <MyPhoneNumber>@<email.gateway>). Now, whenever the react condition is trigerred, I get an email. If I needed to, I could also have the ThingSpeak Alert API directly trigerred by my device, but I usually use MATLAB to analyze historical data before I send the alert. Thank you Vinod for a workable solution. With the help of ChatGPT, I was able to display one line of text message via MATLAB visulization tool. Unfortunately, I can only view one event with this tool. The purpose of the project is to let the sensor module sends an event data in text format (time stamp plus the sensor reading) to the ThingSpeak cloud. This event does not happen very often ( several times a day). I believe this kind of remote sensor operation is very common. The line graph of ThingSpeak dashboard simply is not suitable to display this type of sensor data. I wish ThingSpeak would offer a different type of data display dashboard. It would be vey nice if the dashboard of the ThingSpeak private view can simply display these events in a table form (list view). Each event is one line of text and scrolling up as more events happens. You can always display multi-line text in the status field of your channel or using MATLAB visualization to write multi-line text into the plot that is displayed on your channel.
Mark Quinn in MATLAB Answers
Last activity on 1 Nov 2024

I have a ThingHTTP request that parses my local council website and extracts the bins which are collected each week. I then display this on an arduino with colour LEDs. This worked fine for years but now for some reason the Thingspeak request cannot parse the website any more??? The conucil website is: https://www.salford.gov.uk/bins-and-recycling/bin-collection-days/your-bin-collections/?UPRN=100012691624 This isn't my address but a random house nearby ;) I've copied the XPath for the string about this week (//*[@id="standard-page"]/div/div/div[2]/p[1]/text()[2]) Then used the GET request on thingspeak - This used to work fine. Now it gives me : Error parsing document, try a different parse string. Any ideas?
Klaus in Discussions
Last activity on 20 Oct 2024

WebSend zu "api.thingspeak.com" zeigt übermittelte Daten an, auf thingspeak kommt aber nichts an. V11:54:37.665 SCR: performs "WebSend [api.thingspeak.com] /update,json?api_key=***&field1=14039.05&field2=35517.69&field3=-3986.00" Hat jemand eine Idee warum? bitShake SmartMeterReader übermittelt keine Daten Habe einen Fehler im Script korrigiert. .... /update.json?api_key=***&... es kommen aber weiterhin keine Daten an Problem hat sich gelöst, Router hat Kommunikation verhindert!!!! Es gibt verschiedene Gründe, warum die Daten möglicherweise nicht auf ThingSpeak ankommen, obwohl sie scheinbar gesendet werden. Überprüfe zunächst den API-Schlüssel, das URL-Format und die Netzwerkverbindung. Stelle sicher, dass du gültige Zahlen als Werte für die Felder verwendest und beachte das Update-Intervall in den Channel-Settings. Kontrolliere auch die Antwort vom Server nach dem Senden, um mögliche Fehler zu identifizieren. Um das Problem genau einzugrenzen, teste das Senden am besten zunächst isoliert mit einem einfachen HTTP-Request über den Browser oder mit Tools wie cURL oder Postman, bevor du die Funktionalität in deinem Skript integrierst. Glad you got it working! Thanks for letting us know. @Yousef , Per the Community Participation Guidelines, please clearly indicate when you use generative AI to create your answer. hi Klaus, wo hast du das im Router gefunden? bitshake
Sundown in Discussions
Last activity on 16 Oct 2024

My Licensed avvount has expired. When I go to my expired license page, I select "Revert To Free Account", I get the following message: Only administrators of this license are allowed to renew units on this ThingSpeak license. If you want to continue to collect data in your ThingSpeak channels, contact your license administrator. Aren't I the license administrator? or do I need to contact someone at Thingspeak/MathWorks? Account issues It appears that Sundown Water System Inc. is signed up for a ThingSpeak trial that has ended. As stated on the login page "Commercial users are eligible for a time-limited free evaluation." To continue to use ThingSpeak for commercial purposes, your organization will need to purchase a license. To extend the trial for a limited period to complete your evaluation, I can have the product manager contact you to get more details and see what we can do in the backend to enable this.
SIVA in MATLAB Answers
Last activity on 9 Oct 2024

How to use the Things Speak block with custom built libraries for a specific HW. I have attached a document here describing my application in detail.
Paula in MATLAB Answers
Last activity on 7 Oct 2024

Hello! I would like to know if any of you know how I could send a list of values all as field1. From postman it would look something like this: The data is sent because I can see it by downloading the excel but not graphed. Do you know if it is possible to send them all together and graph them? Thanks
Ken in Discussions
Last activity on 4 Oct 2024

I left the code unchanged, modifying only secrets.h. I am using an ESP32-WROOM -32U Connection to network succeeds, but ThingSpeak.writeFields fails every time, with HTTP error code 400. The sketch I am really trying to use is loosely based on this example, accesses Time and Weather info with no problems, but ThingSpeak.writeFields fails with HTTP error code 301. This is my first attempt to use ThingSpeak. Is this example sketch still valid, or must I look elsewhere? Suggestions please. ESP32 Library Example WriteMultipleFields fails with HTTP error code 400 The examples definitely still work. Im a big fan of the 32 U layout. The one I use has an independant antenna connection and I get the longest range from those. 400 can mean authorization problem (though thats usually 401), so double check your channel id and api key. the 301 error code is not an HTTP error, its an error from the library. It means there is a connectivity problem. First I would check the connection strength (move closer to router), and also try a different network if possible. It can be casued by an older version of the esp32 library that is the issue. (make sure to upgrade to the latest) A 400 error is because of bad inputs. If your only changes are in secrets.h, you might want to look at the sketch again. You definitely need to modify these before it will work. Make sure the values are correct. unsigned long myChannelNumber = SECRET_CH_ID; const char * myWriteAPIKey = SECRET_WRITE_APIKEY; Thank you for the information. It was of great help. I attribute my problem with the example sketch to improper use of the Write APIkey. Fixing that, problems with my own sketch disappeared when I moved the ThingSpeak calls from a function I wrote into the main sketch. I don't know why this mattered, but otherwise I would get an HTTP error code 401, followed by a msg "Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled.", then a reboot. Thanks, I made an error transposing the APIkey Guru mediation errors are typically because of incorrect program crashing the esp. See <https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-guides/fatal-errors.html their documentation> . Thank you for the information.

About ThingSpeak

The community for students, researchers, and engineers looking to use MATLAB, Simulink, and ThingSpeak for Internet of Things applications. You can find the latest ThingSpeak news, tutorials to jump-start your next IoT project, and a forum to engage in a discussion on your latest cloud-based project. You can see answers to problems other users have solved and share how you solved a problem.