
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.

About Utthunga Technologies
About
Connect with the team
Similar jobs

• 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.
- Design, implement, and test production- grade core robotic software components possibly including perception systems, motion planning systems, or command and control systems. • Design, implement, and test software integration components with other robotic platforms and warehouse management systems
- Design, implement, and test customer- specific software components
- Develop testing frameworks and support testing for core software components • Develop logging and data analytics systems for deployments
- Follow production- level code design and development processes including detailed documentation, code reviews, and structured release processes


- Strong C/C++ programming hands on experience
- Should have work experience on firmware development with strong Linux internals.
- Very good development, design and debugging experience on embedded firmware.
- Added advantage to have experience on Systems management/Out of Band/BMC domain experience
- Good to have automation experience using Python or shell scripting
- Excellent communication and problem solving skills
- Experience on tools like JIRA, Yocto, Visual studio, etc.
- 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)


Relevant experience: 2-3 years
Responsibilities:
- Should be good at, C, C++, Linux driver development
- Should have worked in protocol like i2S, SPI, i2C. rf, 6lowpan, Tcp / Ip stack etc..
- Experience in porting MbedOS , FreeRTOS to different boards is good.
- Analyzing and enhancing efficiency, stability and scalability of system resources
- Design, develop, code, test and debug system software
- Provide post production support
- Interface with hardware design and development
Requirements:
- Proven working experience in software engineering
- Experience in hands-on development and troubleshooting on embedded targets
- Solid programming experience in C or C++
- Adequate knowledge of reading schematics and data sheets for components
- Strong documentation and writing skills
Note: Self-motivated, goal oriented and good analytical skills.
ORGANIZATION
Launched in 2014, Oxit has continually focused on true innovation in IoT services through the creation
of solutions and products for an adaptive global business marketplace. Our diverse list of clienteles,
ranging across a multitude of industries, has grown to recognize and trust Oxit in partnering in all
aspects of Smart Technology capabilities from designing to prototyping, development and carefully
launching their ideas
ROLE
Proficient in connected objects, an IoT embedded engineer develops innovative solutions that help
users to receive, control and manage information.
Conceptualizing, designing, developing, & managing IoT end devices, middleware, interfaces, and
connectivity
RESPONSIBILITIES
PRIMARY RESPONSIBILITIES
● Analyze, discuss and understand user/business requirements
● Translate business requirements to optimizer solutions, system & firmware specifications
● Design & Implement firmware/software as per specifications and conduct unit tests
● Managing & building end devices and middleware (Gateway development)
● Connectivity solutions, protocol implementation, stack development (ex: Lora)
● Perform integration, acceptance tests, troubleshooting, and debugging
● Work in collaboration with other team members, leadership, and other departments towards
solution implementation and delivery
● Adhere to organization/project process standards and guidelines
● Handling internal (team, departments, and leadership) and external (customers & partners)
interactions
● Collaborate with and support Hardware team towards HW design & development
● Collaborate with and support Software team towards backend development, API definition &
interfacing, Mobile, Cloud, & Web application definition
SECONDARY RESPONSIBILITIES
● Researching, creating, and testing IoT solutions
● Designing platform solutions that are cloud-compatible and work with IoT applications
● Providing solutions to issues related to the connection of networks and platforms
● Contribute to improving quality, accelerating development and deployment - process improvement
and tools improvement
● Showcase ability to play different Agile roles and manage small teams
● Supporting management with client interactions and at times leading it
SKILLS
PRIMARY SKILLS
● Hands-on programming experience in C/C++/Python in Embedded/IoT environment
● Good working knowledge of Linux internals & application development
● Good working experience of RTOS & bare metal programming
● Hands-on experience in device driver development
● Hands-on experience with protocol implementation (wired & wireless)
● Experience in executing projects in an Agile/Waterfall model
● Exposure to Gateways, web/cloud computing technologies, APIs, sockets, & related tools
● Exposure to JavaScript, Node.js, and typescript is an added advantage
● Proficient in C, C++, and Python programming, Java script added advantage
● Good understanding of Linux internals, Linux System programming, and application development
on Linux
● Hands-on experience with Container technologies (LXD, Docker and/or Kubernetes)
● Working knowledge and experience implementing FUOTA, Device management
● Working knowledge of Security - Encryption, Decryption, Flash management
● Working knowledge of Web architecture, Interfacing (APIs, MQTT, etc.)
● Hands on experience with Yocto, Ubuntu Core
● Experience with R Pi or similar platforms
● Working Knowledge and experience with LoRaWan on both Gateway and Devices
● Prior experience working on IoT Gateways
SECONDARY SKILLS
● Firm understanding of IoT architecture and principles
● Knowledge of device and data security
● AWS or related cloud architecture, tools & setup, API development
● LoRa stack experience, Network gateway functionality, networking: TCP/IP, DNS, DHCP, HTTP
● ESP32 architecture, Free-RTOS experience
● Work and collaborate well with others
● Strong communication skills
● Strong analytical and problem-solving skills
WORK ENVIRONMENT
● Minimum 3 years of prior experience
with embedded, firmware, & IoT
● Available full time (40 hours a week)
● Remote working infrastructures
● Flexible remote work (work from
anywhere)
● Certain overlap with EST business hours
● Full time (Mon-Fri, 8 hrs/day)
● Agile way of working & mindset
● Team work, frequent interaction &
collaboration with team & leadership
● Collaborations & meetings through
video conferencing
● Friendly & collaborative environment
- Very strong knowledge in Embedded C including
- Data structures
- Function pointers
- Bitwise operations
- Experience with Finite State Machine (FSM) software design
- Required experience in AVR microcontrollers and projects to demonstrate it
- Familiarity with ARM 32 bit microcontrollers (Cortex M or any other)
- Required experience with common communication protocols like SPI, UART, I2C etc.
- Comfortable with reading datasheets and basic hardware schematics
- Comfortable with linux development environment including the use of GCC, gdb, makefile
Soft Skills
- Good communication skills
- Self-driven
- Passion for embedded engineering
1. Good Knowledge in Hardware Development (Various Sensors, PCB Designing, Various Micro-controller boards)
2. Firmware designing (writing code on various micro-controller platforms using various hardware communication protocols (USART, SPI, I2C, CAN, etc). Great command in Embedded C Programming and Python.
3. Should have worked with various wired and wireless devices for communication ( Like GSM, GPS, GPRS, Wifi, BLE, Xbee, etc)
4. Should have practical experience in basic networking with devices.
5. Should have worked on various Hardware platforms like Arduino, Raspberry Pi, Web Frameworks, etc.
6. Should have worked with various methods of communicating sensors data on various clouds using API's using multiple protocols like HTTP, TCP-IP and MQTT, etc.
Experience Required : Minimum 4 Years
Expected Salary : 4 - 5.5 CTC

