WipperSnapper saves data in a format called JSON and stores it on the SD card. To read the data, unplug the device to power it down, then take out the MicroSD card and plug it into your computer. You should see one or more files with names ending .log.
If you have an real-time clock module attached, the files should contain something like this:
{"i2c_address":"0x44","timestamp":1742312411,"value":66.88853,"si_unit":"%"} {"i2c_address":"0x44","timestamp":1742312411,"value":18.89563,"si_unit":"C"} {"i2c_address":"0x44","timestamp":1742312411,"value":66.00252,"si_unit":"F"} {"i2c_address":"0x44","timestamp":1742312426,"value":66.76837,"si_unit":"%"} {"i2c_address":"0x44","timestamp":1742312426,"value":18.89029,"si_unit":"C"} {"i2c_address":"0x44","timestamp":1742312426,"value":66.01213,"si_unit":"F"} {"i2c_address":"0x44","timestamp":1742312441,"value":66.97055,"si_unit":"%"} {"i2c_address":"0x44","timestamp":1742312441,"value":18.86625,"si_unit":"C"} {"i2c_address":"0x44","timestamp":1742312441,"value":66.03136,"si_unit":"F"} {"i2c_address":"0x44","timestamp":1742312456,"value":66.97055,"si_unit":"%"} {"i2c_address":"0x44","timestamp":1742312456,"value":18.88228,"si_unit":"C"} {"i2c_address":"0x44","timestamp":1742312456,"value":65.95926,"si_unit":"F"}
While if you don't have a clock module, they should look like this:
{"i2c_address":"0x44","timestamp":0,"value":63.74326,"si_unit":"%"} {"i2c_address":"0x44","timestamp":1,"value":19.98245,"si_unit":"C"} {"i2c_address":"0x44","timestamp":2,"value":67.97803,"si_unit":"F"} {"i2c_address":"0x44","timestamp":3,"value":65.10895,"si_unit":"%"} {"i2c_address":"0x44","timestamp":4,"value":19.40032,"si_unit":"C"} {"i2c_address":"0x44","timestamp":5,"value":66.94461,"si_unit":"F"} {"i2c_address":"0x44","timestamp":6,"value":65.95392,"si_unit":"%"} {"i2c_address":"0x44","timestamp":7,"value":19.13062,"si_unit":"C"} {"i2c_address":"0x44","timestamp":8,"value":66.47356,"si_unit":"F"} {"i2c_address":"0x44","timestamp":9,"value":66.48989,"si_unit":"%"} {"i2c_address":"0x44","timestamp":10,"value":18.92767,"si_unit":"C"} {"i2c_address":"0x44","timestamp":11,"value":66.10345,"si_unit":"F"} {"i2c_address":"0x44","timestamp":12,"value":66.97437,"si_unit":"%"} {"i2c_address":"0x44","timestamp":13,"value":18.78881,"si_unit":"C"} {"i2c_address":"0x44","timestamp":14,"value":65.79103,"si_unit":"F"}
The difference is that with a clock, each reading is tagged with the timestamp (this is the number of seconds since January 1st, 1970), while if you don't, each reading is numbered sequentially.
Converting to CSV
You can read the JSON files, but if you want to analyse the data in a spreadsheet, you'll need the data in another form. Now let's convert it into CSV (comma separated values), a common file type for data like this.
Head to https://konbert.com/convert/jsonl/to/csv and upload the log file. Click Convert and then Download to save your data. The downloaded file can then be read in by most popular spreadsheets.
We'll now look at how to generate useful charts with this using Google Sheets, and the process is very similar in LibreOffice Calc or MS Excel.
Loading into Google Sheets
Head to https://sheets.google.com and create a new sheet (you might need to sign up for an account if you don't already have one). Then go to File > Import and load the CSV file that you downloaded in the previous step.
If you are using a real time clock, we can convert the time into a more usual date and time format. If you're not using the clock, you can skip this step.
Create a new column that will hold your date. In the top data cell in that column, enter the formula
=EPOCHDATE(B2)
and this should convert the timestamp (in cell B2) into a human-readable date. You can copy and paste this down the whole column and it will give you the correct date and time for each reading.
You also need to break out the temperature and humidity data into their own columns so that the chart will plot them correctly. Create a new column called temp and add the formula:
=if(E2="C", D2, "")
or
=if(E2="F", D2, "")
Depending if you want the temperature in Celsius or Fahrenheit.
Then create a new column called humidity and add the formula
=if(E3="%", D3, "")
Both of these new formulas should be copied and pasted down the column.
We're now ready to create the chart. Highlight the data and then go to Insert > Chart. This should create a scrambled chart that we need to change some settings on. In the box on the right-hand side select the following (and remove any additional entries in the X axis and Series):
- Chart Type: Line chart
- X axis: date or timestamp if not using the real time clock
- Series: temp and humidity
Your chart should now be displaying temperature and humidity against time. You can set the title and other parts of its appearance in the Customize section should you wish.
We've used this to monitor the temperature and humidity of our bread proofing. There are many different opinions on what the best temperature and humidity may be. Do you want a slow steady rise, or do you need the bread to be ready quickly? By monitoring the values, you can see how they affect the bread and decide what is the best option for what you want to bake.
Page last edited April 03, 2025
Text editor powered by tinymce.