Ethereal Machines
Website:
etherealmachines.com
Job details:
Role OverviewWe are looking for a skilled Firmware Engineer to design, develop, and maintain embedded firmware for custom hardware platforms used in CNC controller systems. The ideal candidate will have strong experience in real-time systems, hardware bring-up, and communication protocols, along with a solid understanding of embedded Linux workflows.
Key Responsibilities- Design and develop embedded firmware for custom boards used in CNC controllers
- Work with FreeRTOS for real-time application development
- Implement and debug communication protocols such as UART, SPI, I2C, CAN, and Serial interfaces
- Develop and integrate CAN-based communication systems (mandatory)
- Work on board bring-up, hardware validation, and debugging at the system level
- Collaborate with hardware engineers during schematic and PCB design phases
- Optimize firmware for performance, memory usage, and reliability
- Debug low-level issues using tools like oscilloscopes, logic analyzers, and debuggers
- Develop and maintain documentation for firmware and system design
- Follow a Linux-based development workflow (build systems, toolchains, scripting, etc.)
Required Skills & Qualifications- 3+ years of experience in embedded firmware development
- Strong proficiency in C/C++ for embedded systems
- Hands-on experience with FreeRTOS (mandatory)
- Strong experience with CAN protocol (mandatory)
- Strong understanding of serial communication protocols (UART, SPI, I2C)
- Proven experience in board bring-up and hardware debugging (mandatory)
- Experience working in a Linux development environment
- Familiarity with cross-compilation, build systems (Make/CMake), and debugging tools (GDB, OpenOCD, etc.)
- Familiarity with version control systems (Git)
- Solid understanding of embedded systems fundamentals (interrupts, timers, memory, peripherals)
Preferred / Good to Have
- Experience with Ethernet (TCP/IP stack, embedded networking)
- Exposure to industrial communication protocols or CNC/motion control systems(EtherCAT, Profinet)
- Experience with bootloaders, firmware update mechanisms
- Knowledge of scripting (Python, Bash)
Click on Apply to know more.