- Hands-on embedded C skills (mandatory)
- Experience with any microcontrollers MCU (mandatory) – Renesas/ Infineon/ Cypress/ ST-Micro /TI / Microchip
- Experience with any of peripherals & communication protocols usage in application development (mandatory) – UART, I2C, SPI, I2S, CAN, USB, ADC, DAC, EEPROM, Flash memory
- Experience with any RTOS – FreeRTOS, Azure RTOS, ThreadX
- Experience with any networking & connectivity modules (preferred & added advantage) – Ethernet, WiFi, BLE, MQTT, COAP

Similar jobs
Requirements:
- Very good programming knowledge in C/C++
- Experience in Multi-threaded software development
- Understanding of operating systems concepts, system performance, and optimization
- Familiar with working in an Embedded Linux development environment.
- Excellent problem-solving/debugging skills, design, development, troubleshooting, and debugging
- Knowledge of embedded tools like emulators, linkers, makefiles, etc
- Experience in voice applications development, preferably on client/server platforms
- Knowledge of RTOS programming will be added advantage.
- Understanding of different processors. microcontrollers architectures.
- Familiarity with development tools such as GCC, GDB, Eclipse, GNU Make, etc
Responsibilities:
· Collaborate with cross-functional teams, including hardware engineers, system architects, and product managers, to define software requirements and specifications for embedded systems.
· Design and develop efficient, reliable, and scalable embedded software solutions that meet the defined requirements.
· Write, test, and debug code in programming languages commonly used for embedded systems, such as C, C++, and assembly language.
· Interface with hardware components, such as sensors, actuators, microcontrollers, and communication interfaces (UART, SPI, I2C,CAN etc.).
· Develop and implement device drivers, firmware, and low-level software to control hardware peripherals.
· Participate in code reviews to ensure code quality, maintainability, and adherence to coding standards.
· Perform unit testing, integration testing, and system testing of the embedded software.
· Analyse and optimize system performance, memory usage, and power consumption.
· Collaborate with the quality assurance team to identify and resolve software defects.
· Stay up-to-date with industry trends, tools, and technologies related to embedded systems and software development.
· Document software design, code, and test procedures for internal and external use.
· Provide technical support to other teams during product integration, testing, and deployment.
Qualifications:
· Bachelor's or Master's degree in Computer Engineering, Electrical Engineering, or a related field.
· Proven experience in embedded software development, including designing, coding, testing, and debugging.
· Proficiency in programming languages such as C and C++.
· Familiarity with Embedded C, 32-bit microcontroller,16-bit microcontroller hardware interfaces.
· Knowledge of real-time operating systems (RTOS) and multi-threaded programming.
· Strong problem-solving skills and ability to troubleshoot complex hardware-software interactions.
· Excellent communication skills and the ability to work effectively in a team.
· Familiarity with communication protocols (UART, SPI, I2C, CAN, Ethernet) is desirable.
· Knowledge of security considerations in embedded systems is an advantage.
Location: Chennai
At BrainAlive, we develop next-generation BCI technologies that transform how humans use biosignals. We build devices and systems that allow you to develop a crisp, conscious understanding of your physiology, especially relating to your cognitive and emotional abilities. With a mission is to become the innovation leader in the area of Brain-Computer Interface (BCI), we are building our reputation as the industrial powerhouse in BCI applications in the education and healthcare space.
Role - Embedded Firmware Engineer – II (Brain-Computer Interface)
As an Embedded Firmware Engineer at BrainAlive, you will have the opportunity to pioneer, develop and build out our footprint in consumer hardware. You will build and launch smart BCI wearables and other related products in line with BrainAlive's ambitious and visionary objectives. Your primary focus will be to enhance the efficiency, stability and scalability of hardware system resources. We need you to be versatile, display leadership qualities and be enthusiastic to take on new problems as we continue to push technology forward.
- Develop codes for utilising various hardware and capabilities built into a microcontroller, such as ADCs, timers, RTCs, power-saving and sleep modes, etc
- Perform debugging and provide technical support to the service team
- Participate in requirements analysis and collaborate with internal teams to produce firmware design and architecture
- Revise, update, refactor and debug code
- Drive peer reviews and peer testing across different modules developed
- Develop documentation throughout the product development life cycle
- Serve as an expert on applications and provide technical support
Required Qualification
- Bachelor Degree in Electronics / Electrical Engineering or Computer Science or related field
- 3+ years of experience in Microcontroller programming
- Experience in developing codes for the effective functioning of communication protocols such as UART, SPI, I2C, etc.
- Experience with hardware debugging tools and interface like JTAG, SWD
- Experience with BLE and USB protocols
- Highly experienced in developing and debugging in embedded C/C++, RTOS
- Product development experience with 32-Bit STM ARM Microcontroller Architectures
- Familiarity with source control management software (SVN, Git)
Preferred Qualification
- Experience at handling huge codebases and designing of multi-layered architectures
- Experience in optimisation of Microcontroller codes for specific goals like power efficiency, very low response times, memory space optimisations.
- Deep understanding of microcontroller's architecture and its working
- Experience in prototype bring-up and debugging, functional verification and manufacturing support
- Prior Brain-Computer Interface Device development experience
- Excellent troubleshooting and communication skills
Role and Responsibility:
Developing firmware for robust embedded system devices
Active involvement in designing architecture, communication protocols & selection of technology.
Designing test cases and active participation in testing
Team building and grooming new members.
Candidate Skill Set:
Thorough knowledge and hands on experience of Embedded C programming.
Experience of firmware development on multiple microcontroller families like AVR, MSP430, STM32,
Renesas, etc.
Strong programming & debugging skills.
Knowledge of IDE’s like Keil, AVR Studio, IAR, Cubesuit will be an added advantage.
Hands on experience of working on wireless communication (BLE, Wi-Fi, Zigbee, LoRa, GSM/ GPRS)
Qualification:
A team player with excellent analytical, problem-solving skills, with strong ability to quickly learn.
Passion for developing products with new technologies.
Bachelor's/ master’s degree in electronics related discipline or equivalent experience
Experience of 1-3 years
- 32-bit Microcontroller knowledge is essential (ARM Cortex based micro-controllers (STM32).
- Esp32 architecture knowledge is essential.
- Strong experience in C, C++, Free-RTOS
- Strong experience in CUBEMX IDE, MDK Version 5 – Keil, Arduino IDE environment
- Good knowledge in HW and communication protocols like CAN, SPI, UART, I2C, USB
- Good knowledge in TFT Displays and Sensors is added advantage
- Good knowledge of implementation of motor controls as required, pulse width modulation schemes (PWM).
- Good knowledge of power electronics (TRIACs, MOSFETs, IGBTs, gate drivers) and require protections (Over/under voltage/current).
- Document firmware designs, specifications, test plans, revisions and produce test reports
Role: Functions Developer (Embedded c - Algorithm / Driving Functions Development)
Location: Hyderabad
Duration:Fulltime
Job Description:
- Design and development of automotive feature/function software/components (ACC, AEB, TSR, LKA etc.) for ADAS/AD systems
- Coordination and regular interaction with different stakeholders and teams like testing, requirements, leads etc.
- Participate in SW requirement generation, SW architecture, detailed design etc.
Requirement:
- 3-7 years of experience in development of Algorithm & Functions for advance driver assist systems (ADAS), Autonomous driving (AD)
- Development experience with safety critical systems
- Experienced in development using MATLAB Simulink, TargetLink, Stateflow
- Experience in modelling and validation of control systems
- Knowledge of SIL, Performance Test, Functional testing
- Embedded software development using C, C++
- Issue management and version control
- Knowledge of ASPICE processes, Static analysis, MISRA checks etc.
- Strong written and verbal communication skills
- Proactive approach for problem solving
Good to have:
- Knowledge of ADAS/AD functions (ACC, TSR, AEB, LCA etc), Data Analysis
- Experienced in managing and authoring of function specification requirements
- Familiarity with AUTOSAR RTE
Nice to have:
- AUTOSAR, Functional Safety (ISO26262) exposure
- Scripting Knowledge - Python, MATLAB
- Working knowledge of automotive protocols like CAN, Ethernet etc.
|
|
|
You would be part of:
- Designing/Improvement of new/existing architectures of distributed computing with subcomponents of Unmanned Aerial Systems (UAS).
- Working/Researching with industrial state of the art sensor systems and modules, and developing drivers (HAL or wrapper) and applications around their usage.
- Design and implementation of communication protocols between different subcomponents of UAS for distributed computing.
- Writing Applications and Drivers from the scratch for (embedded)linux based systems.
- Scripting and automations around work flows of UAS usage.
- Working with existing sophisticated software stacks of subcomponents of UASs.
- Working closely with electronics, design and systems teams for architecture development and deployment.
- Working closely with Flight Controller engineers to do collaborative development of UAVs.
We expect you to be:
- Experienced in hands-on development of complex embedded systems involving multiple microcontrollers or SoCs.
- Very good in analytical abilities to be able to do core research and development activities.
- Able to write low level drivers (wrapper or core) from the scratch.
- Very comfortable reading and understanding datasheets and reference manuals of microcontrollers, peripherals, sensors etc.
- Able to understand existing complex embedded software stack written in C/C++.
- Solid in C.
- Good in C++.
- Comfortable with using hardware debuggers.
- Having Hands-On experience with RTOS concepts like scheduling, threads synchronicity , race conditions etc.
- Having Solid understanding of interrupt mechanisms.
- Experienced in working with different hardware protocols like SPI, I2C, UART, PWM, CAN, USB etc.
- Having Solid understanding of interrupts architecture of ARM based microcontrollers like STM32, LPC etc.
- Having Good understanding of the concept of bootloaders.
- Able to multitask.
- A self-motivated and motivating personality who can work well independently as well as part of a team
- Having good interpersonal and soft skills who can adapt to the work environment while manifesting a good positive attitude
You are awesome if you are:
- Experienced in Linux Device Driver development.
- Having good exposure of working on and understanding of any sensor modules like GPS, LIDAR etc.
- Experienced in data filtering techniques (Example: Kalman filter)
Summary:
The embedded systems engineer designs, develops, tests, and maintains embedded systems. The engineer will identify and fix issues and work collaboratively with engineers, product managers, and others on various teams.
Responsibilities:
- Design and build embedded systems, including embedded system firmware
- Test and debug the systems
- Monitor and maintain the system after development
- Improve system efficiency and stability after development
- Collaborate with customers to create systems based on their needs
Requirements:
- Minimum of a bachelor's degree in computer science or engineering
- Professional experience in embedded systems
- Significant programming experience in C or C++
- Experience in trouble-shooting embedded systems and microcontroller peripherals
- Experience in working in real-time operating systems
- Experience in interfaces, IP protocols, and hardware subsystems
- Proficiency in working with common embedded systems communication protocols
- Strong interpersonal and writing skills
- Ability to work as part of a team
- Exceptional analytical and problem-solving skills
- Self-motivated and passionate about your work and embedded systems
- Always eager to learn and improve
ORGANIZATION
Launched in 2014, Oxit has continually focused on true innovation in IoT services through the creation
of solutions and products for an adaptive global business marketplace. Our diverse list of clienteles,
ranging across a multitude of industries, has grown to recognize and trust Oxit in partnering in all
aspects of Smart Technology capabilities from designing to prototyping, development and carefully
launching their ideas
ROLE
Proficient in connected objects, an IoT embedded engineer develops innovative solutions that help
users to receive, control and manage information.
Conceptualizing, designing, developing, & managing IoT end devices, middleware, interfaces, and
connectivity
RESPONSIBILITIES
PRIMARY RESPONSIBILITIES
● Analyze, discuss and understand user/business requirements
● Translate business requirements to optimizer solutions, system & firmware specifications
● Design & Implement firmware/software as per specifications and conduct unit tests
● Managing & building end devices and middleware (Gateway development)
● Connectivity solutions, protocol implementation, stack development (ex: Lora)
● Perform integration, acceptance tests, troubleshooting, and debugging
● Work in collaboration with other team members, leadership, and other departments towards
solution implementation and delivery
● Adhere to organization/project process standards and guidelines
● Handling internal (team, departments, and leadership) and external (customers & partners)
interactions
● Collaborate with and support Hardware team towards HW design & development
● Collaborate with and support Software team towards backend development, API definition &
interfacing, Mobile, Cloud, & Web application definition
SECONDARY RESPONSIBILITIES
● Researching, creating, and testing IoT solutions
● Designing platform solutions that are cloud-compatible and work with IoT applications
● Providing solutions to issues related to the connection of networks and platforms
● Contribute to improving quality, accelerating development and deployment - process improvement
and tools improvement
● Showcase ability to play different Agile roles and manage small teams
● Supporting management with client interactions and at times leading it
SKILLS
PRIMARY SKILLS
● Hands-on programming experience in C/C++/Python in Embedded/IoT environment
● Good working knowledge of Linux internals & application development
● Good working experience of RTOS & bare metal programming
● Hands-on experience in device driver development
● Hands-on experience with protocol implementation (wired & wireless)
● Experience in executing projects in an Agile/Waterfall model
● Exposure to Gateways, web/cloud computing technologies, APIs, sockets, & related tools
● Exposure to JavaScript, Node.js, and typescript is an added advantage
● Proficient in C, C++, and Python programming, Java script added advantage
● Good understanding of Linux internals, Linux System programming, and application development
on Linux
● Hands-on experience with Container technologies (LXD, Docker and/or Kubernetes)
● Working knowledge and experience implementing FUOTA, Device management
● Working knowledge of Security - Encryption, Decryption, Flash management
● Working knowledge of Web architecture, Interfacing (APIs, MQTT, etc.)
● Hands on experience with Yocto, Ubuntu Core
● Experience with R Pi or similar platforms
● Working Knowledge and experience with LoRaWan on both Gateway and Devices
● Prior experience working on IoT Gateways
SECONDARY SKILLS
● Firm understanding of IoT architecture and principles
● Knowledge of device and data security
● AWS or related cloud architecture, tools & setup, API development
● LoRa stack experience, Network gateway functionality, networking: TCP/IP, DNS, DHCP, HTTP
● ESP32 architecture, Free-RTOS experience
● Work and collaborate well with others
● Strong communication skills
● Strong analytical and problem-solving skills
WORK ENVIRONMENT
● Minimum 3 years of prior experience
with embedded, firmware, & IoT
● Available full time (40 hours a week)
● Remote working infrastructures
● Flexible remote work (work from
anywhere)
● Certain overlap with EST business hours
● Full time (Mon-Fri, 8 hrs/day)
● Agile way of working & mindset
● Team work, frequent interaction &
collaboration with team & leadership
● Collaborations & meetings through
video conferencing
● Friendly & collaborative environment
Job Description
Embedded Software/Firmware Design and Development on OS/Non-OS based platform
Necessary system architecture development and implementation
Device, sensor and gateway selection and integration based on industry use case.
Development on Image Analytics and Cloud/Platform integration
Development or integration of Cloud/Platform communication protocol
Technical Documentation and Testing of the developed system
Desired Skills, Knowledge& Experience
B. Tech/M. Tech/MCA with 8-10 years of industry experience
Strong programming skills in C/C++ and Python development in Linux
Experience in device or sensor communication interfaces (wired/wireless, short range/long range).
Experience of microcontroller and microprocessor.
Knowledge of IoT gateway firmware development, container, and OS hardening.
Experience in device communication protocol, Edge computing and processing
Competent in application development for Image processing, transmission, and storage
Good understanding and of programming primitives, data structures, multi-threading and memory management techniques
Strong command over complex sensor and hardware control logic to work seamlessly with edge devices or gateway
Proactive and Self motivated
Strong verbal and written communication skill









