Events/Event recap

HACKATHONCompleted

ExecuTorch Hackathon — IoT Track

Sat, Oct 17, 2026

See what happens when builders get in a room. Explore the projects, watch the demos, and meet the people behind them.

Open Builder Guide →

// Built at this event

Small teams. Big ideas. 14 projects.

Explore what the builders made. Watch a demo, meet the team, and dig into the code.

Showing 12 of 14 projects

Magic Mirror

Magic Mirror

Project brief ExecuTorch Hackathon — Founders, Inc., October 17–18, 2026. Everything below runs on the Arduino VENTUNO Q on the desk: no cloud, no account, no network needed once the board is flashed. The pitch A store fixture that puts the shopper in the product photo. Stand in front of a camera and you appear wearing the garment — the head cutout, the body matte, the garment placement and the generated try-on image are all computed on the board's Hexagon NPU, with the web page that shows the result served from the same device. What's built and measured Piece Where it runs Cost Virtual billboard (BiSeNet head matte → product photo) NPU 12 ms compute, 1 fps end to end Person segmentation (SegFormer human parsing) NPU 24.9 ms Generated try-on (Stable Diffusion + ControlNet-Canny) NPU 0.3 s per step Face swap into a studio shot (GHOST, Apache-2.0) NPU 82 ms, fp16 LLM text generation (Gemma 4 E2B) NPU 188 tok/s prompt, 16.3 tok/s gen, 494 MiB Vision Q&A (InternVL3-1B) NPU 0.5 s encode, 33 tok/s Live speech (Whisper-tiny → Gemma translate) NPU 1.8–2.6 s transcript, 9 s translated LLM baseline (Llama 3.2 1B, XNNPACK) CPU 10.1 tok/s The NPU numbers are the point: prompt eval is 12× the CPU baseline on a model twice the size, with resident memory a fraction of it, because the weights live in the NPU context. How it fits together Hugging Face model → optimum-cli export executorch → quantized .pte → ExecuTorch runtime. The same .pte runs on the Mac and on the board, which is what makes iterating on a laptop and demoing on hardware the same workflow. NPU models go through the track bundle's QNN AOT path (Linux only) and are driven by a warm persistent runner — 468 ms per inference launched cold, 26 ms held open with scratch on tmpfs. Two independent routes to the same effect, kept separate on purpose: overlay moves a garment onto a live frame (garment_overlay.py, garment_clip.py), and face swap moves the shopper's face into a studio shot that already has the garment, lighting and pose (board_faceswap_). Hardware QCS8275, Cortex-A78C big cores, 14 GB RAM, Ubuntu 24.04 aarch64 over adb — not Android, despite answering adb, and considerably better than its published spec. No root; the compiler, the runners and the Python environment were all installed without it. Status and limits Board path: working, demoed, including the web UI and the walkthrough deck. Android/XR app (android/): compiles, never run — no device was attached. macOS cannot do QNN ahead-of-time compilation, so NPU work happens on the board. Thin segmentation classes (arms) lose accuracy at 8a8w; silhouettes don't. The board reboots under heavy load, so long board-side jobs are resumable.

Venturo Home Mobility

This project illustrates the venturo iot capabilities without use of cloud resources such as compute and store. the Venturo Home Mobility project shows how to remote control lighting, tv and temperature in the house via voice and hand gestures or the combination of the both. Individuals with mobility challenges who live in homes can benefit from locally running AI inference models inside the venturo Q device to accomplish various home automation tasks (sensory and robotics, surveillance, etc) which improves the qualify of life for citizens with physical challenges.

QualcommArduino SDK

Djoker

Dollar Zhu's team

ai tennis coach to guarantee that you'll have a decent serve in 2 hours serves are the most difficult technique in tennis and often the divider between a good tennis player and great tennis player. current tennis apps like swing vision gives you data on how fast you serve, but is useless in giving tips live. the only way to improve your serve today is to hire a $150/hr coach, and even then it takes months to get it right. we are building project djoker to help you serve like djokovic. trained on live match serves from the goat himself, we have broken down exact motion profiles that make his serves ruthlessly efficient. with arduino ventuno q, we built an on device tennis coach that analyzes and gives feedback on your serves in real time. private. real-time & low latency. no internet needed. just like being coached by djoker himself.

Qualcommarduino ventuno + QC RTM Pose model run on ExecutorchGemma4 E2B run locally on Executorch+3

Kamikaze

Harshith Ande's team

Kamikaze is an edge-AI vision system built on the Arduino VENTUNO Q that converts physical consumer items into interactive 3D digital twins in real time. Powered by an on-device Qualcomm Hexagon NPU, the pipeline uses YOLO-World, DINOv2, RapidOCR, and HSV color gating to identify smartphones and beverage cans during a guided five-second scan. An integrated FastMCP server then resolves metric-accurate 3D models by cross-referencing local CAD caches, 1:1 dummy repositories, and procedural mesh generators with live-stitched label textures—all while enforcing a zero-cloud privacy boundary. The resulting Smart Kiosk interface pairs Modulino RGB LED feedback and real-time hardware telemetry with an auto-orienting 3D viewport that dynamically mirrors the physical pose of the object in the user's hand.

QualcommArduino VENTUNO Q (Qualcomm QCS8275)Ubuntu 24.04+8

IDK Button - The button that knows what is being said

BetweenTheLines

Runtime Architecture: Board and Mac ASR and LLM inference run on the board using the Qualcomm NPU. The dashboard, application backend, and dictionary lookup logic run on the Mac. | Component | Execution location | Implementation | |---|---|---| | ASR | Board | Whisper compiled with ExecuTorch and executed through the QNN backend | | Context analysis and translation inference | Board | unsloth/Qwen3.5-2B-GGUF with Q4_0 quantization, served through GenieX using a llama.cpp-based inference engine and the Qualcomm NPU (QAIRT) compute backend | | Dashboard and application backend | Mac | Coordinate snapshots, context resolution, translation requests, and word selection | | Dictionary lookup | Mac | Reviewed dictionaries, OEWN 2025, and the project glossary | ASR and LLM inference do not require internet access. The complete application spans the board and the Mac: dictionary lookup and dashboard/backend processing are performed on the Mac. Whisper Execution with ExecuTorch and the Hexagon NPU Ahead-of-Time Compilation Whisper is compiled ahead of time with ExecuTorch. The compiled artifact, whisper_qnn_fp16.pte, is loaded using _load_for_executorch(). QNN Backend and NPU Execution The runtime loads libqnn_executorch_backend.so and explicitly asserts that QnnBackend is available. When run_live_mic.py starts the ASR process, it configures: This configuration supplies the Qualcomm Hexagon runtime libraries used by the QNN/QAIRT HTP backend. In the described deployment, Whisper encoder and decoder inference execute on the Hexagon NPU rather than through CPU fallback. Host-side orchestration and token selection remain separate from NPU model execution. Token-Level Decoding live_board_audio.py implements manual token-level greedy decoding and branch decoding through repeated calls to: The decoding logic also computes no-speech probability and tracks 2-best branches. This logic produces the asr_alternatives and branch_position fields. Dictionary Lookup: Three Stages live_board_audio.py does not perform dictionary lookup. After ASR, it uses urllib.request to POST the recognized text to the configured backend endpoint: The URL above is preserved as configured; it should not be used on its own to infer the physical location of the backend. The dashboard/backend and dictionary logic described below run on the Mac, while Qwen inference runs on the board. 1. Before Translation: Ambiguity Resolution Small, reviewed regex-based dictionaries help resolve ambiguous words and phrases before translation: - context_catalog.SENSES: senses for ground, port, bank, and fixed - phrasal_lexicon.PHRASES: expressions such as make it Relevant call flow: dashboard_server.process_snapshot() calls /context/resolve as soon as a snapshot is frozen. These dictionaries provide deterministic rules for known ambiguities. Ambiguities not covered by the rules fall back to Qwen-based sampling. 2. Immediately After Translation: “Words worth keeping” After translation, the dashboard searches the full OEWN (Open English Wordnet) 2025 dataset and the project glossary, stored in SQLite, to suggest words worth saving. Call flow: This lookup supports vocabulary collection after translation. 3. During Word Selection: Knob-Based Word Exploration When the user turns the knob to explore words, the system first checks the small, reviewed dictionaries: - word_meaning.GLOSSES - word_meaning.FUNCTION_KO If no matching entry exists, it requests a meaning from Qwen running on the board. Call flow: The three lookup stages serve separate purposes: resolving ambiguity before translation, suggesting vocabulary immediately after translation, and explaining individual words during user-driven exploration. Polished Demo :

QualcommExecutorch

REM PhysicalAI

REM PhysicalAI

A robot that dreams itself better — a self-learning system for the Arduino Ventuno Q. Robots leave the factory and never learn again. REM PhysicalAI changes that. REM PhysicalAI is a self-improvement system that installs on a robot. Give a robot a way to act, a camera to see, and a computer to think — here, an Arduino Ventuno Q running ExecuTorch, 100% on-device — and it learns by itself: it commands an action, watches what happened, and relates the two. When nobody is using it, it dreams. In its dream it practices in simulation — standing, walking, falling, getting up — retrains its tiny models on the board, checks them, and keeps a new model only if it is actually better. It wakes up better than it went to sleep. A person can teach it too: show it a pose or a photo, and it learns that as well. Tonight it ran live at this hackathon: dozens of autonomous dream cycles, a pose taught by a human and relearned on the board in 25 seconds, a local Qwen3 voice that answers from the robot's own real state, and a camera that learned to recognize the robot under test from a handful of photos. No cloud anywhere. One system, many bodies: today it is tested on the Hiwonder PuppyPi, and the same engine runs on a $1 walker body. The intelligence lives inside the robot — where it should be.

ExecuTorch / PyTorchArduino Ventuno QQwen3-0.6B (ExecuTorch+3

On-device self-correcting runtime for deployed vision models

Self-correcting QC on the edge: sealed detector on the NPU, judged and retrained on the board Team Edgeble (Akhil Beeram, Aharone Routu, Buji Mamidipalli, Rithwik Beeram, Jagan Teki) Track: IoT, Arduino VENTUNO Q (Qualcomm Dragonwing IQ8 / QCS8275, Hexagon V75) Repo: (Apache-2.0) The problem A vision model on a production line is right on the day it is installed and wrong the day the lighting changes. A battery-terminal checker that reads good batteries as mismatched stops the line, and the fix today is a human, a laptop and a retrain somewhere else. We show the runtime correcting itself on the device: on the spot at the decision point, and over time by retraining the model's head on the board. What we built - Our own model. A YOLO11n detector trained on our 9 V battery data (four classes: positive, negative, and the two mismatch cases), exported with ExecuTorch 1.5.1 and the Qualcomm QNN backend as a sealed int8 .pte for the Hexagon NPU. ExecuTorch did not list this chip; we patched the chipset tables and found the QNN runtime that the board accepts. - A rig. A rotating ring with a stepper motor, a USB camera and three light strips on Modbus/RS485, so the lighting failure can be produced on demand. - edgeble-infer, our C/C++ inference engine, hosts the sealed program: camera, tracking, the gate that turns detections into GO/NG, the HDMI and browser view, and the hooks where the correction layer plugs in. ExecuTorch is the model runtime inside it, not a replacement for it. - The judge. At the decision point every terminal crop is compared, with the same frozen backbone the detector runs (a second sealed .pte on the NPU, 256-d), against a bank of examples the line confirmed in good light. A clear match flips the label in about 15 ms; an unclear one abstains. The model never judges itself. - On-device retrain. The trainable head of the same network is retrained on the board from the corrected frames, in minutes, checked for learning and forgetting, and hot-swapped with the old head kept for rollback. The sealed front on the NPU never changes. What we measured on the Q (2026-10-18) - Sealed inference: 9.5 ms per frame, 30 fps, 7% NPU, one CPU core, 259 MB. - Judge on the recorded mixed clip, same frames, same binary, two panes started together: model as installed 16 NG / 33 GO; with the judge 10 NG / 39 GO. Six false positives corrected, zero genuine mismatches lost. 77 verdicts: 46 confirmed, 22 abstained, 9 flips, 6 to 109 ms each. - On-device head retrain: end to end on the board (7.6 min for 930 frames); the recipe has not yet removed the lighting false positives on this model, and the README says so with the logs. Why ExecuTorch One PyTorch model, two sealed programs on the same NPU (detector and embedder), the trainable head exported as a separate program with its weights in a .ptd the device can rewrite, and a C++ runtime small enough to live inside our own engine. Correct now, fix forever, nothing leaves the device. Honest limits The judge's bank is built from the line's own good-light run; a new room needs that run first, until then the judge abstains. The self-correction architecture is Edgeble's, patent pending (India filed, US in progress); the procedure and the retrain recipe are not in the repository, the results, logs and code around them are.

**Hardware** - Arduino VENTUNO Q: Qualcomm Dragonwing IQ8 / QCS8275Hexagon V75 NPU8 cores+42

On-device self-correcting runtime for deployed vision models

edgeble

Self-correcting QC on the edge: sealed detector on the NPU, judged and retrained on the board Team Edgeble (Akhil Beeram, Aharone Routu, Buji Mamidipalli, Rithwik Beeram, Jagan Teki) Track: IoT, Arduino VENTUNO Q (Qualcomm Dragonwing IQ8 / QCS8275, Hexagon V75) Repo: (Apache-2.0) The problem A vision model on a production line is right on the day it is installed and wrong the day the lighting changes. A battery-terminal checker that reads good batteries as mismatched stops the line, and the fix today is a human, a laptop and a retrain somewhere else. We show the runtime correcting itself on the device: on the spot at the decision point, and over time by retraining the model's head on the board. What we built - Our own model. A YOLO11n detector trained on our 9 V battery data (four classes: positive, negative, and the two mismatch cases), exported with ExecuTorch 1.5.1 and the Qualcomm QNN backend as a sealed int8 .pte for the Hexagon NPU. ExecuTorch did not list this chip; we patched the chipset tables and found the QNN runtime that the board accepts. - A rig. A rotating ring with a stepper motor, a USB camera and three light strips on Modbus/RS485, so the lighting failure can be produced on demand. - edgeble-infer, our C/C++ inference engine, hosts the sealed program: camera, tracking, the gate that turns detections into GO/NG, the HDMI and browser view, and the hooks where the correction layer plugs in. ExecuTorch is the model runtime inside it, not a replacement for it. - The judge. At the decision point every terminal crop is compared, with the same frozen backbone the detector runs (a second sealed .pte on the NPU, 256-d), against a bank of examples the line confirmed in good light. A clear match flips the label in about 15 ms; an unclear one abstains. The model never judges itself. - On-device retrain. The trainable head of the same network is retrained on the board from the corrected frames, in minutes, checked for learning and forgetting, and hot-swapped with the old head kept for rollback. The sealed front on the NPU never changes. What we measured on the Q (2026-10-18) - Sealed inference: 9.5 ms per frame, 30 fps, 7% NPU, one CPU core, 259 MB. - Judge on the recorded mixed clip, same frames, same binary, two panes started together: model as installed 16 NG / 33 GO; with the judge 10 NG / 39 GO. Six false positives corrected, zero genuine mismatches lost. 77 verdicts: 46 confirmed, 22 abstained, 9 flips, 6 to 109 ms each. - On-device head retrain: end to end on the board (7.6 min for 930 frames); the recipe has not yet removed the lighting false positives on this model, and the README says so with the logs. Why ExecuTorch One PyTorch model, two sealed programs on the same NPU (detector and embedder), the trainable head exported as a separate program with its weights in a .ptd the device can rewrite, and a C++ runtime small enough to live inside our own engine. Correct now, fix forever, nothing leaves the device. Honest limits The judge's bank is built from the line's own good-light run; a new room needs that run first, until then the judge abstains. The self-correction architecture is Edgeble's, patent pending (India filed, US in progress); the procedure and the retrain recipe are not in the repository, the results, logs and code around them are.

**Hardware** - Arduino VENTUNO Q: Qualcomm Dragonwing IQ8 / QCS8275Hexagon V75 NPU8 cores+42

Pip: a robot head you can teach in seconds

Raisins

Pip is a small pan-tilt robot head on the Arduino VENTUNO Q that learns new objects on the spot. Hold up any object, press a button and say its name: Pip takes a few photos, learns it with no training step, and nods whenever it sees it again. Show it something unknown and it gives a curious look. Everything runs on the board, with no cloud. How it works: - Sees: DINOv2-small runs on the Qualcomm Hexagon NPU through ExecuTorch + QNN in about 5 ms per image. We wrote a custom export that keeps DINOv2's image features (no classifier) and calibrates quantization on photos from our own webcam. 16-bit activations kept accuracy high where 8-bit dropped to 0.81 similarity with the CPU model. - Learns: each object is stored as a few 384-number DINOv2 fingerprints and matched by nearest neighbor. An empty-scene baseline and mean-centering remove the background, and answers must be confident and stable before Pip reacts. - Hears: object names are transcribed offline with Whisper on the board's CPU, using the webcam mic. - Moves: two Feetech STS3215 servos give it body language: nod, shake, curious look, look around. - Dual brain: Modulino Buttons are read by the STM32 microcontroller and sent to Linux over the Arduino Bridge (A = learn, B = forget, C = pause). Along the way we solved several platform issues and documented them in the repo: ExecuTorch export paths for the board's system-wide QNN SDK, pinned packages that no longer existed, a startup race where the microcontroller registered Bridge functions before the Linux Router was listening, and MIPI camera support missing from the image. - NPU inference: about 5 ms per image for DINOv2-small (16-bit activations, 8-bit weights) - NPU vs CPU: DINOv2-small takes 6.3 ms per image on the Hexagon NPU (ExecuTorch + QNN, 16-bit activations, 8-bit weights) vs 684 ms in PyTorch on the board's CPU: 108× faster

QualcommArduino VENTUNO Q (Dragonwing IQ8 + STM32H5)ExecuTorch+8

Guardian

Guardian

Guardian: The camera that never blinks (private fall detection for seniors on Arduino VENTUNO Q) ExecuTorch Hackathon, IoT track. Guardian watches a room for falls, asks the person out loud whether they're OK, and alerts a family member's watch only if they stay down. It needs no wearable for the person at risk, and video never leaves the house. How it works: Cheap triggers on the CPU, always on: a loud thud on the USB camera's microphone, or motion followed by stillness in the camera view (what a fall looks like). NPU confirmation: each trigger wakes one InternVL3-1B check on the Hexagon NPU (ExecuTorch + QNN): "Is a person lying, sitting or collapsed on the floor?". Nobody on the floor means a false alarm, which is logged and ignored. Ask: the board's speaker says "Are you okay? … please get up". The NPU rechecks every 4 s. If the person gets up, the incident is cancelled. Alert: still down after 20 s, the family member's M5Stack StopWatch vibrates, beeps and shows the model's description. Tapping "I'm on my way" makes the board tell the person that help is coming. STM32 + Modulino Pixels show the state on the device itself. The microcontroller owns the light timing, a camera-on privacy light, and a fault light if the Linux app stops sending heartbeats. Brio camera ──frames──▶ motion-then-still (CPU) ─┐ Brio mic ─────audio──▶ thud detector (CPU) ──────┤ trigger ▼ FastAPI app on VENTUNO Q (state machine, care log) │ one stdin line per check │ Arduino Bridge (msgpack-RPC) ▼ ▼ qnn_multimodal_persistent (ExecuTorch) STM32H5 ──I2C──▶ Modulino Pixels │ QNN HTP / FastRPC ▼ Hexagon NPU: InternVL3-1B Board speaker ◀── espeak-ng / Piper (CPU) Family StopWatch ◀── Wi-Fi WebSocket ──▶ "I'm on my way" Caregiver page ◀── Camera aiming page ◀── States: MONITORING → VERIFYING (NPU looks) → CHECKIN (asks; 20 s, rechecks every 4 s) → ALERT (family watch). Pixels Meaning pixel 0 dim green monitoring; pixel 6 yellow = family watch offline amber sweep NPU is checking a trigger amber bar shrinking asking the person to get up (countdown run by the MCU) all red flashing family alerted (latched until they answer or the person gets up) pixel 0 blinking blue Linux app not responding (MCU heartbeat timeout) pixel 7 white camera is on Measured on the board (VENTUNO Q, QCS8275, QNN 2.49, ExecuTorch from the track archive) Metric Value InternVL3-1B load (once, kept warm) 7.9 s cold, 2.3 s cached One camera check (NPU) 0.9–1.5 s (prefill 0.86 s at 316 tok/s, decode 37 tok/s) Trigger → spoken check-in 2.7–2.8 s (sound trigger, including a 1.5 s settle) Trigger → family alert (person stays down) 22.5 s (20 s check-in by design) Person gets up → incident cancelled ≤ 6 s (NPU recheck every 4 s) Runner memory 574 MiB RSS Empty floor 1/1 "no" Person standing 5/5 "no" Doll lying on the floor 6/6 "yes": a known limitation, see below Person lying on the open floor (full body, mounted camera) 5/5 "yes", 1.1–2.4 s Thud while the person is standing rejected as a false alarm (NPU: "not lying down") Power cycle Guardian, the NPU runner and the STM32 app all restart on their own Known limitation: the 1B model treats a doll on the floor as a person, and stricter prompts made it worse (7/12). Guardian handles this in the system design instead: camera triggers need motion followed by stillness, so an object that has lain still all along never triggers a check. A real person also gets the spoken check-in before anyone is alerted. Models and runtime All are from the track's VENTUNO Q bundle (QCS8275, QNN). Use File Fall check InternVL3-1B_QCS8275_ctxt_1000/: .pte decoder, _vision_encoder_qnn.pte, _tok_embedding_qnn.pte, tokenizer.json Runner qnn_multimodal_persistent from ventuno_executorch_source.tar.gz (extracted to /git/executorch); loads the model once and serves one request per stdin line QNN runtime libqnn1, libqnn-dev, qnn-tools 2.49 from the Qualcomm Ubuntu PPA (ppa:ubuntu-qcom-iot/qcom-ppa) Speech espeak-ng (or Piper) on the CPU. These are not ExecuTorch models Preprocessing matches the exporter: 448×448 RGB, ImageNet mean/std, float32 NCHW, written to a .raw file (board/guardian/vision.py:preprocess). Repository Path What board/guardian/ Linux app: fusion.py (state machine), vision.py (NPU runner client), audio.py (thud detector), camera.py (capture + motion gate), bridge.py (router RPC), tts.py (speaker), store.py (hash-chained care log), app.py (FastAPI), static/ (caregiver and aim pages) board/tests/ 17 tests: state machine, runner protocol with a fake runner, bridge protocol, thud detector, full app flow board/tools/ fake_watch.py, capture_refs.py, bench_vision.py board/guardian.service systemd user service (starts at boot) mcu/guardian-mcu/ Arduino App for the STM32: sketch (guardian_set over Bridge, Pixels) watch/guardian_watch/ StopWatch firmware: the family alert Setup 1. Board (VENTUNO Q, Ubuntu 24.04) sudo add-apt-repository -y ppa:ubuntu-qcom-iot/qcom-ppa && sudo apt update sudo apt install -y libqnn1 libqnn-dev qnn-tools python3.12-venv espeak-ng tar -xzf ventuno_executorch_source.tar.gz -C # -> /git/executorch (track bundle) copy InternVL3-1B_QCS8275_ctxt_1000/ to /models/ git clone /guardian && cd /guardian/board cp config.example.toml config.toml # check camera/mic/speaker devices mkdir -p /.config/systemd/user && cp guardian.service /.config/systemd/user/ systemctl --user daemon-reload && systemctl --user enable --now guardian Open (caregiver page) and to point the camera at the floor. Device names: arecord -l (mic, e.g. plughw:1,0 for the Brio 101), wpctl status (speaker: pair a Bluetooth speaker or plug in a USB one; speaker = "default" uses PipeWire's default output). 2. STM32 + Pixels Plug the Modulino Pixels into the Qwiic port, then on the board: /guardian/mcu/deploy.sh # builds + flashes via arduino-app-cli arduino-app-cli properties set default /ArduinoApps/guardian-mcu # start at boot 3. Family StopWatch On a computer with arduino-cli, the M5Stack board package and the libraries M5Unified, WebSockets and ArduinoJson: copy watch/guardian_watch/config.example.h to config.h (Wi-Fi + board IP), then compile and upload for the StopWatch. Off-board rehearsal (laptop, all mocks) python3 -m venv .venv && .venv/bin/pip install -r board/requirements.txt cd board && ../.venv/bin/python -m pytest ../.venv/bin/uvicorn guardian.app:app --port 8000 # dashboard rehearsal buttons drive the flow Demo (about 2 minutes) False alarm: drop a bag near someone standing. The mic triggers and the Pixels sweep amber; the NPU sees nobody on the floor, so it goes back to green and the watch shows "False alarm". Fall: a teammate lies down on the mat. Guardian asks out loud, the Pixels count down, then the family watch buzzes with the model's description and the caregiver page shows the snapshot and latency. I'm on my way: tap the watch. The board says help is coming. Gets up: repeat, and stand up during the countdown. The NPU recheck cancels the incident. Privacy: "Pause camera" turns off the MCU's camera light. Privacy Camera frames and audio are processed in memory on the board and are not stored. Only the alert snapshot is kept (keep_snapshots = false disables it), in a local, hash-chained care log. Nothing is sent to the cloud.

Qualcomm

How's everything so far? (Hesf)

BearMetric

“How’s everything so far?” is a common question that servers ask guests while they’re dining at a restaurant. We thought a restaurant serving robot could take over this part of the dining experience. By monitoring guests’ glasses, the robot can identify when a glass is empty and ask if they would like a refill. When a guest requests a drink, the robot uses voice recognition to understand the request and respond accordingly. The system primarily relies on real-time visual analysis and speech recognition to provide a more attentive and seamless dining experience.

QualcommArduino VENTUNO QExecuTorch+7

2 more to explore

// Featured Talks [1]

Builders on what they are actually shipping.

Recorded talks, technical context, and the workflow behind real product work.

SPEAKER · TALK 01

Myf presentation

Speaker profile→TALK 01 / 01
// Judges [13]

Project feedback from experienced builders.

A huge thank you to our judges for volunteering their time and expertise to evaluate projects and provide feedback.

Interested in judging a future event? Apply to be a judge

// Sponsors.log

Companies backing the room.

[DIAMOND] 2

Qualcomm
Meta

[PLATINUM] 1

GitHub Copilot
// Prizes.log [1]

Recognized work.

Winner of the IoT Track

Meta AI Glasses + Arduino Uno Q + GitHub Copilot Pro+

Most impressive project wins

Winners:

Umit SamiUmit Sami

Join Our Next Event

Don't miss out on future events. Sign up to stay updated on upcoming hackathons and meetups.

View All Events