- Degree : B.E. or M.S. EE/CS/CE
- Methodologies: SV, UVM & OVM
- Areas of Work: Digital Verification (both IP / SOC)
- Protocol : Knowledge of PCIe/DDR/Ethernet/USB is Plus
- Familiar with Bus protocols like AXI, AHB, SPI and I2C
Similar jobs
Seize an exceptional opportunity at Himachal’s leading R&D Tech company, with over seven years of establishment and recognized as one of the fastest-growing tech firms in the Himachal-Tricity region. As a proud participant in the Make in India initiative and a strong advocate for the 'Vocal for Local' movement, Vihaas is managed by local professionals. We are dedicated to innovation and excellence in technology development, fostering a unique, hierarchy-free environment that promotes creativity and collaboration.
Job Summary
Vihaas Design Technologies is seeking an experienced Embedded Developer with a focus on microcontroller-based systems for telecommunications applications. As part of our team, you will design, develop, and maintain embedded systems that integrate seamlessly with our advanced communication solutions.
Responsibilities
- Develop and optimize embedded firmware for microcontrollers, ensuring efficient performance and low power consumption.
- Write clean and maintainable C/C++ code for low-level microcontroller programming and peripheral interfacing.
- Implement drivers and manage communication between microcontrollers and external devices via I2C, SPI, UART, CAN, and other protocols.
- Integrate microcontrollers with sensors, actuators, and modules, ensuring smooth hardware-software interaction.
- Debug and troubleshoot using tools like oscilloscopes, and logic analyzers, resolving issues in hardware-software integration.
- Collaborate with hardware teams, optimizing firmware for resource and power efficiency in battery-powered devices.
- Work with RTOS or bare-metal systems as needed, ensuring real-time performance in embedded applications.
- Maintain code integrity through Git, manage repositories, and write comprehensive documentation for firmware architecture.
- Provide post-deployment support, including firmware updates and system integration.
Qualifications
- 3-4 years in embedded development focused on microcontroller systems.
- Proficient in C/C++ with experience in low-level programming and peripheral management.
- Solid understanding of microcontroller architectures (e.g., MSC-51, STM ARM Cortex-M, AVR, PIC) and peripheral interfaces (e.g., GPIO, ADC, DAC, PWM, Timers).
- Hands-on with communication protocols like I2C, SPI, UART, CAN, and real-time performance with RTOS or bare-metal systems.
- Strong debugging skills using hardware tools (oscilloscopes and logic analyzers).
- Knowledge of low-power design and firmware optimization for energy-efficient systems.
Note: Candidates should be prepared for an on-site interview upon selection.
Please go through with the below mentioned job description
Position title: Firmware Engineer
Experience: 6-12 years
Notice Period: 0-30 days
Location: Bangalore(Sarjapur)
Role type: Permanent
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.)
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
Please provide below mention details:
No. of years of working experience in Embedded Linux -
Protocol stack development Exp, any specific protocol worked on -
Relevant Experience:
Official Notice Period 30/60/90 Days:
Date of Resignation:
Serving Notice Period and Last Working Day:
Current Company:
Current Location:
Work Location:
Current CTC(fixed,variable):
Expected CTC(fixed,variable):
Interview Availability:
Any Offer:
Relocate to Bangalore(Sarjapur):
company name
company location
date of joining
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
Cloud EOS Team
· Arista Networks is the leader in building software driven cloud networks for today’s datacenter, cloud and campus environments. Arista delivers the most efficient, reliable and high performance Universal Cloud Network architectures based on 10G, 25G, 40G, 50G, 100G and 400G platforms delivered with an extensible operating system – Arista EOS®. Arista EOS is built on an open, programmable, and resilient state-sharing architecture that delivers maximum system uptime, reduces CAPEX and OPEX by simplifying IT operations and enables business agility.
· We are building disruptive products and services that deliver highly automated networks that interconnect and secure connectivity between various global locations. As a part of the team you will be exposed to wide variety of technologies like EOS (Extensible Operating System), multithreaded, multicore software forwarding based on DPDK, public cloud (AWS, Azure, GCP) infrastructure, Path selection, NFV, Containers, Network Segmentation, Virtualization, microservice based architectures, CI/CD pipelines, and Terraform-based declarative provisioning models. As a core member of the CloudEOS team, you will be part of a fast paced, high-caliber team building cutting edge software products for Cloud-enabled WAN connectivity. The team is responsible for all aspects of the development and delivery of control plane, software data plane, and management platform/APIs/services.
· Arista provides an open Engineering-driven culture which fosters innovation and enables engineers to Learn, Lead and Thrive. Our adoption of modern software tools, methodologies and processes and emphasis on automation enables our engineers to focus their energies on the truly complex problems and be among the most productive in the industry. Arista's products are purpose built with the scale, performance and quality required to operate in some of the most demanding environments - this provides engineers the platform and rigour to learn and gain experience in building complex, scalable software systems.
Basic qualifications
· Bachelor's/Master's degree in Engineering
· 3+ years of experience working as a Systems Software Development Engineer
· Proficiency in C++/C programming language
· Software Development experience with Linux
Preferred qualifications
· Experience with DPDK, Software Forwarding, Qos.
· Python and/or Golang development experience
· Strong communication skills and the ability to work in a team environment
· Experience working through the complete software development life cycle right from requirements gathering to delivering the fully developed feature.
· Strong software debugging skills especially in embedded systems.
· Experience in Network Systems Software development is a plus
EOS Routing Team
· Arista Networks is the leader in building software driven cloud networks for today’s datacenter, cloud and campus environments. Arista delivers the most efficient, reliable and high performance Universal Cloud Network architectures based on 10G, 25G, 40G, 50G, 100G and 400G platforms delivered with an extensible operating system – Arista EOS®. Arista EOS is built on an open, programmable, and resilient state-sharing architecture that delivers maximum system uptime, reduces CAPEX and OPEX by simplifying IT operations and enables business agility.
· The EOS Routing PI team is responsible for developing routing protocols like BGP, OSPF and ISIS and Data Center and SP technologies like MPLS, Segment Routing and EVPN. A unique feature of the Arista routing team is that the routing software is common across Campus, Data Center and Service Provider routing features. This is a global team that spreads multiple geographies working on cutting edge features that get deployed in the largest Cloud titan, Service Provider, Enterprise and Campus networks.
· Arista provides an open Engineering-driven culture which fosters innovation and enables engineers to Learn, Lead and Thrive. Our adoption of modern software tools, methodologies and processes and emphasis on automation enables our engineers to focus their energies on the truly complex problems and be among the most productive in the industry. Arista's products are purpose built with the scale, performance and quality required to operate in some of the most demanding environments - this provides engineers the platform and rigour to learn and gain experience in building complex, scalable software systems.
Basic qualifications
· Bachelor's/Master's degree in Engineering
· 3+ years of experience working as a Systems Software Development Engineer
· Proficiency in C++/C and Python programming languages
· Experience with routing protocols and/or Data Center/SP routing features
· Software Development experience with Linux
Preferred qualifications
· Strong communication skills and the ability to work in a team environment
· Experience working through the complete software development life cycle right from requirements gathering to delivering the fully developed feature.
· Strong software debugging skills especially in embedded systems.
· Experience in Network Systems Software development is a plus
EOS Layer 2 and Infra PI Team
· Arista Networks is the leader in building software driven cloud networks for today’s datacenter, cloud and campus environments. Arista delivers the most efficient, reliable and high performance Universal Cloud Network architectures based on 10G, 25G, 40G, 50G, 100G and 400G platforms delivered with an extensible operating system – Arista EOS®. Arista EOS is built on an open, programmable, and resilient state-sharing architecture that delivers maximum system uptime, reduces CAPEX and OPEX by simplifying IT operations and enables business agility.
· The EOS Layer 2 PI and Infra team is responsible for working on platform independent features on Arista’s EOS working alongside the EOS Routing team. The team is responsible for building innovative, scalable solutions in areas including EOS infrastructure, Layer 2 protocols like 802.1X, Macsec, DHCP, RADIUS etc. A unique feature of the Arista’s Layer 2 PI and Infra team is that the software developed is common across Campus, Data Center and Enterprise features. This is a global team that spreads across multiple geographies working on cutting edge features that get deployed in the largest Cloud titan, Service Provider, Enterprise and Campus networks.
· Arista provides an open Engineering-driven culture which fosters innovation and enables engineers to Learn, Lead and Thrive. Our adoption of modern software tools, methodologies and processes and emphasis on automation enables our engineers to focus their energies on the truly complex problems and be among the most productive in the industry. Arista's products are purpose built with the scale, performance and quality required to operate in some of the most demanding environments - this provides engineers the platform and rigour to learn and gain experience in building complex, scalable software systems.
Basic qualifications
· Bachelor's/Master's degree in Engineering
· 3+ years of experience working as a Systems Software Development Engineer
· Proficiency in C++/C and Python programming languages
· Software Development experience with Linux
Preferred qualifications
· Experience with Layer 2 protocols like 802.1X, AAA, Macsec
· Strong communication skills and the ability to work in a team environment
· Experience working through the complete software development life cycle right from requirements gathering to delivering the fully developed feature.
· Strong software debugging skills especially in embedded systems.
· Experience in Network Systems Software development is a plus
- 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
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)
- 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
Benefits of choosing us…
- Growth Opportunites (Our first priority is a team)
- Paid Overtime (125%), Incentive, Bonus & Gift Provision
- Very Flexible & Friendly work environments
- Work-life balance (taking leave, office timing, *working from home)
- Growth Opportunites (Seriously, We believe in WIN-WIN)
- Months last week (Restaurant, Movies, Fun Activities)
OmnixOne is a Research and Development company, our vision is to create a world free of resource scarcity, so people can have more time for innovation/big things instead of fighting daily life problems. Wanna be part of this great journey, Come with us!
Prerequisites
- We are looking for a person who is really interested in & enjoys technology, is Passionate about Innovation, and Can go the extra mile for perfection.
- Behavioral Attitude: Must be a Quick learner / Highly Dedicated / Responsible person
Require Person: 5
Job Type: Full-time
Office Timing: 9:30 to 6:30
Expected Start Date: ASAP
Fresher Salary: 3,000 to 15,000
Experience Salary: 10,000 to 45,000
Location: Must be from Surat, Gujarat
Below are the skills we are looking for in a candidate.
- Strong hands-on C/C++, Embedded System Development
- Hands-on experience on ESP-IDF, STM32CubeMX, Embedded Linux, RTOS
- Good to have Python, Shell/Bash Scripting, Toolchains
- SPI, I2C, UART, RS485, CAN, and hardware subsystems
- Hardware and IoT / IT Communication protocols knowledge
- Problem-solving and analytical skills.
- Familiar with Standards (SOLID Principles, OOPs, Misra C, etc)
- Schematic / PCB Designing verification
- Ability to trace difficult problems using a variety of tools (debugger, JTAG emulator, logic analyzer, oscilloscope).
- Design, develop, code, test, and debug system software.
We are looking for Embedded software developers who will be responsible for designing, developing, optimizing, and implementing the software that is programmed into devices built around a processor/controllers. Candidates need to write code to solve problems and implement systems that make a physical hardware device work through software.
Thanks and Best Regards
Positions are open for PhDs/Master/Bachelors/Diploma candidates.
- Work directly with the other Software/Firmware Engineers and Electrical/RF/Systems Test Engineers to write needed software
- Design and implement software platform for firmware on embedded CPUs with multiple OS such as Windows, Linux, FreeRTOS, TI-RTOS and embedded Linux
- Use compliers, debuggers revision control and automated build systems.
- Design/develop components of software platform for use by other developers to extend its capabilities and build custom applications/behavior on top
- Develop build methodologies, debugging tools/utilities
- Develop and release Software using Agile methodology
- Write unit tests and support continuous integration and automated test methodology
- Brainstorm for new ideas and ways to improvement product and processes
- Consult with peers for feedback during debug/testing stages
- Document and maintain design processes