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.
I have a couple of iSpindels, that after running the calibrate function in the maintenance menu page, they now read negative gravity. Anyone know how to fix this?

Thanks
Version 6.5.0 of the firmware should fix this.
 
Which boards did you use? Picture maybe? Because there are different setups with different kind of iSpindel PCB's.
 
I'm having some issues with an iSpindel I bought from the forums here last week.

It's a CherryPhillips v4.0 board running v6.3.1

It was supposedly calibrated before it was shipped but when it arrived I was getting -2.XX plato in water.

I calibrated it via the maintenance option and it corrected back to ~90deg on a level surface...put it in water and it the tilt reading was 16.10 which is FAR outside the 25 (+/- 5deg) that it's supposed to be according to the iSpindel documentation.

I got to filing down the top of the board and insert a strip of foam in the bottom like OpenDistilling recommends and re-calibrated back to 90deg which then got me just shy of 21deg tilt in water...not great but at least it's within spec

I went through the easy calibration for 1.000, 1.013, 1.050, 1.076, 1.108 and recorded all of the tilt values...updated the config.

I move it back and forth between water and the 1.013 sample and it says at .98 gravit at BOTH values -- out of patience and time for the day so I just set it aside.


...now 24 hours later I'm back into config mode and it's tilt is 85deg on a level surface.

I'm at a complete loss for how this thing can just fall out of calibration by 5deg in 24 hours.

Maybe I'm wrong about how this works but the tilt values in my calibration were 21 (1.000) to 71 (1.110) -- my math is telling me that's off by 0.011 in 24 hours.

Am I missing something here?

---

Update:

I re-calibrated and looked at the polynomial and config it may not be storing the complete string...going to try with the shorter formulas and see if that helps with the conversion accuracy because the tilt values are still changing between samples.

...regardless, I still find it highly alarming that this could be out of calibration by 5deg tilt within 24 hours;

Update 2:

5 minutes after doing the above calibration I go back to having it flat on a table and it's at 87deg (-3deg)...seriously?

The config is definitely stripping off the longer (degree 3:[formula]) option so I'm going with the shorter one with less accuracy.
 
Last edited:
It's a CherryPhillips v4.0 board running v6.3.1
...now 24 hours later I'm back into config mode and it's tilt is 85deg on a level surface.

I'm at a complete loss for how this thing can just fall out of calibration by 5deg in 24 hours.
Am I missing something here?
First,I'd upgrade to a 6.4.1 or 6.5. Better equation, better calibration taking "roll" into account.

Then I'd double check the formula you entered. Make sure it's all there.
Make sure it's less than 100 chars.
If needed, trim it a bit (you don't need 9 digits precision on all 4 a*tilt^3 + b * tilt² + c*tilt + d).
Then do a "CALIBRATE" and put it back in your known samples.

And let us know.
 
First,I'd upgrade to a 6.4.1 or 6.5. Better equation, better calibration taking "roll" into account.

Then I'd double check the formula you entered. Make sure it's all there.
Make sure it's less than 100 chars.
If needed, trim it a bit (you don't need 9 digits precision on all 4 a*tilt^3 + b * tilt² + c*tilt + d).
Then do a "CALIBRATE" and put it back in your known samples.

And let us know.

Thanks, I'll give it a shot and report back.
 
I got 2 of them recently, I've been struggling keeping them connected to any services. I got them calibrated, I set up ubidots, I seem to only be able to get them working temporarily. I think this is a problem with my router, I tried different firmwares, I tried brewfather, ubidots. I only get maybe one signal to the service before it just stops working. I think I was able to finally after days of fiddling with it to find the issue might be my router. It's getting stuck in my router:
Auth F4:CF:A2:EF:68:48
Assoc F4:CF:A2:EF:68:48
Disassoc F4:CF:A2:EF:68:48 reason: Disassociated because sending station is leaving (or has left) BSS
Deauth_ind F4:CF:A2:EF:68:48 reason: Class 2 frame received from nonauthenticated station (6)

I recognize it is the MAC address for the spindel. I noticed a few successful connections which correlate with the services I'm using, the few times it connects properly is logged into the router the same. I have a feeling it might be my tri-band ASUS router, I just gave it a static IP can't seem to find DMZ settings so I can put it on a DMZ if it's filtering it. My Wifi signal is around 80-90% the last few times I saw it, my brew room is at 75% signal strength. I don't think it's signal issues considering it's intentionally booting the spindel from the wifi. Anyone have this issue or have a fix?
 
@AlbinoRaven : Might be an issue with the iSpindel itself !
- Switch into configuration mode
- change the refresh rate to something super short like 10 seconds
- Get out of config.
- iSpindel should then flash the LED solid the time needed to go to sleep then 10 or so seconds later flash once again, then 10 seconds after and so on.

If it does NOT flash/wake up,try and take logs but you might have a buggy D1 mini (infamous DeepSleep issue).
 
Yes those are the real deal, I build 20 iSpindels with those and they all work. See also LOLIN D1 mini — WEMOS documentation
What I notices with the gyro boards is that the ones on the left with the orangy/yellowy block are working all fine, the other ones with the black block on the right 3 out of 10 worked from my last order.
Oh no, I've just ordered 10 'Feiyang' GY-521 gyros from the 'SAMIORE Store' on Ali-Express. The picture has the same black A106 component as your picture. Can I expect them to all be duff? Is there an easy way to test them or will I end up losing my patience desoldering them on my Jeffery 2.69 boards? Is there a reliable supplier anyone can recommend?

The Lolin D1 mini have been out of stock for a couple of weeks. I ordered a few WAVGAT Wemos D1 Mini 3.0 boards (with the rounded edges if the photo's to be believed). I guess I'd better teach myself how to do the 'deep sleep' test. Are the instructions easy to find?

I thought building a few iSpindels would be a good new lockdown project. Sounds like I'm going to lose more hair though. Many thanks for all the brilliant information in the forum though, it's been really useful.
 
Hey all, I need some iSpindel build troubleshooting help/advice. I'm building 2 iSpindels and one is working perfectly, the other is not working. After flashing, I can't get it into to configuration mode by resetting it a few times -- no WIFI AP appears and no LEDs flash on the D1 mini. The LED flashes when you reset, but it doesn't flash repeatedly as it should in config./AP mode.

Here's the details.
  • The board is CherryPhilips. I can't tell what version it is. (see pics) I bought a kit from Dave at Brewthings.com here in Canada in October. I understood it was a very recent revision. It has a onboard gyro chip and support components (all SMD). I'll take some photos.
  • D1-Mini is a v3.0.0 Geekcreit brand from Banggood. It is quite good quality compared to many I've seen. I didn't use the one that came with the kit. It was a cheap, older version 2.x. I've used the Geekcreit ones a few times and recommend them. I removed the power-in diode to prevent 5v from getting to the battery (as per instructions).
  • TP4056 is generic, came with the kit.
What I've tested so far:
  • Battery and charging board were tested and are working perfectly. Battery is fully charged. No suspicions there.
  • D1-Mini... I was able to flash an Arduino sketch that sets up a simple WIFI AP and web server. Works perfectly. I think the D1m is fine.
  • Flashing was done with Thorrak's BrewFlasher tool (an ESPTool.py wrapper I believe) and it worked perfectly on the 1st iSpindel, and seems to have worked perfectly on the problematic one too. All the right feedback, no errors returned. I flashed it a few times and tried QIO and DIO and pre-wiping the flash mem. beforehand.
What I haven't been able to test are the board components, gyro chip, the DS18B20, etc. and I'm honestly not sure if they can interfere with the operation of the system such that it prevents a WIFI AP from appearing. But I can't think of a way to test the board components. I could order some DS18B20s to swap that out I suppose if you think it could be the problem.

Soldering is checked, it's all fine. I've been soldering/working in electronics for 50 yrs. Yeah, I'm old-ish. Any ideas? (about the iSpindel, not being old).

1.jpg

2.jpg
 
Last edited:
@Tom4c I have to nuance my findings a bit. I ordered 10 gy=521 at a store on aliexpress(US $5.4 |10PS X GY 521 MPU 6050 MPU6050 Module 3 Axis gyro sensors+ 3 Axis Accelerometer Module|Integrated Circuits| - AliExpress) where I bought before with the orange block, but now with the black block. I all tested them before soldering and they all work.
You can test them with a program that is called MPUTeapot but you'll need an Arduino uno and a breadboard and some wires.

As for the WAVGAT, they are half the price of the official Lolin ones so I bought 4 of them to try out and 1 out of 4 worked, the rest I threw away. I never ever by clones again.
20210124_171612.jpg
Screenshot_20210124-171523_Gallery.jpg
Screenshot_20210124-171758_Video Player.jpg
 
Have you attached the controller to a serial terminal on startup to see what it's doing?
Yes. forgot to mention that. Thanks. Nothing there.
I do get ROM msgs on its baud rate, so I know the serial connection is fine, but nothing at 115200. Using putty in serial mode on a Win 10 PC.
 
Last edited:
@100amps SO you've got the right baud rate for the iSpindel, if you're not seeing meaningfull messages on the serial port then program is not running. As @LBussy says it could be hardware but it could just be a bad flash, try it again, but do an erase first.

When you look at the serial port output you should see all the hardware being found first, if it doesn't find the hardware then it will not start. You'll then it setting up webserver and access point (on the first boot).
 
LBussy, Don't forget, the D1/WIFI was tested with an Arduino sketch which exercised all that stuff (presumably). It seemed like it was a firmware/flashing issue to me, so I tried a different flashing tool (NodeMCU flasher), and.. it works now -- that fixed the problem and it runs fine. Not sure why Brewflasher worked fine for the first unit, but not the second.

I appreciate the help, Lee and Chris. :cool:
 
@Tom4c I have to nuance my findings a bit. I ordered 10 gy=521 at a store on aliexpress(US $5.4 |10PS X GY 521 MPU 6050 MPU6050 Module 3 Axis gyro sensors+ 3 Axis Accelerometer Module|Integrated Circuits| - AliExpress) where I bought before with the orange block, but now with the black block. I all tested them before soldering and they all work.
You can test them with a program that is called MPUTeapot but you'll need an Arduino uno and a breadboard and some wires.
As for the WAVGAT, they are half the price of the official Lolin ones so I bought 4 of them to try out and 1 out of 4 worked, the rest I threw away. I never ever by clones again.
Thanks @BreeBrew . I have Raspberry Pis, but no Arduinos. I guess I'll just have to ask around locally to see if anyone has one I can borrow. BangGood have UK stock of the Geekcreit brand of D1 Mini and GY-521 so perhaps I'll give them a go first. Lets hope the delivered items look like the pictures!
 
Hey guys. Anyway we can start a WhiteList / BlackList of suppliers (mainly Ali Express ones) who carry bad/good batches of D1, Gyros etc ? I just tested 32 D1 Minis for the DeepSleep "bug", 28 out of 32 were bad ... I would hate for this to happen to someone else ...
Hi @ZeSlammy how do you "test for the deep sleep bug"? It seems like a sensible thing to do before soldering up the D1 Mini, is it a complicated test?
 
Hi @ZeSlammy how do you "test for the deep sleep bug"? It seems like a sensible thing to do before soldering up the D1 Mini, is it a complicated test?
I think you just need to run the iSpindel in regular operating mode with the update period set reasonably fast (20 seconds) and see if the D1's LED flashes every 20 seconds. If so, then it's coming out of deepsleep fine.

I'm not sure how you can (easily) test it before assembly.

If that's not correct, please let me know.
 
Last edited:
I think you just need to run the iSpindel in regular operating mode with the update period set reasonably fast (20 seconds) and see if the D1's LED flashes every 20 seconds. If so, then it's coming out of deepsleep fine.

I'm not sure how you can (easily) test it before assembly.

If that's not correct, please let me know.
Hi. Thanks for your reply. I don’t have the rest of the iSpindel parts yet. I was hoping to test the d1 mini on its own, before it’s integrated with the rest of the build. It sounds as though there are some scripts that can be used to do this?
 
Hi @ZeSlammy how do you "test for the deep sleep bug"? It seems like a sensible thing to do before soldering up the D1 Mini, is it a complicated test?

Put a BAT43 between RST & D0
Load a simple DeepSleep sketch
Code:
void ICACHE_RAM_ATTR handleInterrupt();
void setup() {
  Serial.begin(74880);
  //Serial.setTimeout(2000);

  // Wait for serial to initialize.
  while(!Serial) {
    Serial.println("...");
    }
 
  // Deep sleep mode for 10 seconds, the ESP8266 wakes up by itself when GPIO 16
  // (D0 in NodeMCU board) is connected to the RESET pin
  Serial.println("I'm awake, but I'm going into deep sleep mode for 10 seconds");
  ESP.deepSleep(10e6);
 

}

void loop() {
}

Reset and check if you have the "I'm awake" message every 10 seconds.
 
Put a BAT43 between RST & D0
Load a simple DeepSleep sketch
Code:
void ICACHE_RAM_ATTR handleInterrupt();
void setup() {
  Serial.begin(74880);
  //Serial.setTimeout(2000);

  // Wait for serial to initialize.
  while(!Serial) {
    Serial.println("...");
    }

  // Deep sleep mode for 10 seconds, the ESP8266 wakes up by itself when GPIO 16
  // (D0 in NodeMCU board) is connected to the RESET pin
  Serial.println("I'm awake, but I'm going into deep sleep mode for 10 seconds");
  ESP.deepSleep(10e6);


}

void loop() {
}

Reset and check if you have the "I'm awake" message every 10 seconds.
Brilliant,
Thank you.
 
I have an iSpindel that I acquired a while ago and only recently decided to start playing with it to see how it worked. I had all manor of issues getting it connected to my wifi but managed to resolve that by flashing to firmware 6.51 with ESP8266Flasher and got it working with Brewspy. I then noticed that there were no temperature readings, it stayed at 0.00C, so I was in the process of trying to work out why when I stupidly inserted the battery the wrong way round. It sent a small smoke signal before I could pull the battery out and although I cannot see any sign of burning on either the Wemos or the Charging boards I now find that the Wemos D1 Mini no longer powers up. The Battery appears to charge and the Gyro light comes on but no light on the Wemos and if I connect the USB cable I can no longer see the serial port.

Am I likely to have blown something on the Wemos D1 Mini board or is there anything else that will give first that I can change out. If I have to relplace the Wemos D1 Mini board then I am happy to do that I just need to know that this is the problem.

Just for the record it is a Cherry Philip PCB V4.0, not sure what version of Wemos but the USB connector is on the underside of the board and it has a large silver plate on the top with Model Vendor ESP8266MOD etched on it.

Thanks in advance for any help with this.

Neal.
 
Hello All,

Well, I've just finished building my first two ISpindels with the help of Open Source Distilling's great set of guides, and after some beginner trouble during soldering, just about everything is working properly. However, like some of the other posters above, I am receiving NaN values for tilt and gravity readings when I connect over WiFi. To try and fix this I have been trying to do an offset calibration, but to no avail. The blue LED on the Wemos stays lit for >10mins. I have tried searching the internet and found this thread:
https://github.com/universam1/iSpindel/issues/302
And I purchased my gyros from the same source:
https://www.amazon.com/gp/product/B00LP25V1A/ref=ppx_yo_dt_b_asin_title_o09_s01?ie=UTF8&psc=1
Both ISpindels have been flashed with the latest firmware 6.5.1 which I was hoping would resolve my issue.

Can any of you offer any help? Thank you very much in advance!
 
@Tom4c I have to nuance my findings a bit. I ordered 10 gy=521 at a store on aliexpress(US $5.4 |10PS X GY 521 MPU 6050 MPU6050 Module 3 Axis gyro sensors+ 3 Axis Accelerometer Module|Integrated Circuits| - AliExpress) where I bought before with the orange block, but now with the black block. I all tested them before soldering and they all work.
You can test them with a program that is called MPUTeapot but you'll need an Arduino uno and a breadboard and some wires.

As for the WAVGAT, they are half the price of the official Lolin ones so I bought 4 of them to try out and 1 out of 4 worked, the rest I threw away. I never ever by clones again.
Hi @BreeBrew. Many thanks for your earlier post. I have now tested a couple of different Gy-521 boards. Both work with the tests that send 'raw data' to the Serial Monitor, I can tilt the boards and see the data change. Is this sufficient evidence that the board is working?

I can't get the MPUTeapot demo to work, the aeroplane remains stationary. The toxiclib library is no longer hosted on the linked site, and the "Processing" app notes a couple of errors in the sketch. Is there a particular reason to use this demo?
 
Can someone help fix a battery problem I have. I just received an assembled ispindel with PCB 4.0 board.
Everything is working fine except the battery is draining very quickly. The first time I used it it dropped from 4v to 3.25v in just over 6 days then stopped sending data. I assume because the battery voltage was to low.
The ispindel is set to send data to ubidots every 900s and while testing I see the the blue LED on the WEMOS blinks every 15 minutes
I have flashed the latest firmware (6.5.1)
I have tried 2 different 18650s. Samsung 25R supplied with the ispindel and a Molicel P26A bought from Fogstar.

When I tried to update the firmware using ESP8266Flasher the flasher could not see the device on the com port but windows 10 recognised it. I used the maintenance on the ispindel to do the update and checked that the setting had been saved.

Does anyone have any ideas why the battery is draining so quickly.
 
Over on the iSpindel GitHub pages there WAS a discusion about adding Automatic Temperature Compensation to the firmware. However, as there wasn't any real traction for this wonderful feature and so it's been dropped, which makes me sad. Sadder as I didn't spot it early enough to add my voice or to make sure it was noticed in a wider audience.

So... I'm hoping that by bringing it to the attention of a wider audience we can see if there is indeed any interest? Who'd like their iSpindel to give them a SG that compensated for temperature?
 
Over on the iSpindel GitHub pages there WAS a discusion about adding Automatic Temperature Compensation to the firmware. However, as there wasn't any real traction for this wonderful feature and so it's been dropped, which makes me sad. Sadder as I didn't spot it early enough to add my voice or to make sure it was noticed in a wider audience.

So... I'm hoping that by bringing it to the attention of a wider audience we can see if there is indeed any interest? Who'd like their iSpindel to give them a SG that compensated for temperature?

This would be a nice feature to have.
 
Another issue with the 50mL tube that I hadn't thought of until recently is buoyancy. I did a test with just the battery in a tube and it floated at the level of the cap. I need to study the math more but I'm guessing that's not going to let it tilt correctly. I'm not sure if a taller tube with the same diameter is available or if I can 3d print an extension to it.

Still a lot of work to do...

I am super interested in figuring out a version that fits in a 50ml centrifuge tube. The path I was going was to use a 18500 LiFePO4 cell, sold in hardware stores where I live for solar lights. They are still a decent sized cell, the one I have is 1000mAh, but small enough that they fit in a 50ml tube with a Wemos D1 mini or LOLIN32 Lite and a MPU6050 and still float at a reasonable looking angle. The project I built to go in it (rymes with Boaty) claims a year from a 3400mAh cell sending data every 10 minutes, so I assumed it would last long enough with the smaller battery, but my board was damaged and I haven't got to try it yet. The LiFePO4 cell has the advantage that it can power 3.3v boards directly, but it is harder to find chargers that work with it. I had planned to just take it out to charge it.

1614266116658.png

1614266762626.png
 
Last edited:
I did see a Cherryphillip74 design for a 50ml tube, but the thread seem to have gone stale and for several reasons I'm not interested in custom PCB versions. Mainly I would like to use my 3d printer, but it also seems like a complicated, expensive and time consuming way to solder togther off the shelf components. I already have most or all of the components and just want to fit them into a smaller tube rather than start over.

I have been looking for an explanation of what the resistors and diode in the wiring diagrams I have seen do. If they are for the temperature sensor or a litihum ion battery, I would be very happy to leave them out and just have the D1 mini, MPU6050 and LiFePO4 battery.
 
I did see a Cherryphillip74 design for a 50ml tube, but the thread seem to have gone stale and for several reasons I'm not interested in custom PCB versions. Mainly I would like to use my 3d printer, but it also seems like a complicated, expensive and time consuming way to solder togther off the shelf components. I already have most or all of the components and just want to fit them into a smaller tube rather than start over.

I have been looking for an explanation of what the resistors and diode in the wiring diagrams I have seen do. If they are for the temperature sensor or a litihum ion battery, I would be very happy to leave them out and just have the D1 mini, MPU6050 and LiFePO4 battery.
Floaty is the way I think, with a 3D printed something.
Thing is you can't get an iSpindel working without the temp sensor I think
 
I did see a Cherryphillip74 design for a 50ml tube, but the thread seem to have gone stale and for several reasons I'm not interested in custom PCB versions. Mainly I would like to use my 3d printer, but it also seems like a complicated, expensive and time consuming way to solder togther off the shelf components. I already have most or all of the components and just want to fit them into a smaller tube rather than start over.

I have been looking for an explanation of what the resistors and diode in the wiring diagrams I have seen do. If they are for the temperature sensor or a litihum ion battery, I would be very happy to leave them out and just have the D1 mini, MPU6050 and LiFePO4 battery.
There are plenty of sites that discuss the electronics required to make the iSpindel work. Briefly, diode to stabalise the reset circuit, resistors pull up for the temperature sensor and voltage divider to allow the D1 mini to measure the battery voltage. The iSpindel won't complete the boot cycle if it doesn't find all of the hardware.

I've looked at making a very small iSpindel, smaller than the 50ml tube, but I cannot find a suitable tube, small enough to fit into (and out of) a 1 gallon demijohn. I've based it on a ESP12F and it works fine on the bench, I've even layed out a PCB in anticipation. It's more difficult to flash as it requires a separate USB to serial converter, but is straighforward.
 
Floaty is the way I think, with a 3D printed something.
Yes, the Floaty really is elegant, just two inexpensive boards and a battery. I have to order a new LOLIN32 Lite to give it another try.

While I wait I have a MPU6050, D1 mini and matching perf board, and even the temperature sensor, just not the charger or resistors, diode, or the ridiculously rare and expensive pelting. I can go without the charger I think, I can get the resistors locally, I have several of the 50ml centrifuge tubes, so it is just the diode I need to find. One source I looked at said you can use another resistor so I might try that.

I cannot find a suitable tube, small enough to fit into (and out of) a 1 gallon demijohn
Yes, I know what you mean. I do small batches and I just got a used glass drink dispenser that I am going to try to convert into a fermenter just so I can get a floating type hydrometer in.
 
Yes, the Floaty really is elegant, just two inexpensive boards and a battery. I have to order a new LOLIN32 Lite to give it another try.

While I wait I have a MPU6050, D1 mini and matching perf board, and even the temperature sensor, just not the charger or resistors, diode, or the ridiculously rare and expensive pelting. I can go without the charger I think, I can get the resistors locally, I have several of the 50ml centrifuge tubes, so it is just the diode I need to find. One source I looked at said you can use another resistor so I might try that.


Yes, I know what you mean. I do small batches and I just got a used glass drink dispenser that I am going to try to convert into a fermenter just so I can get a floating type hydrometer in.
Yes, you can put a 330 ohms resistor in place of the diode.
The main problem of not installing the temp sensor is the need to modify the software to skeep it, but is doable.
 
Back
Top