Detecting water level in a "smart" bottle

Hi guys, it's the first time I'm posting here... so forgive me in advance for any mistake I might make :cold_sweat: .
By the way, I'm currently working on an Arduino project consisting of building and programming a "smart bottle", which is nothing but a water bottle with a few extra features(e.g. a display with some data).
Since I would like to keep track of the water drank in a day(to see whether it's enough or not), I thought about measuring water level and subsequently(as soon as the bottle is empty) adding the quantity of water originally in the bottle, to a variable representing the water already consumed by the user.
Considering this as the most efficient way to make it through(warn me if it ain't), I need a method to measure water level... and here's where the question comes: how could I make such measurements?
Online I discovered these "water sensors" with lengths up to 10cm(which may be enough for my needs), but they are not suitable for my project!
Please provide me some ideas, mine are scarce :cry: :cry:
Thanks in advance for any help or ideas,
Greg.

Seems tricky...

What about when the bottle is tilted at an angle for drinking for example? The level measurement will not be accurate.

Thinking outside the box, how about a load cell in the base so the bottle can weigh itself.

It sounds like a deceptively tricky project. You have sloshing, orientation, filling, spilling etc to get over. I suspect that it is something that will require significant user input. You could have a cap that must be opened to drink which activated the drinking sensor. Then you could have an accelerometer to measure orientation. Load cells to weigh and water sensors to double check. Tricky

pcbbc:
Seems tricky...

What about when the bottle is tilted at an angle for drinking for example? The level measurement will not be accurate.

Thinking outside the box, how about a load cell in the base so the bottle can weigh itself.

I've already thought about estimating water level with Stevin's law by measuring water pressure with a load cell at the bottom... but there are two main problems with this option:
-how do I concentrate all the weight of the water onto the load cell(which isn't waterproof)?
-I highly doubt to find such precise Arduino sensor, since pressure would be pretty low... consider a column of water of just 10cm.

The scale on this bottle works very well. But of course, the bottle doesn't hold "enough".

I have used capacitive sensors and TOF sensors such as STs VL6180X to measure water levels in a tank
.
however, tanks are stable and using accelerometers such as the MXP mma8652 level when installed.

the water bottle is clearly a much more difficult problem but taking readings over a period when it is stable may work.

horace:
I have used capacitive sensors and TOF sensors such as STs VL6180X to measure water levels in a tank
.
however, tanks are stable and using accelerometers such as the MXP mma8652 level when installed.

the water bottle is clearly a much more difficult problem but taking readings over a period when it is stable may work.

Why have you used both capacitive sensors(too expensive for me, by the way) and TOFs?? Wouldn’t TOFs be enough?
Anyway, since it’s a water bottle, I would need waterproof sensors… and I don’t think it would be possible.

the capacitive sensors are very accurate and waterproof but expnsive
the TOF sensors were an attempt at a lower cost alternative
could the TOF sensors be encapsulated to make them waterproof ?

horace:
the capacitive sensors are very accurate and waterproof but expnsive
the TOF sensors were an attempt at a lower cost alternative
could the TOF sensors be encapsulated to make them waterproof ?

Could they? It would be a hypothetical solution... but I've no idea, in case, of how to incapsulate TOFs... do you?