DevJobs

Embedded FPGA + C Programmer

Overview
Skills
  • Python Python
  • Shell Shell
  • C C
  • ESP32
  • FPGA
  • GPIO
  • interrupts
  • MIPI
  • RTOS
  • SPI
  • STM32
  • UART
  • watchdogs
  • ESP-IDF
  • HTTP
  • HTTPS
  • MQTT
  • Quectel
  • SIMCom

About the Project

We’re developing a standalone, battery-powered outdoor device featuring an ESP32 and camera module (controlled via ESP32 or direct UART/SPI commands).

The goal: build a stable, resilient cellular connection to our server and ensure reliable image capture and transfer — all under strict low-power constraints.

What You'll Do

  • Develop firmware for the ESP32 microcontroller to manage system modules.
  • Implement camera control and capture pipelines, ensuring robust image handling.
  • Build a battery-aware upload pipeline with efficient sleep/wake policies.
  • Manage storage durability (wear leveling, quotas) and system watchdogs.
  • Integrate structured logging and field diagnostics for remote monitoring.
  • Collaborate closely with the hardware and FPGA teams to refine system performance.

Must-Have Experience

  • Strong proficiency in C for microcontrollers (ESP32 / ESP-IDF / STM32).
  • Hands-on experience with RTOS environments.
  • Deep understanding of MIPI camera modules (sensor init, capture pipeline, trigger/stream via ESP or direct commands, basic image buffering/storage).
  • Proficiency with UART/SPI, GPIO, interrupts, and watchdogs.
  • Experience integrating FPGA with microcontrollers and peripheral systems.

Nice to have

  • Python or Shell scripting for build/test automation and log parsing.
  • Experience with Quectel or SIMCom cellular modems.
  • Familiarity with MQTT/HTTP(S) protocols, telemetry, remote diagnostics, and A/B OTA updates.
  • Basic image compression/formatting and fail-safe upload queue implementation skills.

Why Join Us

You’ll work on a cutting-edge embedded vision system that blends low-power design, connectivity, and real-time imaging.

If you enjoy solving complex integration challenges and pushing the limits of embedded systems — we’d love to hear from you.

Mechanical Devices