Differences

This shows you the differences between two versions of the page.

Link to this comparison view

iothings:hackathon [2026/04/02 13:03]
dan.tudose [4.4 Flash Sparrow over USB]
iothings:hackathon [2026/04/02 13:31] (current)
dan.tudose [4.4 Flash Hacktor over USB]
Line 111: Line 111:
  
  
-===== 3. Pick a Zephyr “board target” for Sparrow ​=====+===== 3. Pick a Zephyr “board target” for Hacktor ​=====
  
 Hacktor is **not** (yet) an upstream Zephyr board (maybe you could help with that?), so we need a compatible Zephyr board definition to build/flash a first image. Hacktor is **not** (yet) an upstream Zephyr board (maybe you could help with that?), so we need a compatible Zephyr board definition to build/flash a first image.
Line 235: Line 235:
  
  
-==== 4.3 Build the application ​(HP core) ====+==== 4.3 Build the application ====
  
 Activate your Python venv first if it isn’t active: Activate your Python venv first if it isn’t active:
Line 372: Line 372:
  
  
-==== 4.4 Flash Sparrow ​over USB ====+==== 4.4 Flash Hacktor ​over USB ====
  
-Connect ​Sparrow ​over USB‑C.+Connect ​Hacktor Watch over USB‑C.
  
 Then build and flash by running: Then build and flash by running:
Line 388: Line 388:
 Clone https://​github.com/​dantudose/​Hacktor_Basic Clone https://​github.com/​dantudose/​Hacktor_Basic
  
-This is a more advance ​example and the starting point of your tutorial. It initializes the watch'​s display and touchscreen,​ imports the LVGL graphic library and builds a simple interactive app. Also, it initializes the shell, so you have a basic command line interface over the serial port.+This is a more advanced ​example and the starting point of your tutorial. It initializes the watch'​s display and touchscreen,​ imports the LVGL graphic library and builds a simple interactive app. Also, it initializes the shell, so you have a basic command line interface over the serial port
 + 
 +The project currently does four things: 
 + 
 +  * routes the Zephyr console and shell to the ESP32-S3 native USB serial/JTAG port 
 +  * initializes a GC9A01 240x240 round LCD over SPI3 
 +  * initializes a CST816T-style touch controller on I2C 
 +  * runs a minimal LVGL UI that shows Hello!, touch coordinates,​ and a touch indicator dot 
 + 
 +Build the project and upload it with: 
 +<code bash> 
 +./build.sh --upload --port /dev/xxx 
 +</​code>​ 
 + 
 +You should see the screen display the hello message, the touch screen interaction and the ''​hacktor:​~$''​ shell prompt. Type ''​help''​ for a list of commands. 
 + 
 +===== 6. Hackathon projects ===== 
 + 
 +The goal of the hackathon is simple: 
 + 
 +  * build a useful, fun, or technically impressive smartwatch app 
 +  * use the above starter project as the base 
 +  * demo the app running on real watch hardware at the end of the event 
 + 
 +Participants should focus on binging up watch hardware, contributing to the Hacktor Zephyr port and building a single polished app, not a full smartwatch operating system. 
 + 
 +==== Suggested Projects ==== 
 + 
 +This is just a list of ideas to get you started. They are purely for orientation purposes, you can choose to implement them or you can propose a totally different project. 
 + 
 +=== 1. Fitness Tracker === 
 + 
 +  * **Difficulty:​** Medium 
 +  * **Main hardware:** IMU, display, touch, haptics, fuel gauge 
 +  * **Core idea:** Count steps, estimate activity level, and show progress toward a daily goal. 
 +  * **Minimum viable demo:** Step counter, distance estimate, calories estimate, daily goal ring. 
 +  * **Stretch goals:** Auto-walk detection, inactivity reminders, workout mode, local history, sync with a mobile app. 
 + 
 +=== 2. Watchface Studio === 
 + 
 +  * **Difficulty:​** Hard 
 +  * **Main hardware:** display, touch, battery gauge, BLE optional 
 +  * **Core idea:** Build custom watchfaces with selectable themes and complications in a web app. Upload these watchfaces to the watch. 
 +  * **Minimum viable demo:** At least three watchface styles with time, battery, and date. 
 +  * **Stretch goals:** Animated watchface, gesture wake, synced phone weather, editable layouts. 
 +  
 + 
 +=== 3. BLE Phone Companion === 
 + 
 +  * **Difficulty:​** Medium to Hard 
 +  * **Main hardware:** BLE, display, touch, haptics, speaker optional 
 +  * **Core idea:** Connect to a phone app and exchange useful data. 
 +  * **Minimum viable demo:** Phone connects over BLE and sends notifications or simple text messages to the watch. 
 +  * **Stretch goals:** Music controls, find-my-phone,​ phone battery sync, quick replies. 
 + 
 +=== 4. Gesture Remote === 
 + 
 +  * **Difficulty:​** Medium 
 +  * **Main hardware:** IMU, BLE or Wi-Fi, haptics 
 +  * **Core idea:** Use wrist gestures to control another device. 
 +  * **Minimum viable demo:** Recognize 2-3 gestures and map them to actions such as next slide, previous slide, play/pause, or camera shutter. 
 +  * **Stretch goals:** Calibration mode, gesture training, context-aware control modes. 
 + 
 +=== 5. Pomodoro / Focus Coach === 
 + 
 +  * **Difficulty:​** Easy 
 +  * **Main hardware:** display, touch, haptics, speaker optional 
 +  * **Core idea:** Help the user stay focused with work/break cycles. 
 +  * **Minimum viable demo:** Configurable timer, session progress, vibration alert at timer end. 
 +  * **Stretch goals:** Habit streaks, productivity stats, distraction tracking, BLE sync to a phone. 
 + 
 + 
 +=== 6. Voice Memo Watch === 
 + 
 +  * **Difficulty:​** Hard 
 +  * **Main hardware:** microphone, speaker, flash, PSRAM, touch 
 +  * **Core idea:** Record and play short voice notes directly on the watch. 
 +  * **Minimum viable demo:** Record, save, list, and replay short clips. 
 +  * **Stretch goals:** Compression,​ timestamps, BLE export to phone, keyword tagging. 
 + 
 +=== 7. Fall Detection / Safety Alert === 
 + 
 +  * **Difficulty:​** Hard 
 +  * **Main hardware:** IMU, haptics, BLE 
 +  * **Core idea:** Detect a likely fall and trigger an alert flow. 
 +  * **Minimum viable demo:** Simulated fall detection with on-watch confirmation and BLE alert message to a phone app. 
 +  * **Stretch goals:** Motion confidence scoring, inactivity follow-up, emergency contact workflow. 
 + 
 +=== 8. Sleep / Restlessness Tracker === 
 + 
 +  * **Difficulty:​** Medium 
 +  * **Main hardware:** IMU, fuel gauge, display 
 +  * **Core idea:** Track overnight movement and estimate sleep quality. 
 +  * **Minimum viable demo:** Movement logging, simple sleep score, timeline of motion intensity. 
 +  * **Stretch goals:** Smart wake-up window, sleep trends, nap mode, phone sync. 
 + 
 +=== 9. TinyML Activity or Keyword Detector === 
 + 
 +  * **Difficulty:​** Hard 
 +  * **Main hardware:** IMU or microphone, PSRAM, flash, display 
 +  * **Core idea:** Run a lightweight ML model on-device for activity classification or keyword detection. 
 +  * **Minimum viable demo:** Recognize a few gestures, motions, or spoken keywords and react in the UI. 
 +  * **Stretch goals:** User training data collection, confidence metrics, low-power trigger mode. 
 + 
 +=== 10. IoT Dashboard / Smart Home Controller === 
 + 
 +  * **Difficulty:​** Medium 
 +  * **Main hardware:** Wi-Fi or BLE, display, touch, haptics 
 +  * **Core idea:** Turn the watch into a compact controller for sensors or smart-home devices. 
 +  * **Minimum viable demo:** Show live values such as temperature,​ light, or room status, and toggle at least one remote action. 
 +  * **Stretch goals:** Home Assistant integration,​ quick scenes, secure pairing, offline cache.
iothings/hackathon.1775124228.txt.gz · Last modified: 2026/04/02 13:03 by dan.tudose
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0