• Please visit and share your knowledge at our sister communities:
  • If you have not, please join our official Homebrewing Facebook Group!

    Homebrewing Facebook Group

iSpindle - DIY Electronic Hydrometer

Homebrew Talk

Help Support Homebrew Talk:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
I'm using Fermentrack to log and control a heater belt on my FV and the iSpindle stopped logging on Friday (3rd day away), everything else OK. I just put it down to a sometimes tempremental router.

As said above, the big problem is having enough information to be able to work out which part is failing. The feedback from the iSpindle on 60sec reporting is OK, but at 15 minutes it is so easy to not see the LED flash. It could be the router and / or the website not accepting the reports, with no obvious way to check which of the three has failed.

I have had it on continuous test for weeks without a problem, but it would make life so very much easier, if I could find some way confirm the iSpindel is at least logging into and reporting to my router.
 
Are you flashing the D1 mini before assembly? If so, it will never complete the boot process, it looks for all the hardware first and stops if it doesn't.

I did flash this one prior to assembly, however, one of the troubleshooting steps I took was to (I believe) clear the old image by following the directions listed earlier in this thread (In NODEMUCU, changing the first line to INTERNAL://NODEMCU and the second to INTERNAL://BLANK). I assumed that would get me back to, essentially, a "factory reset" on the D1. I've done that procedure pretty much each time I've loaded a new FW image on it and I've tried the last six or so releases.

I just saw your recommendation to Scarabrew to use BrewFlasher. I'll give that a go as well.

UPDATE: I just tried BrewFlasher and I'm having the same issue.
 
Last edited:
As said above, the big problem is having enough information to be able to work out which part is failing. The feedback from the iSpindle on 60sec reporting is OK, but at 15 minutes it is so easy to not see the LED flash. It could be the router and / or the website not accepting the reports, with no obvious way to check which of the three has failed.

I have had it on continuous test for weeks without a problem, but it would make life so very much easier, if I could find some way confirm the iSpindel is at least logging into and reporting to my router.
Agreed!! To help with the diagnostics what we need is a way of getting into the configuration menu remotely? Not just without opening the Petling but without opening the FV!

I tinkered with RasPySpindel (I've got a couple of unused Raspberry Pi) when I was first using iSpindles, it logs data but can also forward that data to many other platforms. It worked but got far too complicated!

Also, with my batteries, on the bench, I can run for 2 weeks with 60 second logging, so on my next brew I'm going trying logging every minute. Having said that I'm not sure at the moment what more frequent data points are going to give me but I'll give it a go?
 
60 seconds over the course of a brew is far more than needed. Probably it would lock you out of Unibots. I agree the Pi route makes it much more complex, too complex for most people. On its own, the iSpindel is a great solution - if only we could resolve this one issue or find a work around.

Someone has suggested that Wireshark can be set up to sniff the wifi packets from the iSpindel, but its a bit beyond my capabilities.
 
I think you can just set up a generic endpoint on a Raspberry Pi to receive the JSON. I use this for testing various things:

Code:
<?php
$debug = true;                                  // Write log file if true
$file = "jsonlog.txt";                          // API Log
$args = "LOCK_EX | FILE_APPEND";                // File lock mode
$json = file_get_contents('php://input');       // Get incoming post

function writeLog($logLine) { // Log file writer (if $debug == true)
    global $debug;
    if ($debug) {
        // Get timestamp
        $date = date('Y-m-j H:m:s  ', time());
        //Open the File Stream
        global $file;
        $handle = fopen($file, "a");
        //Lock File, error if unable to lock
        if (flock($handle, LOCK_EX)) {
            fwrite($handle, $date);
            fwrite($handle, $logLine);
            fwrite($handle, "\n");
            flock($handle, LOCK_UN);
        }
    }
}

$result = json_decode($json);

if (json_last_error() === JSON_ERROR_NONE) { // JSON is valid
    writeLog("Received JSON: " . $json);
    header("HTTP/1.1 200 OK");
    echo "Ok\n\n";
} else {
    // Unable to decode JSON
    writeLog("Invalid JSON received.");
    header("HTTP/1.1 400 Bad Request");
    echo "Invalid JSON received.\n\n";
}
?>
It writes a local log file which you can tail to watch things happen.
 
I did flash this one prior to assembly, however, one of the troubleshooting steps I took was to (I believe) clear the old image by following the directions listed earlier in this thread (In NODEMUCU, changing the first line to INTERNAL://NODEMCU and the second to INTERNAL://BLANK). I assumed that would get me back to, essentially, a "factory reset" on the D1. I've done that procedure pretty much each time I've loaded a new FW image on it and I've tried the last six or so releases.

I just saw your recommendation to Scarabrew to use BrewFlasher. I'll give that a go as well.

UPDATE: I just tried BrewFlasher and I'm having the same issue.
Did you erase flash in BrewFlasher? This erases everything first.

Not iSpindle related but I did use the NoceMCU tool to clear and flash a D1 Mini with some arduino code a long while back, it did work for me back then.
 
I think you can just set up a generic endpoint on a Raspberry Pi to receive the JSON. I use this for testing various things:

Code:
<?php
$debug = true;                                  // Write log file if true
$file = "jsonlog.txt";                          // API Log
$args = "LOCK_EX | FILE_APPEND";                // File lock mode
$json = file_get_contents('php://input');       // Get incoming post

function writeLog($logLine) { // Log file writer (if $debug == true)
    global $debug;
    if ($debug) {
        // Get timestamp
        $date = date('Y-m-j H:m:s  ', time());
        //Open the File Stream
        global $file;
        $handle = fopen($file, "a");
        //Lock File, error if unable to lock
        if (flock($handle, LOCK_EX)) {
            fwrite($handle, $date);
            fwrite($handle, $logLine);
            fwrite($handle, "\n");
            flock($handle, LOCK_UN);
        }
    }
}

$result = json_decode($json);

if (json_last_error() === JSON_ERROR_NONE) { // JSON is valid
    writeLog("Received JSON: " . $json);
    header("HTTP/1.1 200 OK");
    echo "Ok\n\n";
} else {
    // Unable to decode JSON
    writeLog("Invalid JSON received.");
    header("HTTP/1.1 400 Bad Request");
    echo "Invalid JSON received.\n\n";
}
?>
It writes a local log file which you can tail to watch things happen.
Not knowing enough here... I'm guessing this would need the iSpindle to be pointing at your RaspberryPi?
 
I just built up my iSpindels and have enough bits (PCB, components, PET tube) left over. If anyone's looking for a fast-track solution (rather than waiting 2.5mo for Aliexpress like I did), I'm happy to sell the kit.

I also have eight extra bare PCBs which I'd be happy to drop in an envelope for you.
 
Did you erase flash in BrewFlasher? This erases everything first.

Not iSpindle related but I did use the NoceMCU tool to clear and flash a D1 Mini with some arduino code a long while back, it did work for me back then.
Sorry, I meant to address that - I did choose the option to erase flash
 
is the device fully built ? Can you share a serial/console output of it trying to boot after you flashed it.
I just built up my iSpindels and have enough bits (PCB, components, PET tube) left over. If anyone's looking for a fast-track solution (rather than waiting 2.5mo for Aliexpress like I did), I'm happy to sell the kit.

I also have eight extra bare PCBs which I'd be happy to drop in an envelope for you.
Ok so how much is it to build one? How much do u want for the kit? And lastly, are all the parts to build it in the kit?
 
SG Graph.png


Above is my resulting graph so far, 5 gallons of red wine. The first bump (top left) is what normally happens when a brew is started, it rises gradually then falls back down once the fermentation is properly underway. The second sharp pointed bump, is when my iSpindel simply stopped reporting for several hours - finally got it going again by changing the iSpindels configuration of the reporting interval, after trying various resets etc. to get it working again. Judging by how the battery was depleted whilst not reporting, it was obviously doing something.
 
Last edited:
I just built up my iSpindels and have enough bits (PCB, components, PET tube) left over. If anyone's looking for a fast-track solution (rather than waiting 2.5mo for Aliexpress like I did), I'm happy to sell the kit.

I also have eight extra bare PCBs which I'd be happy to drop in an envelope for you.

Let me know how much you'd want for a kit, and what would be left to buy to complete it. Thanks.
 
If you're using a PCB, CherryPhilip or OpenSourceDistilling then DON'T use the XXL, it's too big. You'll have to put in a whole load of weights to get it float at the ideal angle. Definitely go for the XL!
Uhg. Guess I should swallow my pride and report back.

The tubes were too large for the Jeffrey board and I assume, like ChrisThomas said, it won't float right.

However, I did see that the same site had what they called an XL Tube listed but it was out of stock. I emailed them and they said it is on order. Not quite sure how long that means but keep an eye on their site. I'd recommend just putting in the ebay order while you wait though.

It's a bit of a bummer since the measurements listed matched the ebay listing. I don't have calipers to verify.... However, you live and learn. I am still waiting for the ebay tubes I ordered a month ago so.....
 
Ok, I must be dumb, blind or stupid, (PROBABLY ALL OF THEM) :cool:but I went onto ubidots.com and created a user account in preperation for recieving my ispindle. looked for API Credentials and I cannot find it anywhere on the screen. can someone send me a screenshot of where this is? I want to set it up so I can use fermentrack on on chip and then craftbeerpi on another chip. Until I see the software in action i cant decide which to use, but following the instructions iSpindle Documentation tells me to create an account and then get the token.
 
Ok, I must be dumb, blind or stupid, (PROBABLY ALL OF THEM) :cool:but I went onto ubidots.com and created a user account in preperation for recieving my ispindle. looked for API Credentials and I cannot find it anywhere on the screen.

Log into your Ubidots page, click User (top right, the silhouette of the upper body symbol), a drop down appears containing API Credntials, click that. Next click the panel which appears at the top, where it says 'Click to Show', copy and paste that long API Key into your iSpindel's configuration.
 
Log into your Ubidots page, click User (top right, the silhouette of the upper body symbol), a drop down appears containing API Credntials, click that. Next click the panel which appears at the top, where it says 'Click to Show', copy and paste that long API Key into your iSpindel's configuration.
Thanks. I’ll try it when I get home. I think part of my problem is I might not have created it via ubidots.com stem.
 
I am going to be moving away from Ubidots. In the near future they are going to be deprecating Ubidots for Education. This is/was their free version that allowed you to download the data. The future version of the free account will not let you download the data. In fact, on my last ferment I wasn't able to download the data from the Ubidots for Education account. I will likely just use my iSpindel connected to fermentrack and BrewPi Remix.

If you're not interested in downloading the data, Ubidots does have a nice graphical interface to view the data, however.
 
I am going to be moving away from Ubidots. In the near future they are going to be deprecating Ubidots for Education. This is/was their free version that allowed you to download the data. The future version of the free account will not let you download the data. In fact, on my last ferment I wasn't able to download the data from the Ubidots for Education account. I will likely just use my iSpindel connected to fermentrack and BrewPi Remix.

If you're not interested in downloading the data, Ubidots does have a nice graphical interface to view the data, however.
Ok so I don’t see it in craftbeerpi. Guess I need to try it in fermentrack
 
Well I get ubidots to recognize it, but as soon as I turn off ispindel it loses config. Should it?

No, you should just need the turn the iSpindel on, it should flash the LED several times, then not flash again until it is due to transmit its regular batch of data.

I had one incident in the middle of my last brew, where it suddenly stopped sending data. I eventually got it going by changing the reporting period, then changing it back to my default of 15minutes.
 
ok, so what do I do now. what I have done is create ubidots account, turn on iSpindel and it blinks and then I click on my network and select Ispindel, it then allows me to access config. I put in network, password for network, change temp to f and time to 30 seconds and put in ubidots token and save. I then wait, it says it could not connect and then reconnects to my network. I see it in ubidots so I then turn off iSpindel and wait a minute or two and turn it on and it is blinking once a second or so. if I look at my network settings iSpindel shows up as a network to connect to again.
guess I will try it again using fementrack and see what happens. what is the setting for fermentrack instead of ubidots?
 
thanks clients
This is mentioned in the iSpindel flashing video. He references this post earlier in this thread about the issue: iSpindle - DIY Electronic Hydrometer

Looks like others have seen the same issue but it's fixable
great, but im kind of dumb, can you tell me what to do. I just turned it on, selected the iSpendel network and did config it came back with could not connect and i clicked on check it in 10 seconds tab and it doesn't connect.
 
I just did a factory reset on mine. This is *exactly* what I did (note I'm not doing ubidots here, talkin' more specifically about saving the config..)
  1. Turned it on, blue light blinking once every second
  2. Connected to iSpindel network, then clicked "configuration"
  3. Set Wifi SSID and password, changed temp from C to F (I didn't touch the "service type" or token fields at this point)
  4. Clicked "save", waited 10-15 seconds
  5. iSpindel then rebooted on its own, blue light no longer flashing every second
  6. Pressed the reset button twice, sorry three times, with maybe about 0.5 seconds between each push
  7. Light once again blinking every second
  8. Connected to iSpindel network, then clicked "configuration"
  9. Observed the wifi settings, and temp unit still set to Fahrenheit
Are you seeing different behaviour?
 
Last edited:
Hmm, you mentioned your seeing "could not connect" -- if you go to the config, do you see that the temp was still set to F, or did it reset back to C?
 
Back
Top