
Senior Firmware Engineer
at Deep-tech company working on transformative motor technology

Do you wish to work for a Deep-tech Indian company developing path-breaking products which are set to disrupt every possible industry and domain?
Our client is building a scalable, cloud-controlled, and rare-earth free platform for designing, building, and deploying electric motors for various applications. It aims towards building transformative technology that will make the motors of the future simpler, smarter, more efficient, and easy-to-build in the long run.
The founders are veteran serial entrepreneurs, product experts, and motor technologists with more than eight decades of experience developing cutting-edge products and technologies. The company is bringing transformative motor technology to the forefront of commercial applications. The company aims to make deep fissures in the extant hydrocarbon and rare-earth-based energy economy to create a greener future.
What you need to join us
Are you a coding ninja, algorithmic genius, with a flair for control systems and a passion to create new path breaking technologies (with a green social impact to boot!)? Does working with a bleeding edge research oriented tech startup excite you? If so, please read on and apply.
Responsibilities
- Take ownership of firmware development for motor controllers
- Identify and develop real-time algorithms for controlling cutting-edge Motors and Generators
- Implement motor control algorithms in microcontrollers
- Debug and diagnose the firmware on the controller hardware
- Develop drivers and HAL firmware as needed for various peripherals
Skills and Experience
- Experience in embedded Firmware development
- In-depth knowledge of C programming knowledge
- Extensive engineering experiences in software development with proven track record of at least one product from concept to production
- Hands on experience with development and debugging of embedded systems
- Experience in working with real-time embedded systems and power electronics
- Experience in working with Microcontroller peripherals such as ADC, Timers, Comparators, Input-capture, PWM etc.
- Experience with microcontrollers from TI, NXP, STM32, PIC, Atmel (ARM based microcontroller experience is preferred)
- Ability to translate mathematical concepts to executable code in resource-constrained microcontroller environments
- Exposure to debugging using lab equipment such as Oscilloscopes, Multimeters, Logic Analyzers, signal generators etc.
- Hands-on experience in bringing up a new hardware with firmware written from scratch
- Experience with simulation software such as Matlab, Simulink etc is highly desirable
- Knowledge and experience of control systems is highly preferred
- Experience in automotive domain is preferable
Character Traits
- Proactive
- Problem solver
- Committed and motivated
- Inquisitive and eager to learn
- Clarity of thinking
- Sense of urgency
- Can-do attitude
- Team player
Education and Experience:
B.E – EE, CS, ME (or equivalent) from a reputed institution with 3 years of experience OR
ME/MS – EE, CS, ME (or equivalent) with 1-2 years of experience

Similar jobs

Job Description :
Position Name: Network Software Developer
Experience: 4 to 8 Years
Work Mode: Work from Bangalore office (near Bellandur) all 5 days.
Mandatory:
- 4+ years of work experience in Networking domain.
- Highly proficient in C and Linux environment.
- Experience in working on Linux based large code base.
- Hands-on experience in working OpenWrt based router firmware.
- Hands on experience with IP and lower layer networking protocols.
Great to Have:
- Experience in working on Qualcomm and MediaTek chipsets.
- Experience in Linux device drivers and device trees.
- Experience in creating and applying Linux kernel patches.
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:
IoT Deployment (on-field) and maintenance
Lead assembly, testing, and finalization of IoT products
Black Box Testing: BLE, WiFi
Integration testing: (IoT, backend, and Android)
Test report and deployment setup documentation
Apply quality engineering principles throughout the Agile product lifecycle.
Collaborate closely with cross-functional teams.
Required qualifications:
2021/2022 passed out B.Tech Graduate in ECE or EEE
Hands-on experience with microcontrollers like Arduino and ESP.
Knowledge of C programming language.
Excellent communication and critical thinking skills.
Good organizational skills and a detail-oriented mindset.
Ability to work in a fast-paced environment with minimal supervision.
Sense of ownership and pride in your performance and its impact on the company’s success.
Team player.
Good time management skills.
Preferred qualifications:
Good understanding of embedded and IoT systems.
Who can apply
Only those candidates should apply who
are available for full-time (in-office)
can start the Job immediately
are from Mumbai
have relevant skills and interests
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


● Write Effective Codes In C++, Develop Software For Embedded Systems Based On STM32, NRF
● Support And Improve Existing Software
● Prepare Documentation For The Created Software. Qualifications
● Confident Knowledge Of C++ 17, Object-Oriented Programming, Embedded Software Development
● Proficiency With Microcontrollers Of The STM32 And / Or NRF Series
● Experience With RTOS
● Familiarity With Git, Linux
● Technical English
● Knowledge Of Python As An Advantage
● Any Experience With UAS \ UAV \ Drones is much appreciated

• Experience in system design and building IoT systems in resource and power constrained environments
• Proficient in C language on embedded platforms and familiarity with hardware design of embedded system is a plus
• Development on Linux Platform/RTOS with an emphasis on embedded device driver development, multi-threading, and firmware debugging
• Experience with mesh network or sensor network and communication
• Good understanding of multiple IoT platform components is essential
• Solid working knowledge using IoT hardware platforms, communication boards, and gateways
• Hands-on in internet protocols and software development using protocols including LoRA, Wi-Fi, BLE, ZigBee, NB-IoT, M2M,6LoWPAN, Ethernet etc.
• Expert hands-on proficiency in developing applications using one or more technology stacks
• Strong hands-on understanding of scalability, security, high availability, and operational requirements
• Sound and proven decision-making skills to influence the technology choice and implementation methodologies
• Hands-on in object-oriented programming principles, design patterns, and software architecture
• Good with rapid problem solving, a strong technical background, and passion for continuous improvement
• Must have had hands on experience with Connected smart products having Product and Application software, data and Cloud
• Must have intimate knowledge of tools and processes used for Product(firmware) and/or Application software and/or Device hardware and/or Cloud
• Must be intimately familiar with Agile and Scrum, in the creation of dashboards for Sprints. An expectation would be to implement Scrum within the organization
• Must have strong familiarity with SMAC(social media, mobile, analytics and cloud) trends and application to saleable product categories
• Must have worked closely with Mechanical/Electrical/Electronics engineering teams in the development of smart/connected products.

Job Description: Senior Software Engineer- Embedded Systems
Videogram is looking for Software Engineer in Embedded Systems who will be responsible for designing the embedded systems and installing them in machines and tools. You will be playing an important role in our software team who will be responsible to design and develop the software that controls the processor (micro-controllers and digital signal processors) of the machine. You come with a role as a professional Embedded System Software Engineer to execute a complete embedded software development lifecycle.
Responsibilities:
- Design and implement software of embedded devices and systems from requirements to production and commercial deployment. Responsible for the complete embedded software development lifecycle
- Design, develop, code, test, and debug system software
- Coordinate with the engineers from other disciplines to develop the end product of the requisite standards
- Customize the software to suit the needs of the product nature and expected functioning
- Debug the system to remove the anomalies and inconsistencies
Requirements:
- Candidates require a bachelor's degree in computer science, electrical engineering, software development, embedded software, etc.
- The candidate should be an undergraduate in Computer Science or a relevant field
- Hands-on experience in C++11 or later programming languages
- Knowledge of GIT Version control
- Experience in doing bare metal or RTOS development
- Hands-on experience in developing the code in Linux
- They require exceptional programming skills and competence in using software tools.
- Knowledge of operating systems and of the interaction between hardware/software is important for this profile.
- The attributes of problem-solving ability, analytical skills, proactive behavior, and an adaptable approach are important in this position.
- This discipline of engineering provides scope for creative minds and poses challenges to perform quality work.
- Scripting in Python & Bash is an add-on
- Experience in any of the following technologies:
UART | SPI | I2C |MIPI DSI |Display Port | Low-Level Sata
Additional/ Desirable Interests:
- Personal interest in videography/ photography and audio production
- Experience working programmatically with videos/ images/ audio
- Exposure to low-level details of any video/ image codecs
- Exposure to movie container file formats especially QuickTime/mp4
- Working knowledge of exFAT file system

Software development for Automotive Pneumatic based Air Lift Systems for RV vehicles, suspension for off-road vehicles.
Responsibilities and Duties
• Author software requirements from system/customer requirements.
• Complete responsibility for BSW software components development/test/release/maintenance.
• Ability to code software for automotive time critical real-time applications.
• Experience in device drivers development for micro-controller.
• BSW API’s for application demand.
• Will have to configure and develop device drivers for MCU IO’s like Analog & Digital I/O, PWM, CAN, SPI, I2C and Bluetooth.
• Complete understanding of IS0-14229 and should be able to implement complete UDS stack.
• Timely communication with customer and inform any risks upfront.
• Quality control of release software via static and dynamic test.
• Project planning and estimations for software releases.
Qualifications
• B.Tech/M.Tech, 6+ years of experience into automotive software development.
• Expert in C Programming language.
• Experience in any scripting language (python, c#, perl etc.)
• Experience in setting up build environment and configuration of make and linker files.
• Experience in bootloader development is added advantage.
• Should be experienced in device driver development for peripherals like ADC, DIO, PWM, CAN, SPI, I2C,EEPROM and Bluetooth.
• Understand memory map of MCU and should be able to configure as per application needs.
• Experience in working with embedded system Kernels or RTOS.
• Experience in working with NXP S32 micro is added advantage.
• Excellent on board debugging skills.



