Firmware + PCB Engineer — Low-Latency Handheld Imaging Device
Worldwide
NDA required — it must be signed before any project details are shared or work begins. We're building a small, handheld dental imaging device that connects to a Windows PC over a single USB-C cable. A miniaturized camera streams live video to the PC (≥30 fps, ideally 60); the PC runs computer-vision processing and sends finished 160×160 RGB565 frames back to the device, which displays them on a 0.7″ round SPI TFT (GC9D01N). An initial version already exists from a previous phase — working display firmware and earlier PCB revisions — so you'll be building on and improving existing code and design, not starting from scratch. This is a two-phase, milestone-based contract: Phase 1 — Firmware proof of concept on off-the-shelf dev boards: get the camera streaming to the PC, set up two-way USB-serial (CDC) communication between the MCU and PC, and push the PC's 160×160 RGB565 frames to the SPI display at a sustained 60 fps with no dropped frames. Read the IMU (I²C) and buttons (GPIO), and measure and drive down end-to-end latency. Phase 2 — Compact custom PCB: move to SMD / bare-bones components (bare MCU, not a module) for a small, thin, handheld board integrating the display, USB hub, IMU, power, and USB-C. Key requirements: - Display must run at a sustained, uncompromised 60 fps — no dropped frames or tearing. - End-to-end latency (camera → PC → display) under 30 ms, ideally approaching 15 ms — this is the top priority. - Small, compact, comfortable handheld form factor. - Strong real-time imaging / video experience with tight latency and frame-rate budgets. - MCU firmware plus SPI/QSPI display driving with DMA. - USB-CDC serial protocol design (framed packets, CRC). - PCB design (KiCad or Altium) with SMD / bare-MCU (QFN) parts and clean USB routing. Components are flexible — the MCU, IMU, and camera can all be swapped for smaller or faster options if you can justify it. We especially need a heavily miniaturized camera, smaller than an OV5670-class module (open to your recommendations). Please confirm in your proposal that you're willing to sign an NDA, and answer the screening questions. Screening Questions 1. Tell us about a real-time imaging/video project where you hit a tight latency budget (ideally sub-30 ms). What was the target, how did you measure it, and how did you achieve it? 2. How would you push 160×160 RGB565 frames (~51 KB) to an SPI display at a sustained 60 fps? Show the math — what SPI clock / QSPI / DMA / buffering, and the per-frame time? 3. The camera feeds the PC at ≥30 fps but the display must hold 60 fps. How do you keep the display rate steady? Describe your buffering/pacing. 4. Describe a compact PCB you designed with SMD / bare-MCU (QFN) parts — how small, and how did you handle USB routing? 5. Are you willing to sign an NDA before we see details, and what's your rough timeline for the Phase 1 firmware proof?
$300.00
Fixed-price- ExpertExperience Level
- Remote Job
- Ongoing projectProject Type
Skills and Expertise
Activity on this job
- Proposals:5 to 10
- Last viewed by client:yesterday
- Interviewing:9
- Invites sent:30
- Unanswered invites:12
About the client
- CanadaCalgary5:54 AM
- $1K total spent18 hires, 0 active
Explore similar jobs on Upwork
How it works
Create your free profileHighlight your skills and experience, show your portfolio, and set your ideal pay rate.
Work the way you wantApply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
Get paid securelyFrom contract to payment, we help you work safely and get paid securely.
About Upwork
- 4.9/5(Average rating of clients by professionals)
- G2 2021#1 freelance platform
- 49,000+Signed contract every week
- $2.3BFreelancers earned on Upwork in 2020
Find the best freelance jobs
Growing your career is as easy as creating a free profile and finding work like this that fits your skills.
Trusted by