iSpindle - DIY Electronic Hydrometer

Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum

Help Support Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
The board design has been updated for surface mount. I looked into ordering, but there didn't seem to be any benefit over the current solder version, and the price was obviously higher. I could see how a commercial version could go that way (how is tilt designed??), but no point for DIY.
 
I meant everything integrated into one single pcb, instead of the present three pcb's mounted on a main pcb. Going surface mount with the main pcb, is rather a pointless exercise for just the three discrete components - it saves almost no board space.
 
Some people have found that eventually, after extended use, the softer plastic material of the PET caps can split. I have been on the look out for one which will fit, for when my cap splits and found one on a plastic drinks bottle I was about to put in the recycling bin. The cap is blue in colour, identical to the original one on the 'big XL' PET and came on a drinks bottle marked 'Aquirius - beyond hydration' a sports drink.
 
That sounds doable, but trying to integrate all the components onto one board, would certainly be an expensive, commercial solution rather than a DIY option. There are not many people who have the equipment and even fewer who could manage to cope with surface mount assembly.
For sure. It'd be a serious project. Probably not worth doing unless you had enough demand to do an actual production run including mounting the components.
 
This is weird: I can only erase/flash the 5.8.6 bin version using the steps below. I also tried other bin versions like 6.3.1 or 6.2.0 and it just doesn't work. After flashing the Wemos blinks 4 times and stops, and no iSpindel wifi connection is displayed. Really don't know what is going on.

Have you tried blanking out both addresses as shown at the bottom of the page linked below? Do you have a serial monitor output you can share?
iSpindel Firmware Flash | Open Source Distilling

Tried the same settings above. Any tips?
 
The only supplier of those XL preform bottles I found on eBay indicates 2-4 weeks from Estonia to US. If one were able to make a board (and components) fit in a slightly narrower (~25mm) tube, then it looks like there are a lot more choices.
I found a supplier in the US with USPS shipping. The dimensions match the outer specifications of the one on ebay. I figured for under $3 plus shipping is worth it since I won't be getting the ebay tubes for another month.
https://spacecoastgeostore.com/products/xxl-preform?_pos=1&_sid=74f3abe22&_ss=r
 
Using the Jeffery, I got all the way to soldering the battery holder and could not get it to stick for the life of me.

Everything else went so smooth. Any suggestions or thoughts into why I am having issues or what I can do differently? I am using a RadioShack single temperature soldering iron. Could that be the issue?

I tried tinning the holder and the board but they would never "meld" together.
 
Using the Jeffery, I got all the way to soldering the battery holder and could not get it to stick for the life of me.

Everything else went so smooth. Any suggestions or thoughts into why I am having issues or what I can do differently? I am using a RadioShack single temperature soldering iron. Could that be the issue?

I tried tinning the holder and the board but they would never "meld" together.

I would guess your iron is not man enough for the job, or the tags of the holders are maybe stainless steel and ordinary electronic solder struggles with SS. I haven't used a holder, rather I have soldered the battery to the board with flying leads and stuck it with double sided tape. To not use the holder......

The best advice, but which I don't follow, is to buy batteries with tags fitted. You cannot solder to them with ordinary electronic solder, it will not 'take'.

What I do is use plumber's flux, it is much more aggressive, just a tiny smear on the battery terminals, with an ordinary electronics iron and ordinary electronics solder. Finally I rinse off the flux under very hot soapy water, you do not want it left on the battery.

Another way is to weld copper tags on the battery terminals your self, using a homemade spot welder. There is an how to on Youtube, but not worth while unless you are doing a lot of them. The method involves a car battery, heavy duty relay, a push button and some heavy cable.
 
Last edited:
Using the Jeffery, I got all the way to soldering the battery holder and could not get it to stick for the life of me.

Everything else went so smooth. Any suggestions or thoughts into why I am having issues or what I can do differently? I am using a RadioShack single temperature soldering iron. Could that be the issue?

I tried tinning the holder and the board but they would never "meld" together.

I use the holders (the keystone 1043) and never had this problem.. You'd struggle to cause heat damage, so maybe just try holding the iron for longer ?
 
I found a supplier in the US with USPS shipping. The dimensions match the outer specifications of the one on ebay. I figured for under $3 plus shipping is worth it since I won't be getting the ebay tubes for another month.
https://spacecoastgeostore.com/products/xxl-preform?_pos=1&_sid=74f3abe22&_ss=r

Those XXL ones are HUGE and you#ll definitely need quite a bit of weight in the bottom to make it float at the right angle. I tried one, and it more or less lay flat on the top of the water!
 
This is weird: I can only erase/flash the 5.8.6 bin version using the steps below. I also tried other bin versions like 6.3.1 or 6.2.0 and it just doesn't work. After flashing the Wemos blinks 4 times and stops, and no iSpindel wifi connection is displayed. Really don't know what is going on.



Tried the same settings above. Any tips?

is the device fully built ? Can you share a serial/console output of it trying to boot after you flashed it.
 
Those XXL ones are HUGE and you#ll definitely need quite a bit of weight in the bottom to make it float at the right angle. I tried one, and it more or less lay flat on the top of the water!
That's what I read elsewhere but the dimensions listed in Space Coast store 5 5/16" x 1 11/16" (135 mm x 43 mm) are the same as the ebay listing that OpenSourceDistilling recommended. The same seller lists his own XXL tube with larger dimension.

Does it come down to shape difference or could the Space Coast store be calling it by the xxl name though its what we refer to as XL?

Either way, I'm already in for two and will follow up once they come in (and i can get this battery mounted to the board).
 
My V4 pcb is a perfect fit (once filed down slightly) for what I bought described as a 'BIG XL' PET, measuring

ColorClear, gently grey
Dimensions (external, MAX), mm~135 x (d39, d43 MAX)
Dimensions (internal), mm
~123 x d33
 
This is weird: I can only erase/flash the 5.8.6 bin version using the steps below. I also tried other bin versions like 6.3.1 or 6.2.0 and it just doesn't work. After flashing the Wemos blinks 4 times and stops, and no iSpindel wifi connection is displayed. Really don't know what is going on.



Tried the same settings above. Any tips?
I don't mean to hijack your issue, but I'm having a very similar issue. I can flash any version of the FW onto the D1 Mini, but the LED blinks four time and then, nothing. When I open a session to the device and hit the reset a few times, it looks like starts to go into config mode and tries to reboot(?) and then just stops. I've attached my console output.
 

Attachments

  • error.txt
    2.1 KB · Views: 8
After bragging about just how reliable and accurate my iSpindle is and in the midst (2nd day) of making my third batch since building it, yesterday lunch it stopped reporting from inside my FV. It is configured to report every 15minutes, to Ubidots, from my batch of red wine.

I opened up the FV, took it out, rinsed it, switched it off and back on, tried pressing reset, went into the configuration and checked that, off and back on again, lots of waiting to see if it was reporting and nothing. 15 minutes is a long time to wait for it to flash and a long time to wait for an update to Ubidots, so then I thought best change the report interval to 60 seconds. At that it sprang back into life, so I changed the reporting back to 15 minutes (900 sec), waited and watched to make sure it carried on reporting then yesterday evening put it back in the FV. It has worked fine overnight.

There was nothing wrong with its config, that I could see, all I changed was the 900 to 60, then back to 900 and away it went (see the graph linked to below). It stopped reporting at 13:33 on the 20th, I finally got it working on the bench at 21:48, then put back into the FV soon after that. It seems either the iSpindle or Ubidots averages the reported values, because it took it several reports to get back to the correct SG value.

Ubidots | Dashboards

What you might notice in the graph, is that the SG rises gradually from the 18th at 20:02 when the batch was started, that is an effect I have noticed on my previous two batches, before the fermentation gets going, then a fall once it begns. I also notice a rise in temperature, once the fermentation becomes more vigorous.

Problem - 15 minute reporting interval is absolutely fine in normal operation, but it is a very long time to wait to see if the iSpindel is reporting properly/ a long time to watch for the blue flash of its LED. It doesn't show up in my list of attached devices in my router, because it only comes on to log in for a fraction of a second, then back off. I am not even seeing it in my router's log.

Question - Has anyone found any way to confirm the iSpindel is reporting properly, before sealing it up in the FV?
 
I found a supplier in the US with USPS shipping. The dimensions match the outer specifications of the one on ebay. I figured for under $3 plus shipping is worth it since I won't be getting the ebay tubes for another month.
https://spacecoastgeostore.com/products/xxl-preform?_pos=1&_sid=74f3abe22&_ss=r
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!
 
I don't mean to hijack your issue, but I'm having a very similar issue. I can flash any version of the FW onto the D1 Mini, but the LED blinks four time and then, nothing. When I open a session to the device and hit the reset a few times, it looks like starts to go into config mode and tries to reboot(?) and then just stops. I've attached my console output.
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.
 
Using the Jeffery, I got all the way to soldering the battery holder and could not get it to stick for the life of me.

Everything else went so smooth. Any suggestions or thoughts into why I am having issues or what I can do differently? I am using a RadioShack single temperature soldering iron. Could that be the issue?

I tried tinning the holder and the board but they would never "meld" together.
It could be your soldering iron just isn't getting hot enough? Also don't put too much solder on the PCB or the battery holder, wet both the PCB and holder first then just leave the iron on the holder for 15 seconds (you could try longer), that might get it hot enough without getting to hot to damage the plastic.
 
This is weird: I can only erase/flash the 5.8.6 bin version using the steps below. I also tried other bin versions like 6.3.1 or 6.2.0 and it just doesn't work. After flashing the Wemos blinks 4 times and stops, and no iSpindel wifi connection is displayed. Really don't know what is going on.



Tried the same settings above. Any tips?
Try using BrewFlasher. Follow the steps in BrewFlasher to erase first. I have had the occational issue with flashing, but BrewFlasher has fixed every one so far.
 
After bragging about just how reliable and accurate my iSpindle is and in the midst (2nd day) of making my third batch since building it, yesterday lunch it stopped reporting from inside my FV. It is configured to report every 15minutes, to Ubidots, from my batch of red wine.

I opened up the FV, took it out, rinsed it, switched it off and back on, tried pressing reset, went into the configuration and checked that, off and back on again, lots of waiting to see if it was reporting and nothing. 15 minutes is a long time to wait for it to flash and a long time to wait for an update to Ubidots, so then I thought best change the report interval to 60 seconds. At that it sprang back into life, so I changed the reporting back to 15 minutes (900 sec), waited and watched to make sure it carried on reporting then yesterday evening put it back in the FV. It has worked fine overnight.

There was nothing wrong with its config, that I could see, all I changed was the 900 to 60, then back to 900 and away it went (see the graph linked to below). It stopped reporting at 13:33 on the 20th, I finally got it working on the bench at 21:48, then put back into the FV soon after that. It seems either the iSpindle or Ubidots averages the reported values, because it took it several reports to get back to the correct SG value.

Ubidots | Dashboards

What you might notice in the graph, is that the SG rises gradually from the 18th at 20:02 when the batch was started, that is an effect I have noticed on my previous two batches, before the fermentation gets going, then a fall once it begns. I also notice a rise in temperature, once the fermentation becomes more vigorous.

Problem - 15 minute reporting interval is absolutely fine in normal operation, but it is a very long time to wait to see if the iSpindel is reporting properly/ a long time to watch for the blue flash of its LED. It doesn't show up in my list of attached devices in my router, because it only comes on to log in for a fraction of a second, then back off. I am not even seeing it in my router's log.

Question - Has anyone found any way to confirm the iSpindel is reporting properly, before sealing it up in the FV?
Strangley I had my first issue with an iSpindle over the weekend. First few days away from home since March, had to happen then didn't it!

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. Having said that, this iSpindle has disconnected before but then has reconnected later? When I got home on Sunday, there was no action I could perform remotely that made it reconnect on it's own. Luckily the fermentation had finished so just racked and cleaned everything. iSpindle then started logging again after a restart.

Before I let my iSpindle loose, I just make sure it's logged at least twice before I let it swim.
 
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.
 
Back
Top