Embedded Firmware Developer — Sports Wearable
Budget: $35.0 - $60.0
HOURLY / NOT_SURE
⭐ 0.00 (0)
South Africa
embedded-c, firmware
Embedded Firmware Developer — Sports Wearable Johannesburg
Based in Gauteng or willing to travel for pool testing sessions
Swimfast Technologies is a South African (Johannesburg) -based startup building a wearable training device for swimmers. We need a firmware developer to rework the detection algorithm on a working hardware prototype.
The device is palm-mounted, uses a 6-axis IMU on an 8-bit AVR microcontroller, and provides real-time haptic feedback during swimming. The hardware works. The sensor reads data correctly. The motor can be felt underwater. What needs rebuilding is the logic that decides when to fire the motor — the current approach compares total acceleration magnitude to a synthetic reference curve and does not correlate reliably with the swimmer's actual technique.
We have a detailed developer brief backed by published biomechanics research, a clear algorithm design, and defined acceptance criteria. This is a scoped rewrite.
What you'd be doing:
Modifying existing firmware to log raw 6-axis sensor data for a pool capture session
Running a short bench test to confirm IMU axis mapping (which axis corresponds to palm orientation on the board)
Analysing captured data in Python to identify signal patterns that distinguish good technique from bad
Rewriting stroke phase detection and the core EVF detection logic (~200–300 lines of C) to use per-axis orientation monitoring instead of the current magnitude-only approach
Removing dependency on the synthetic reference curve;
Ensuring technique feedback works even when stroke cadence varies (not gated on steady cadence)
Adjusting feedback timing so vibration fires during the catch/pull phase of the stroke, not at the next stroke boundary
Iterative pool testing with the product owner as test swimmer, tuning thresholds against real feedback
Note: MVP is accelerometer-led. Gyro-based enhancement is optional if time allows within the contract.
What you're working with
AVR64DD28 microcontroller (8-bit, 64KB flash, 8KB RAM, 8MHz)
Bosch BMI323 6-axis IMU (accelerometer + gyroscope) over SPI at 100Hz
Arduino IDE / Arduino CLI with DxCore board package
Existing firmware with working SPI driver, non-blocking vibrator state machine, deep sleep with interrupt wake, LED control
Serial debug output at 115200 baud
Programming via UPDI
GitHub repo with firmware history and Python reference tooling (Swim1.py)
What we're looking for
Must have:
Experience writing embedded C on AVR, PIC, STM32, or similar 8-bit/32-bit microcontrollers (comfort on resource-constrained 8-bit targets is important)
Proven experience turning real-world IMU data (accelerometer and/or gyroscope) into reliable on-device detection or feedback logic
Python skills for data analysis and plotting (matplotlib, numpy)
Experience with SPI or I2C sensor communication (our SPI driver exists; you will extend and debug as needed)
Comfortable reading datasheets when debugging sensor or timing issues
Based in Gauteng or willing to travel for pool testing sessions
Available for 4–6 weeks starting as soon as handover hardware is received
Nice to have:
Experience with Bosch IMU sensors (BMI160, BMI270, BMI323)
Background in signal processing or biomechanics
Experience with DxCore or the AVR DD-series
Previous work on wearable or sports technology products
Familiarity with motor learning or haptic feedback research
Not required:
Swimming knowledge (we'll handle the domain expertise)
Mobile app development
PCB design or hardware engineering
Cloud, Bluetooth, or wireless experience
How we work
This is a hands-on, iterative project. You'll modify firmware, we'll test it in a pool, you'll review the data, adjust, and repeat. The product owner is an experienced open water swimmer and coach who can reliably produce good and bad technique on demand. You won't be guessing whether it works — you'll have a live human test system giving immediate feedback.
We have a developer brief with full hardware specs, pin mappings, the algorithm design, relevant research papers, and pass/fail acceptance criteria ready to hand over on day one.
Timeline and budget
4–6 weeks, paid contract. We're a self-funded startup with a seed round in progress. We'll discuss rates once we've had a conversation about scope. This is paid contract work — not a spec-only or equity-for-labour arrangement.
Your CV (PDF preferred)
A short note (half a page is fine) covering:
Your embedded firmware experience
One example of a project where you worked with sensor data on a microcontroller — including how you calibrated or validated detection in real conditions
Your availability (start date) and hourly or fixed project rate
If your background fits, we'll set up a call and share the full developer brief before you commit
Auf Upwork öffnen