11+ Raspberry Pi Jobs in Delhi, NCR and Gurgaon | Raspberry Pi Job openings in Delhi, NCR and Gurgaon
Apply to 11+ Raspberry Pi Jobs in Delhi, NCR and Gurgaon on CutShort.io. Explore the latest Raspberry Pi Job opportunities across top companies like Google, Amazon & Adobe.
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)
Job Title : Embedded System Software Engineer
Experience Required : 1 to 3 Years
Duration : 6+ Months (Extendable)
Notice Period : Immediate
Job Description :
We are seeking a motivated and skilled Embedded System Software Engineer to join our team.
The ideal candidate will have 1 to 3 Years of experience in embedded software development with a solid foundation in C++ and Qt 5.
This role involves working with embedded Linux systems and contributing to the development and maintenance of robust embedded applications.
Mandatory Skills : C++, Qt 5, Embedded Linux (Yocto preferred), SOAP/REST protocols, Git, problem-solving, and analytical skills.
Key Responsibilities :
- Design, develop, and maintain embedded software applications using C++ and Qt 5.
- Work on embedded Linux systems, with a preference for experience in The Yocto Project.
- Integrate and manage network communication using protocols such as SOAP and REST.
- Collaborate with cross-functional teams to understand requirements and deliver high-quality solutions.
- Utilize Git for version control and collaborative development.
- Troubleshoot and debug software and system issues efficiently.
- Continuously improve code quality through code reviews, testing, and optimization.
Required Skills and Qualifications :
- Bachelor’s degree in Computer Science, Engineering, or a related field.
- 1 to 3 Years of hands-on experience in software development.
- Proficiency in C++ and Qt 5 Framework.
- Experience working with Embedded Linux; knowledge of Yocto Project is a strong plus.
- Basic understanding of network protocols, including SOAP and REST.
- Familiarity with Git or other version control systems.
- Strong problem-solving and analytical skills.
Preferred Skills (Nice to Have) :
- Experience in cross-compiling and deployment for embedded targets.
- Familiarity with CI/CD tools and automated testing for embedded systems.
- Understanding of hardware-software integration challenges.
Senior Robotics Engineer (ROS 2 Migration & Systems) - WorkFlow
Department: R&D Engineering
Location: Octobotics HQ (Noida/On-Site)
The Mission
To successfully migrate our legacy ROS 1 architecture to a high-performance ROS 2 Native ecosystem, architecting a navigation stack that survives the "unheard-of" edge cases of the real world.
1. The Context: The Great Migration
Octobotics is at a pivot point. Our legacy stack was built on ROS 1 (Noetic). It got us to MVP.
But to scale, we are tearing it down and rebuilding in ROS 2 (Humble/Iron).
We are not looking for someone to maintain old code. We are looking for an Architect to lead this migration. You will deal with the pain of bridging ros1_bridge, porting custom messages, and rewriting node lifecycles from scratch.
If you are afraid of breaking changes and complex dependency hell, stop reading now.
2. The "Scorecard" (Outcomes)
- The Migration: Port our core navigation and control logic from ROS 1 to ROS 2. This involves rewriting nodes to utilize Lifecycle Management and Node Composition for zero-copy transfer.
- Nav2 Architecture: We don't just "install" Nav2. You will write custom Behavior Tree plugins and Costmap layers to handle dynamic obstacles in unstructured environments.
- Middleware Optimization: You will own the DDS layer (FastDDS/CycloneDDS). You must tune QoS profiles for lossy WiFi environments and debug discovery traffic issues that traditional network engineers don't understand.
- Sensor Fusion & State Estimation: Implement and tune EKF/UKF pipelines (robot_localization) to fuse IMU, Wheel Odometry, and LiDAR. You must understand Covariance Matrices—if your covariance grows unbounded, you have failed.
- Serialization Strategy: Implement Protocol Buffers (Protobuf) for high-efficiency, non-ROS internal data logging and inter-process communication where overhead must be zero.
3. Technical Requirements (The Hard Skills)
The Stack (ROS 1 & ROS 2):
- Deep ROS 2 Mastery: You know the difference between spin(), spin_some(), and Multi-Threaded Executors. You understand why we are moving to ROS 2 (Real-time constraints, DDS security, QoS).
- Navigation Stack: In-depth knowledge of Nav2 (Planners, Controllers, Recoveries). You understand Global vs. Local planners (A*, DWB, TEB).
- SLAM & Localization: Experience with Graph-based SLAM (Cartographer, SLAM Toolbox). You know how to close loops and optimize pose graphs.
The Math (The "Weeder"):
- Linear Algebra & Geometry: Rigid body transformations are your second language. You understand Quaternions, homogeneous transformation matrices ($T \in SE(3)$), and how to avoid Gimbal Lock.
- Kinematics: You can derive Forward and Inverse Kinematics for Differential Drive and Ackermann steering chassis.
- Probabilistic Robotics: Understanding of Bayesian estimation. You know that sensors are noisy and that "Ground Truth" is a myth.
The Code:
- C++ (14/17): Real-time safe coding standards. RAII, Smart Pointers, and template metaprogramming.
- Python: For prototyping and complex orchestration.
4. The "Topgrading" Filter (Do NOT apply if...)
- You think roslaunch is the same as ros2 launch.
- You have never defined a custom .msg or .srv file.
- You struggle to visualize a TF tree in your head (map -> odom -> base_link).
- You think latency "doesn't matter" in a control loop.
5. The Challenge: Surfing the Tsunami
Let’s be honest: AMR (Autonomous Mobile Robots) is hard.
We are solving problems that are unheard of in the standard "warehouse" world. We deal with dynamic crowds, changing lighting, and network black holes.
There will be days when the Sensor Fusion drifts for no reason. There will be days when the DDS discovery fails because of a multicast storm. There will be architectural "Tsunamis" that threaten to wipe out our sprint.
We are looking for the engineer who doesn't run for higher ground, but grabs a board and says, "I’m ready to surf."
Job Summary
We are seeking a highly skilled and motivated Linux Device Driver Engineer with strong C/C++ programming skills and hands-on experience in Linux driver development. The ideal candidate will have a proven track record of working with kernel modules and hardware interfaces, and be comfortable debugging and optimizing low-level system software.
Key Responsibilities
- Porting existing Linux device drivers to new platforms, SoCs, and kernel versions.
- New driver development for custom hardware components and peripherals.
- Debugging kernel and driver-level issues using industry-standard tools.
- Integration & bring-up of hardware with Linux-based systems.
- Collaborate with hardware teams to interpret specifications and enable device functionality.
- Optimize drivers for performance, reliability, and resource efficiency.
- Write clear technical documentation for driver APIs, design, and integration steps.
Required Skills & Qualifications
- Bachelor’s/Master’s in Computer Science, Electronics, or related field.
- 4 to 8 years of professional experience in software development.
- Strong proficiency in C/C++ programming and memory management.
- Hands-on experience with any Linux device driver (character, block, network, USB, PCIe, I2C, SPI, etc.).
- Good understanding of Linux kernel architecture, module programming, and build systems.
- Knowledge of interrupt handling, DMA, and device tree configuration.
- Familiarity with cross-compilation and embedded Linux toolchains.
- Experience with debugging tools (GDB, ftrace, perf, printk, etc.).
- Version control experience (Git).
Preferred Skills
- Exposure to multiple driver types (networking, storage, multimedia, etc.).
- Experience with Yocto, Buildroot, or similar embedded Linux environments.
- Knowledge of real-time Linux and RT patches.
- Scripting knowledge (Python, Bash) for testing and automation.
Soft Skills
- Strong analytical and debugging skills.
- Good communication and collaboration abilities.
- Ability to work independently and take ownership of deliverables.
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
Talented C++ Developer who has experience in design, development, debugging of multi-threaded large scale application with good understanding in data structures on Linux packaging, functional testing and deployment automation very good with problem solving.
Key responsibilities :
- Understand fundamental design principles and best practices for developing backend servers and web applications
- Gather requirements, scope functionality, estimate and translate those requirements into solutions
- Implement and integrate software features as per requirements
- Deliver across the entire app life cycle
- Work in a product creation project and/or technology project with implementation or integration responsibilities
- Improve an existing code base, if required, and ability to read source code to understand data flow and origin
- Design effective data storage for the task at hand and know how to optimize query performance along the way
- Follow an agile methodology of development and delivery
- Strictly adhere to coding standards and internal practices; must be able to conduct review code
- Mentor and possibly lead junior developers
- Contribute towards innovation
- Performance optimization of apps
- Explain technologies and solutions to technical and non-technical stakeholders
- Diagnose bugs and other issues in products
- Continuously discover, evaluate, and implement new technologies to maximize development efficiency
Must have / Good to have:
- 5-7years' experience with C++ development and relevant 3+yrs in modern version 11/14/17 would be a plus.
- Design and implementation of high-availability, and performance applications on Linux environment
- Advanced knowledge of C/C++, Object Oriented Design, STL
- Good with multithreading and data structures
- Develop back-end components to improve responsiveness and overall performance
- Familiarity with database design, integration with applications and python packaging.
- Familiarity with front-end technologies (like JavaScript and HTML5), REST API, security considerations
- Familiarity with functional testing and deployment automation frameworks
- Experience in development for 3-4 production ready application using C++ as programming language
- Experience in writing unit test cases including positive and negative test cases
- Experience of CI/CD pipeline code deployment (Git, SVN, Jenkins or Teamcity)
- Experience with Agile and DevOps methodology
- Very good problem-solving skills
- Experience with Web technologies is a plus.
Read less
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
Experience in Object-Oriented design and Multithreaded programming
Strong analytical and problem solving skills
Strong understanding of computer systems e.g. operating systems, networks, performance optimization, etc
Degree in Computer Science or Computer Engineering or related field
Independent team player with an eye for details and report on status and planning of own work.






