Embedded System Engineer

Il y a 14 heures

ØÙØØØ ØÙØÙØØØ, Casablanca (Dar el Beïda), Maroc Seed Consulting Temps plein

Main Skills:

  1. Embedded C/C++ programming
    Ability to write and maintain firmware for microcontrollers and real-time hardware control.
  2. Microcontroller experience
    Familiarity with platforms such as STM32, ESP32, AVR, ARM Cortex-M, or similar systems.
  3. Motion and control systems
    Understanding of stepper motor control, PWM, PID control, heaters, fans, sensors, and endstops.
  4. Communication protocols
    Knowledge of UART, SPI, I2C, CAN, USB, Ethernet, Wi-Fi, or RS-485.
  5. Firmware debugging
    Ability to debug using serial logs, oscilloscopes, logic analyzers, debuggers, and test firmware behavior.
  6. RTOS or bare-metal development
    Understanding of interrupts, timers, task scheduling, memory constraints, and real-time system behavior.

Responsibilities:

  1. Develop and maintain firmware for 3D printers.
  2. Integrate hardware components such as motors, heaters, fans, thermistors, probes, displays, and control boards.
  3. Improve machine safety and reliability through fault detection, thermal protection, watchdogs, and error handling.
  4. Support printer farm connectivity and stable communication between printers and management software.
  5. Debug embedded hardware and software issues, including firmware bugs, communication failures, and sensor errors.
  6. Maintain firmware documentation, including architecture, pin maps, configuration files, and update procedures.


Requirements

Typical Tasks:

  1. Write or modify firmware modules for motion control, heater control, fan control, sensor reading, and G-code handling.
  2. Configure printer firmware such as Marlin, Klipper, RepRapFirmware, or custom firmware.
  3. Test sensors and actuators, including endstops, thermistors, load cells, filament sensors, probes, motors, and heaters.
  4. Debug communication issues involving USB, UART, CAN bus, Wi-Fi, MQTT, serial protocols, and printer-to-server communication.
  5. Implement safety features such as thermal runaway protection, emergency stop, watchdog reset, and overcurrent handling.
  6. Support production firmware updates, including flashing tools, version control, release notes, rollback procedures, and configuration management.

Requirements: 
  • Candidates should have hands-on experience with 3D printing or similar hardware systems.
  • Candidate should be comfortable troubleshooting technical problems, documenting their work clearly, collaborating with cross-functional teams, and working in an iterative development environment.

The ideal candidates should also understand that our focus is not only on prototyping, but also on building reliable systems that can operate consistently across printer farms and production environments