2 months ago
Our client is looking for an experienced Firmware Architect/Embedded Firmware Engineer to lead and participate in designing, implementing, and supporting innovative IoT hardware which connects to the Cloud (AWS) for actionable water analytics with predictive insights on water management and monitoring water contaminants. This position will be based in our Texas office in San Antonio or our Northern California office in Milpitas.
- Drive the architecture for our Embedded Systems, working with our R&D, Hardware, and Portal teams to a robust scalable IOT system.
- Design and develop embedded firmware for the microcontroller and embedded microprocessor-based systems.
- Participate in the entire application development lifecycle, focusing on documenting, coding, testing, debugging and supporting various features.
- Use an Agile approach to write elegant, reliable, and self-documenting code
- Interface with low-level sensors and peripherals connected on I2C and SPI buses.
- Debug and fix hardware/software issues in MCU based systems
- Create engineering specifications and documentation
- Collaborate with Hardware, R&D, Cloud Software and QA team to understand integration and testing requirements
- Work effectively with cross-functional teams to ensure all issues related to design change are understood in advance of implementation.
- Desire and ability to thrive in a fast-paced and dynamic environment
- Excellent C/C++/Python programming skills with experience in MCUs and embedded system design and development (Familiarity with Eval boards and Kits .e.g. STM32 discovery,Nucleo-H7, X86 and aarch64 architectures)
- Extensive experience in debugging embedded systems and microcontroller peripherals including I2C/SMB, SPI, UART, ADC and DAC.
- Solid Understanding of ARM Cortex M0/M3/M4, STM32, and TI Tiva Series ARM microcontrollers.
- Strong hands-on skills in troubleshooting and debugging embedded Linux and Arduino based systems
- Good understanding of embedded databases. (couchdb, sqlite etc).
- Multi-tasking, multi-threading, and/or RTOS experience
- Experience with wireless communication techniques and associated protocols such as LoRaWAN, WiFi, BLE >4, or cellular communication (LTE and GSM)
- Familiarity with low power design practices for battery powered devices and optimizing power consumption for long lasting devices. Understanding of battery charging circuits.
- Ability to read and understand hardware schematicsKnowledge of Firmware Over-The-Air (FOTA) Updates
- Experience with security architecture such as TPM, HSM, TrustZone, TEE, eSE, etc. is a plus
- Knowledge of networking connectivity protocols such as TCP/IP, SSL, HTTP, MQTT, AMQP
- Familiarity with JSON or XML data formats for cloud-based data collection for services such as AWS IoT or Azure or GCPExperience with JIRA or other issue tracking software
- Experience working in an Agile development environment (Scrum/XP)Experience with unit testing and unit testing frameworks/tools such as pytest, Unity, CMock, and Ceedling
- Excellent documentation practices and communication skills
- Commitment to maintaining project schedules and delivering tasks on time
- Minimum BS degree in Electrical or Computer Engineering with 3+ years working as Embedded Firmware/Software Engineer