
Pro ukkoVBT
m351351/Velocity-Based-Training
An ESP32-based device for weightlifting analysis. Processes analog accelerometer data to visualize velocity-displacement curves for athletic performance optimization.

AI-powered dog health monitoring system with 4 diagnostic modules (BarkSense, SkinSense, AirSense, MotionSense). ESP32-based collar for real-time health tracking, vet integration, and government stray dog monitoring.
PCB Design is an open-source printed circuit board by adilsukumar, from the adilsukumar/Pawsitive-Diagnostics-V1 repository on GitHub, published under the MIT licence. It is a 2-layer board of 55 × 27.5 mm with 25 parts on 29 nets, routed with 160 tracks and 7 vias.
It is built around the BMI270, TP4056-42-ESOP8 and TP1. Its parts include 9 connectors, 6 resistors, 4 capacitors, 3 ICs and 2 diodes. It belongs with the radio and wireless boards and the ESP32 and RISC-V boards of this library.
Overview · Sense suite · Data paths · Run locally · Integrations · Source
I built this version of Pawsitive Diagnostics as a mobile-first pet-care workspace: pet profiles, Sense module views, collar connection, scan history, breed browsing, a conversational assistant and report exports. The project is developed under Pawsitive Innovators.
This repository is a prototype application with integration paths. Some paths consume device or cloud data; others use demo values, fixed outputs or fallback text. The interface and the presence of a model/helper name do not establish validated veterinary diagnosis, core-temperature measurement or disease detection.
Original project logo · Application routes · Hardware source
| Module | Included project area |
|---|---|
| BarkSense AI | Audio capture, feature/classifier helpers, emotion logs and history views |
| SkinSense AI | Image/text analysis helpers, scan history and before/after comparison workflows |
| MotionSense AI | Movement/activity presentation and collar-related interfaces |
| LocationSense AI | Location map, safe-zone and history interfaces |
| TemperatureSense AI | Temperature-related presentation and environmental context |
| VitalSense AI | Heart-rate and respiration-related presentation |
| PressureSense AI | Pressure-related charts and summaries |
| LightSense AI | Light/UV-related presentation |
| CombineSense AI | Combined overview, score presentation and PDF-report workflow |
These describe the implemented interface families, not independently verified sensor accuracy or diagnostic performance. Input availability, data freshness and the particular helper used matter. A collar surface reading is not established as core temperature by this repository.
The dedicated BLE hook connects to a configured GATT service, subscribes to notifications and parses collar JSON fields such as bark spikes, gas values, scratch intensity and timestamps. It stores recent records locally and attempts to insert them into Supabase. Its service and characteristic UUIDs must match the firmware.
The cloud-reading hook fetches recent sensor_readings and subscribes to new inserts. Other hooks also use dog-specific browser storage. Several modules have their own data/helper paths; a connection indicator alone does not prove that every Sense module has a working physical sensor.
Browser permissions, device compatibility, database permissions and a suitable secure context are required for the relevant paths. Inspect both hook implementations when tracing a page: similarly named exports do not all implement the same BLE lifecycle.
Generated advice, heuristic labels, mock outputs and presentation scores should remain distinguishable from verified animal measurements. Some AI helpers return predefined assessment text after API errors; inspect the returned path before interpreting an output.
Use Node.js 22 or newer for the repository's Capacitor 8 toolchain; see the Capacitor requirements.
git clone https://github.com/adilsukumar/Pawsitive-Diagnostics-V1.git
cd Pawsitive-Diagnostics-V1
npm installCreate .env in the project root. The current generated Supabase client reads these names:
VITE_SUPABASE_URL=https://your-project.supabase.co
VITE_SUPABASE_PUBLISHABLE_KEY=your_client_api_key
VITE_GEMINI_API_KEY=your_optional_gemini_keyConfiguration detail: .env.example currently lists VITE_SUPABASE_ANON_KEY, while client.ts reads VITE_SUPABASE_PUBLISHABLE_KEY. Use the name the client actually reads. The example also declares VITE_ML_API_URL; its presence alone does not connect every page to the Python backend.
npm run dev
npm run build
npm run preview
npm run lint
npm testVite requests port 8080; follow the URL printed in the terminal. The package also includes build:dev and test:watch. Match the Supabase schema, auth settings, storage and permissions to the application; SQL/migrations are included in supabase/.
VITE_ values are bundled into browser JavaScript. Use client-scoped keys here; privileged server credentials do not belong in that namespace. This documentation update does not alter environment files or secrets.
| Area | What the current source establishes |
|---|---|
| React frontend | React 18, TypeScript, Vite 5, Tailwind CSS, React Router and Framer Motion |
| Supabase | Auth/session configuration and database subscription/write paths; project setup and rules are required |
| BLE | GATT parsing and notification code; needs matching firmware and supported browser/device |
| Gemini | Helpers still request gemini-1.5-pro; this model has been retired, so those live requests need a separate integration update |
| Python backend | ml_backend/api/main.py exposes fixed mock bark/skin/motion responses and a simulated combined score |
| TensorFlow/model helpers | Present in the frontend; inspect actual weights, fallback branches and evaluation evidence for the path being used |
| Hardware | KiCad and Gerber files are included; file presence is not a deployed-board validation result |
Google records the Gemini 1.5 Pro shutdown in its official model shutdown notes. A key alone will not restore a retired model. The backend's /health response also does not demonstrate that nine trained models are loaded: inspect the implementation rather than treating its fixed response as verification.
No provider key, live model migration, physical-device test or paid API request was performed for this README draft. Application code and model artifacts are unchanged.
| Area | Source |
|---|---|
| Frontend shell and navigation | AppLayout.tsx · Dashboard.tsx |
| Nine Sense interfaces | src/pages/ |
| AI and fallback helpers | gemini.ts · aiServices.ts |
| Bark processing | audioFeatureExtractor.ts · mlBarkClassifier.ts |
| Skin processing | mlSkinClassifier.ts · tfSkinClassifier.ts |
| Database setup | supabase/ |
| Mock backend routes | main.py |
| Mobile wrapper | capacitor.config.json |
Developed by Pawsitive Innovators. Project maintained by Adil Sukumar. The original project direction—bridging animals and technology—remains, with capabilities described at the level supported by the current source.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 2 | 100n | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C2, C4 |
| 2 | 10u | Capacitor_SMD:C_0805_2012Metric | C1, C3 |
| 2 | 1K | Resistor_SMD:R_0603_1608Metric | R1, R3 |
| 2 | 4.7k | Resistor_SMD:R_0603_1608Metric | R5, R6 |
| 2 | LED | LED_THT:LED_D3.0mm | D1, D2 |
| 1 | 1.2k | Resistor_SMD:R_0603_1608Metric | R4 |
| 1 | 10k | Resistor_SMD:R_0603_1608Metric | R2 |
| 1 | BATTERY | Connector_JST:JST_EH_B2B-EH-A_1x02_P2.50mm_Vertical | J4 |
| 1 | BMI270 | BMI270:XDCR_BMI270 | U3 |
| 1 | ESP32-C3_SUPERMINI_TH | esp32c3 super mini:MODULE_ESP32-C3_SUPERMINI_TH | U2 |
| 1 | Neopixel | Connector_JST:JST_PH_B3B-PH-K_1x03_P2.00mm_Vertical | J2 |
| 1 | POGO PIN | Connector_JST:JST_EH_B2B-EH-A_1x02_P2.50mm_Vertical | J1 |
| 1 | SW | Connector_PinHeader_1.00mm:PinHeader_1x02_P1.00mm_Vertical | J3 |
| 1 | TP1 | Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical | J5 |
| 1 | TP2 | Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical | J6 |
| 1 | TP3 | Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical | J7 |
| 1 | TP4 | Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical | J8 |
| 1 | TP4056-42-ESOP8 | Package_SO:SOIC-8-1EP_3.9x4.9mm_P1.27mm_EP2.41x3.3mm_ThermalVias | U1 |
| 1 | TP5 | Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical | J9 |
| 1 | Thermistor_NTC | Varistor:RV_Disc_D12mm_W4.2mm_P7.5mm | TH1 |
It measures 55 × 27.5 mm and has 2 copper layers, 1.6 mm thick.
25 parts, built around the BMI270, TP4056-42-ESOP8 and TP1. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the adilsukumar/Pawsitive-Diagnostics-V1 repository on GitHub, at the commit this page was made from: the board is hardware/PCB Design.kicad_pcb and its schematic hardware/Schematic.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

m351351/Velocity-Based-Training
An ESP32-based device for weightlifting analysis. Processes analog accelerometer data to visualize velocity-displacement curves for athletic performance optimization.

ParthDhiman32/CRASHSENSE
Crashsense is a high level embedded sytems project which senses crashes in vehicles like cars trucks and also drones and records the every bit of data of that crash and gives enough data for the crash to be reoncstructed

SarusanS/Smart-Water-Bottle
A standalone smart water bottle that tracks daily water consumption using a ToF sensor and IMU-based motion detection.

novintic/FlukeEmu-FluCom
HW/SW solution for Fluke 9010 mainframe emulation


autonomous-ai/autonomous-circuit
Chat with AI, get a verified PCB and a fab packet you can order.

cc90202/DCC-esp32
DCC command station for ESP32-C6 — NMRA-compliant model railroad controller in Rust
