
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

About BrainAlive Research Pvt Ltd
About
At BrainAlive, we believe in data that facilitates new ways of understanding human engagement. We are the first company to combine neuroscience and computer vision to detect, reason and determine the causality of human engagement, as we inform the way humans engage in this distracted digital world. Our product FOCII empowers online instructors/hosts with the finest and most accurate feedback on audience engagement to help create engaging content in virtual learning/webinar/meeting environment
Are you someone who likes to be at the forefront of technological innovation? Do you like to contribute at a place where you are directly impacting the company's success? And do you want to learn a variety of technologies ranging from brain computer interface engineering to deep learning algorithms? Wait no more. Apply and invite us for a discussion.
Photos
Connect with the team
Similar jobs

Responsibilities:
- Software Development with C++ for Autonomous drive project.
- QT Library (no GUI features)
- Object Oriented Analysis / Object Oriented Design
- C++ Template implementation
- C++17 specifics like “std::optional”
- Macro implementation
- Implementation of Clean Code
- Static Code Analysis
- CMake
Qualifications:
- Excellent GIT knowledge especially how to merge, Rebase
- University degree in Electrical/Electronic engineering, Computer Science or similar
- Minimum 1 to 5 years of embedded software development experience on Yocto Linux based projects in automotive domain
- Expert in C++ programming
- Strong debugging skills
- Good communication skills
Primary skills:
At least 3+ years of working experience on embedded firmware development
- Experience in multithreaded programming, network programming (wired and wireless protocols), real-time programming, cross-platform and cross-language development
- Hands-on experience on driver development for various sensors
- Working knowledge of communication protocols like UART, I2C, SPI, USB, Ethernet, etc
- Product development experience with range of microcontroller/microprocessor architectures, adoption of bare-metal, RTOS and Linux operating systems on new platforms
-Hands-on experience on software development in Bluetooth domain is added advantage
- Experience with hardware lab equipment such as digital scope, logic analyser and JTAG
- Understanding of embedded development constraints and system performance
- Experience with programming in C/C++ and Embedded C
Key Responsibilities:
1. Development, integration and testing of embedded software in the Embedded Linux RTOS
2. Integrate Application based on Adaptive AUTOSAR Platform
3. Contribute for Architecture, Detailed design, programming in C++ (11/14/17)
4. Perform Unit, Integration Tests of developed Application
5. Detail oriented systematic problem-solving approach in the embedded software.
6. Debug embedded software on hardware platforms for issue identification and resolution
Minimum qualification criteria:
1. Bachelor's degree in Electronics, Computer Science, Electrical Engineering, or related field
2. 2+ years of experience in software development in C or C++
3. 2+ years of experience in designing and implementing embedded systems for high performance, high reliability real-time embedded computing platforms
Greetings from Utthunga Technologies!!!
Job Description:
- Ability to contribute as an independent developer
- Boot-Loader: Proficient in customization in u-boot for custom hardware
- Hands on experience with Cortex M series based architecture
- Linux Kernel: proficient in Linux device driver development and BSP development in YOCTO environment
- Programming language: Strong in C, particularly system software development
- Sound knowledge and experience of Linux OS and OS configurations
- Sound knowledge/ understanding on ARM architecture
- Strong Embedded Software background and Linux internals
- Experience of Designing and Architecture for Application and Middleware Development.




Developer Software (Embedded)
Location: Udaipur
Qualification: BE in (Electrical/Electronic Engineering)
Technical
· Experience in design and development with structured Software Development Life Cycle for embedded applications
· Proficiency in C language or assembly programming, Microcontroller, Micro Processor.
· Preferably experience in working and understanding the metering domain
· Proficiency in development processes, tools/IDE (KEIL, IAR, Eclipse) & test automation
· Unit testing skill
· Interface RS485, RS232, SPI, I2C, USB, LCD, Keypad, Flash, EEPROM
· Coding Standards and MISRA rules are preferable
· Knowledge of ARM / MIPS / Coldfire / MSP430 / dsPIC / 8051 and other popular processor
· Experience in working on communication products based on GPRS, ZIGBEE, ZWAVE, Ethernet, Power line communication, DLMS, MODBUS
Job Description
· Understand improvement requirements and develop improvement solutions & package, according to technical specifications / high-level solution design
· Responsible to carry out effective and timely unit testing, in order to, deliver first time right solutions
· Development of automation framework/compiler / emulators to speed up business delivery cycle in NPI programs
· Keep track of new trends, continuously learn and self-develop skills by ensuring effective knowledge sharing through group meetings and training. Impart training to new joiners as and when assigned
· Proficiency in developing embedded software design with high reusability using relevant tools and BSM or flow diagram

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)
Experience - 6 to 10yrs
Location - Bangalore , Pune and Mumbai
Job description -
- Bachelors in Electronics & Communication or equivalent
- 6-10 yrs experience in embedded software development
- 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
- Exposure to any IoT frameworks (desirable not mandatory) – IoTivity, AWS IoT, Azure IoT
- Experience with any device driver development, driver optimisation (desirable not mandatory)
- Good ability to read data sheets & technical manuals
Responsibilities and Duties
The team leader will be leading a team of Hardware engineers, firmware and testing engineers. Being a team leader, you will primarily be responsible for fast and accurate delivery from the team which might even include handholding of team members whenever needed. Embedded team would be responsible for the following:
Hardware Design including
- Circuit design as per design requirements
- Schematic capture in the tool
- CAD layout
- QA/QC/functional testing
- PCB assembling and rework
- Lab inventory management
- Component procurement.
Firmware Design Including
- Firmware Design and architect
- Software Development
- Firmware Testing
- Code management over svn
Other Responsibilities
- The team leader would also be responsible for architecting the system, creating detailed design documents as per requirement and maintaining quality control of all the deliverables.
- The team leader would also be required to create a detailed test plan and list of test cases to be executed and if needed, create proper environment for the same.
- Ownership of the ‘ground up’ design and architecture of embedded software for real time applications.
- Decomposition of designs in to structured modules/functions ready for implementationby yourself and the team.
- Hands on development in C of new ARM based embedded software for a range of products currently under development
- Ensure quality of software using appropriate methods(Code Review, Static Analysis, Unit Test etc.) and application of suitable Coding Standards
- Maintain, update and enhance existing embedded software written in C
- Documentation of software products, development and execution of test plans
- Work closely with other members of the engineering team to assist with the correct choice of processors and supporting hardware
Required Experience, Skills and Qualifications
- Experience of 8+ years in field of embedded systems designing and developement.
- Familiar with usage of various LAB instruments.
- Strong fundamentals of electronics (Digital and analog) are must.
- Well versed with circuit designing and HW debugging
- Analog and Digital Circuit designing: familiarity with micro-controllers, memories, communication interfaces, op-amps, comparators, relays, inductors and capacitors, Handling EMI and Noise issues associated with circuits.
- Understanding of BLE protocols will be required.
- Understanding of scientific methodologies of experimentation, data-gathering and interpretation and hypothesis.
- Understanding of basic architecture, debugging of sensors.
- Experienced in embedded-C coding, memory allocations.
- Experience with any RTOS designing preferably with FreeRTOS at least with Semaphores, SW Timers, synchronisation and event handlings, task handling and prioritization.
- Understanding of micro-controller architecture, programming and debugging methodologies, interrupt-handling.
- Experience with any of the IDEs and debuggers for ARM architecture.
- Basic understanding of assembly programing of ARM architecture
- Understanding of basic peripherals like UART, CAN, I2C, Timers, Counters, PWMs, ADCs, DAC.
- Experience/knowledge in IoT devices (sensor, gateway, cloud) handling.
- Familiarity with CAD tools for schematics and layout generation.
- Experience on MS-Office.
- Familiarity in understanding and creating various test plans and documents.
General Skills Needed/ Requirements:
- Strong knowledge of components and should be able to suggest the team with right componenet
- Candidate must have a knack to use his/her technical knowledge to give it back to society.
- Candidates passionate to bring a change in society will be preferred with no compromise on pay check.
- Candidates must be open to work with communities to get feedback on product features so that products are best fit for social upliftment.
- Candidates must be open to travel to needy communities and should not hesitate to get his/her hands dirty to bring a change to the communities.
- Candidates must find associated with the cause and mission of the company.
- Open to work in open startup culture and give his/her 100%.
- Analytical reasoning and fact-based brainstorming capabilities will be highly preferred.
- Ready to relocate to Gurugram.
- Occasional field visits.

- Works towards developing Stable & Efficient Firmwares for Embedded
- Responsible for developing Firmware which are Stable, Efficient and scalable.
- Responsible to create coherent and scalable architecture designs.
- Responsible for understanding and utilizing best BLE / IOT
- Responsible for understanding various RTOS design principles.
- Qualification: B.E. / B.Tech / M.C.A. in Computer Sciences.
- Must Proficient in Embedded C, C++, BLE, Zephyr RTOS, nRF.
- Ready to work from home.
- Should have above 4 years of experience.

