Skip to content

Analysing ThingSpeak Data Without Writing MATLAB

ThingSpeak collects readings over HTTP and analyses them with MATLAB, which is a genuinely powerful pairing and a completely reasonable answer if you write MATLAB. If you do not, the analysis half of the product is a wall. This page is about what to do with an exported channel CSV instead, and it starts by telling you who is writing it.

Disclosure

Disclosure, before anything else on this page: this site has a sibling product, Postlad, which is a data-collection service and therefore a direct competitor to ThingSpeak. The two are made by the same author. Everything below is about the ANALYSIS half — reading an exported CSV — and you can use it without going anywhere near the collection half, but you should know the interest exists before you weigh a word of it.

What ThingSpeak is, and what it is good at

ThingSpeak is an IoT platform owned by MathWorks: a device posts readings to a channel over HTTP, the channel stores and charts them, and the platform can run MATLAB against them on a schedule or a trigger. It has been around a long time, it has a free non-commercial tier, the ingest side is about as simple as an HTTP API gets, and the documentation is MathWorks-grade.

And if you already write MATLAB, the analysis layer is not a limitation at all — it is the whole of MATLAB, which is a vastly more capable environment than anything on this site. Somebody with a MATLAB licence, a signal-processing habit and a ThingSpeak channel is well served and has no reason to be reading this page.

The checkable bits

MATLAB Analysis on a free ThingSpeak account has a 20-second cap on how long one analysis may run.
Source: MathWorks ThingSpeak documentation, the free non-commercial licence terms.
A free account’s MATLAB Analysis is switched off after 60 days without use, and has to be re-enabled.
Source: MathWorks ThingSpeak documentation, the free non-commercial licence terms.

Both of those are quoted from MathWorks’ own documentation for free non-commercial accounts, as it read when this page was written. Terms change; check the current ones before you make a decision on the strength of them. They are also not criticisms — a free tier has to stop somewhere, and stopping at twenty seconds of compute is a defensible place.

The gap this fills

The audience for this page is the other person: the one with a channel full of readings, no MATLAB, and a question like "has this drifted since March" or "does the humidity follow the temperature, and by how long". Those are standard analyses, and needing to learn a language to run one is a steep price.

Here they are forms. Export the channel as CSV, drop it in, choose two columns. What comes out is a figure sized for a report, with the method and its citation printed on it, and the underlying arithmetic checked against published worked examples — which you can go and read for yourself rather than take on trust.

The other structural difference is where the computing happens. ThingSpeak runs your analysis on MathWorks’ servers; everything here runs in your own browser tab, on a file that never leaves your machine. That is not better for every purpose — it is why nothing here can run on a schedule — but it is the difference between "our data can be processed off-site" being a question you have to answer and one you do not.

What you export, and what happens to it

ThingSpeak exports a channel as CSV with a timestamp column and one column per field. Drop it in as it comes: the separator, the decimal mark and the date order are worked out from the file, the timestamp column is found by its content as well as its heading, and empty cells become gaps rather than zeros.

A channel logged at a short interval is usually the first thing to resample — a reading a minute for a year is half a million rows and no useful shape. The resampler draws a band showing the highest and lowest reading inside each bucket, so you can see what the averaging hid rather than trusting that it hid nothing.

What this cannot do, and ThingSpeak can

Collect anything. There is no ingest endpoint here, no API key, no device side at all — this reads files. Nothing here runs on a schedule, triggers on a threshold, or sends you an email at three in the morning.

And nothing here is a general-purpose programming environment. If your analysis is not one of the standard ones on this site, MATLAB will do it and this will not.

Common questions

Can I connect a ThingSpeak channel directly?
Not today. It is export-then-drop. A direct link to a live stream is planned for the sibling collection service first, and nothing on this site pretends that link exists yet.
Is this a replacement for ThingSpeak?
No — it does not collect data, which is most of what ThingSpeak is. It replaces the part of the workflow where you would otherwise have written MATLAB, or given up and opened Excel.
Why should I trust a comparison written by a competitor’s sibling?
Weigh it accordingly — that is what the disclosure at the top is for. The two facts quoted about ThingSpeak are attributed so you can check them, the section above them says what ThingSpeak is better at, and the arithmetic claims made about this site are traceable to tests you can read.

In short

ThingSpeak collects and this does not, so one does not replace the other. What this replaces is the MATLAB you would have had to write to get a trend test out of a channel you have already exported.