
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

Requirements:
- Strong C/C++ programming and debugging skills in a Linux environment.
- Experience with Design Patterns, ACE Framework, and Socket Programming.
- Experience in Multi-threaded software development for Multicore Architectures.
- Experience in VOIP application development, preferably on client/server platforms.
- Understanding of system performance and scaling.
- Experience in embedded software development.
- Excellent problem solving/debugging skills design, develop, troubleshoot and debug.
- Software programs for databases, applications, tools, networks etc.
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:
- 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
FURIOUS FOX is looking for Embedded Developers with strong coding skills in C & C++ as well as experience with Embedded Linux.
Experience : (Minimum 7-10 yrs)
• Experienced in edge processing for connected building / industrial / consumer
appliances / automotive ECU
• Have a good understanding of IoT platforms and architecture
• Deep experience in operating systems eg: Linux, freeRTOS / kernel development/device drivers.
/ sensor drivers
• Have experience with various low-level communication protocols, memory devices, messaging
framework etc.
• Have a deep understanding of design principles, design patterns, container preparations
• Have developed hardware, OS abstraction layers, and sensor handlers services to manage various BSP, os standards
• Have experience with Python edge packages.
• Have a good understanding about IoT databases for edge computing
• Good understanding of connectivity application protocols and connectivity SDK for Wi-Fi and BT / BLE
• Experienced in arm architecture, peripheral devices and hardware board configurations
• Able to set up debuggers, configure build environments, and compilers and optimize code and performance.
Skills / Tools:
• Expert at object-oriented programming
• Modular programming
• C / C++ / JavaScript / Python
• Eclipse framework
• Target deployment techniques
• IoT framework
• Test framework
Highlights :
• Having AI / ML knowledge in applications
• Have worked on wireless protocols
• Ethernet / Wi-Fi / Bluetooth / BLE
• Highly exploratory attitude
• willing to venture in and learn new
technologies.
• Have done passionate projects based on self-interest.
Knowledge of Embedded system architecture such as memory hierarchies,vector
Processing.
Experience in resource /load sharing and synchronisation techniques for multi - core
processing.
knowledge of embedded processor internals.
Automotive domain Experience.


About the role
Experience in Firmware/Software programming in embedded Linux & RTOS based application development. Candidate must have a very good understanding of ARM processor, hardware and custom board or product development experience.
Roles and Responsibilities:
- Design, code and integrate software for an embedded Linux/RTOS targeted application (applications, drivers, framework)
- Customization, deployment and maintenance of Linux distribution
- Interact with Linux kernel, integrate new device drivers Improvement and maintain existing software components
- Perform unit test, Integration test, verification and validation of the product developed.
- Assist with the hardware design surrounding the processor
- Document the projects according to standards (protocols, architecture, technical specifications, etc.)
Qualifications:
- Bachelor degree in Electronics or computer science engineering.
- Minimum 6 - 12 years of experience in embedded Linux programming.
Specific skills:
- Expert in C programming with RTOS.
- Hands-On experience with Protocol development.
- Nice to have Protocol development experience such as USB or DP, HDMI or equivalent.
- System level design and understanding of overall system
- Strong knowledge of Linux, ARM processor architecture with SOC, FPGA interface is a plus.
- Hand-on experience on Linux kernel and device-driver development and debugging.
- Knowledge/Experience of TCP/IP, Network programming.
- Ability to write effective and reusable code according to best practices.
- Must be a dynamic, autonomous, and team-oriented individual.
- Knowledge of hardware and low-level development is an asset.
Experience in programming Embedded C applications.
• Strong development experience in embedded C and RTOS
• Strong debugging skills
• Embedded development tools and methodologies
• Version Control Systems – Clear Case / RTC /GIT
Should have detailed knowledge on microcontrollers / microprocessors
Should have detailed knowledge on Battery Electric Vehicle Powertrain (BEV), Fuel Cell and H2-Motor
Should have detailed knowledge in powertrain function development for BEV, Fuel Cell and H2-Motor
Strong development experience in MATLAB for powertrain function development
Strong development experience in CAN / LIN /Flexray / UDS / KWP, SPI communication protocols
Knowledge in tools like CANalyser / CANoe, CANDiva, CANstress, CANDELA studio, Lauterbach
Experience in scripting languages like Shell / Perl / CAPL / Make etc.,
Experience in using tools like Logiscope / Function Generator / Oscilloscope, etc
Experience in configuration management & defect tracking tools
Automotive domain and powertrain systems knowledge a plus
Ability to work as part of a dedicated project team and independently
Strong communication and interpersonal skills.
Must be a self-starter.

