An IoT bottle that tracks water consumption. Winner of Best Health Hack, MLH's Best Hardware Hack, and QB3's Best Big Data for the Improvement of Health Care Winner at CruzHacks 2022.

Overview

SmartFlask

For CruzHacks 2022 By Adrian, Adrien, Nate, Weston
Logo

An IoT bottle that tracks water consumption. Winner of Best Health Hack, MLH's Best Hardware Hack, and QB3's Best Big Data for the Improvement of Health Care Winner at CruzHacks 2022.
Plan of Reference Document
YouTube Video

Inspiration

Wanted a way to monitor how much water we consumed throughout our day and over a month period

What it does

The SmartFlask measures the amount of water in a water bottle and the amount you've consumed over time. It then transmits a radio signal to a receiver and posts it to a web server where the data is saved to a database for you to view it later in the web browser.

How we built it

Hardware 3D Model

We built this device using a Heltec ESP32 for the main computation, a LoRa module for transmission of data, an ultrasonic sensor for monitoring the distance of the water in the bottle, an IMU to measure the movement of the water bottle, a GPS module so you don't lose your water bottle and a power system. On the software side we built out the webserver using Node.js and MySQL. We create the user interface using Next.js and vanilla CSS.

Challenges we ran into

On the hardware side we ran into problems parsing data, power management, water/IMU calculation, and creating the 3D printed lid. On the software side we had trouble building out the user interface as this was something none of us were really experienced in. We also tried deploying our application using Google's Kubernete Engine service with no luck. We also attempted to automate the deployment to Kubernetes using GitHub Actions as apart of our CI/CD build pipeline with no luck.

Accomplishments that we're proud of

Successfully calculating the amount of water in the bottle using a depth sensor. 3D printing the housing unit for the water bottle. Creating unique SQL queries that were a bit complex for our leaderboard feature.

What we learned

The difficulty of working with new software tools that we are unfamiliar with. How to work together as a team and find the necessary tasks to build and execute a full system of hardware, embedded, and web development. The importance of setting realistic goals.

What's next for SmartFlask

We plan to continue working on this project and redesigning the top as we did not have time to 3D print the design we wanted. Further refining the user interface and building out more useful graphs.

Bottle

Built With c++ css express.js google mysql nextjs node.js platformio typescript
Full Project on Devpost

You might also like...

⚡ the first open-source redis client made with care and acessibility-first 🚀

⚡ Redis UI The first open-source project to create an awesome and accessible UI for Redis as a native desktop application. ✨ 🦄 🚀 How to develop loca

Nov 21, 2022

Context-aware smart contracts for blockchain IoT systems

Context-aware smart contracts for blockchain IoT systems It contains 2 directories: contracts: contains the ContextAwareSmartContract.sol contract wit

Jun 17, 2022

100 Days of Code is a self improvement tool, where you make a commitment to solve 1 coding problem everyday for the next 100 days.

100 Days of Code is a self-improvement tool, where you make a commitment to solve 1 coding problem everyday for the next 100 days. This repository includes a range of tasks, lessons, resources, and challenges on various programming languages to help improve programming skills.

May 26, 2022

Fix for Object.hasOwnProperty, which normally just returns a boolean, which is not good when you care about strong typing.

Fix for Object.hasOwnProperty, which normally just returns a boolean, which is not good when you care about strong typing.

Welcome to ts-has-own-property 👋 Fix for Object.hasOwnProperty, which normally just returns a boolean, which is not good when you care about strong t

Jul 4, 2022

Fix for Object.keys, which normally just returns an array of strings, which is not good when you care about strong typing

Fix for Object.keys, which normally just returns an array of strings, which is not good when you care about strong typing

Welcome to ts-object-keys 👋 Fix for Object.keys, which normally just returns an array of strings, which is not good when you care about strong typing

Jul 4, 2022

A devtool improve your pakage manager use experience no more care about what package manager is this repo use; one line, try all.

pi A devtool improve your pakage manager use experience no more care about what package manager is this repo use; one line, try all. Stargazers over t

Nov 1, 2022

Today began learn about MEAN stack first with Nodejs that is a server side form of javascript. Repository for track of Day by Day improvement track in new Skill.

Today began learn about MEAN stack first with Nodejs that is a server side form of javascript. Repository for track of Day by Day improvement track in new Skill.

NodeJs Today began learn about MEAN stack first with Nodejs that is a server side form of javascript. Repository for track of Day by Day improvement t

Oct 14, 2022

Using Open Banking Data to Maximize Mortgage Savings. CSESoc X Pearler Competition Winner.

Using Open Banking Data to Maximize Mortgage Savings. CSESoc X Pearler Competition Winner.

Mortgage Manager Overview Mortgage Manager is an open-source online home-loan comparison tool using product data from the Consumer Data Standards Bank

Oct 11, 2022

Seamless and lightweight parallax scrolling library implemented in pure JavaScript utilizing Hardware acceleration for extra performance.

parallax-vanilla.js Seamless and lightweight parallax scrolling library implemented in pure JavaScript utilizing Hardware acceleration for extra perfo

Nov 1, 2022
WaffleHacks 2022 - Winner of 'Dream Big and Create More Cheers with AB InBev' & Honorable Mention for the Food Insecurity Track

Getting Started with Create React App Welcome to Leftover Marketplace. This is our project for WaffleHacks 2022. Links Presentation and Demo Video Web

Geer 3 Jun 27, 2022
Hackathons + Contests => Hack TestHackathons + Contests => Hack Test

Hack Test API Hackathons + Contests => Hack Test Website: https://hacktestapi.herokuapp.com/ Workspace: https://www.postman.com/satellite-geoscientist

Abhishek Chauhan 4 Jul 25, 2022
Second Prize Winner of Crypto.com Hackathon 2022. An NFT Ticketing Platform built with Next.js and Ethereum.

Second Prize Winner of Crypto.com The Next Gen Hackathon 2022! How to run this project locally clone the repo and run yarn install in the root directo

Kasidis Chantharojwong 5 Oct 26, 2022
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 13 Jul 1, 2022
A homebridge plugin to display the current consumption from your Tibber pulse as lux in Home kit.

homebridge-tibber-lightsensor Tibber lightsensor is a plugin for Homebridge. It fetches the current watt usage of your house and displays it as a ligh

Johan Runbert 2 Oct 11, 2022
A simple web server exposing Hetzner cloud instances for consumption by the Prometheus HTTP service discovery.

Prometheus: Hetzner Service Discovery A server to provide automatic node discovery for Hetzner Cloud to Prometheus via HTTP service discovery. In cont

Matchory GmbH 1 Oct 10, 2022
Use real-time computing technology and web technology to build a big data Kanban l to solve the problem. Among them, practical technologies include MySQL, Kafka, Flink, Redis, Flask and Echarts

实时计算(English Version) 运用实时计算技术、Web 技术构建一个大数据看板来解决问题。其中实用技术包括Mysql、Kafka、Flink、Redis、Flask和Echarts 目录 1.问题需求 2.方案分析 3.安装环境 4.环境启动命令和运行代码的方法 5.代码目录结构说明

Serendipity 2 Jan 8, 2022
ACME client microservice for the Cumulocity IoT Edge to automatically issue and renew valid certificates via e.g. Let's Encrypt.

Cumulocity IoT Edge - ACME This repository contains the sources for an ACME microservice that can be used to periodically issue/renew certificates for

Software AG 3 May 3, 2022