Learning by doing
In Emertxe we strongly believe learning is far more efficient when the person is encouraged to develop solutions with their own-hands. With this approach individuals will go through “do-reflect-generalize-apply” cycle thereby able to meet industry expectations. Applied Learning is key for long term career building.
“I hear and I forget. I see and I remember. I do and I understand”
Build Real Products and Solutions
Emertxe hands-on approach makes you learn Embedded Systems and IoT programming in the right way. Ample amount of hands-on exercises, template programs, assignments will surely build your confidence. However placement companies look for projects that really ensures you know a particular technology well.
In each module of our Embedded and IoT courses, you will be provided with a set of projects that is based on real time use-cases. These projects will test your ability to apply a particular aspect and demonstrate a working output. They will also expose you process oriented software development approaches like SDLC, using which you will be able to convert given requirements into a working output.
A sample list of projects
Have a look into our sample list of projects. The actual list is much longer than this. By implementing these projects in a hands-on manner, you will build sound fundamentals to become successful in your long term career in Embedded Systems and IoT.
- Command Line Test
- Image Steganography using LSB
- Red Black Tree(RBT)
- Trivial File Transfer Protocol (TFTP) – RFC 1350
- CAN based node communication for Automotive
- Kernel Optimization – Footprint and boot-time reduction on ARM
Command Line Test
|Project brief||Command line test is a BASH shell based tool that simulates login based online testing scenario. Initially the user will be provided with sign-in option where pre-defined users will be allowed to login. Upon successful login this tool will display questions for the user from existing data-base. It will also handle error conditions like time-out.|
This tool will also store answers provided by users for future verification.
|Module||Linux Systems & Shell programming|
Image Steganography using LSB mechanism
The art and science of hiding information by embedding messages within other, seemingly harmless messages. Bits of unused data are replaced by bits of valuable information using LSB mechanism. Sender and receiver will have individual key / secret based on which they will be able to extract the actual data from the image.
This project also gives basic level understanding of image processing methodologies.
|Module||Advanced C programming|
Red Black Tree(RBT)
A red–black tree is a kind of self-balancing binary search tree. Each node of the binary tree has an extra bit, and that bit is often interpreted as the color (red or black) of the node. These color bits are used to ensure the tree remains approximately balanced during insertions and deletions. Though it is not perfectly balanced tree, it is good enough to allow it to guarantee searching in O (log n).
The goal of the project is to implement all RBT operations and achieve optimal searching for large set of data.
|Module||Data Structures & Algorithms|
Implementation of Trivial File Transfer Protocol (TFTP) – RFC 1350
The Trivial File Transfer Protocol (TFTP) is a simple way of transferring file between two systems. This protocol is specified in RFC 1350.This protocol doesn’t support advanced available in FTP (ex: User authentication), typically used in Embedded systems for its smaller footprint and simplicity.
The goal of this project is to understand RFC and implement the protocol in a LAN environment. Eventually this project can be extended for advanced cases
|Module||Linux Internals & TCP/IP Networking|
CAN based node communication for Automotive
A Controller Area Network (CAN bus) is a vehicle bus standard designed to allow Microcontrollers and devices to communicate with each other in applications without a host computer. It is a message-based protocol, designed originally for multiplex electrical wiring within auto-mobiles, but is also used in many other contexts.
The goal of this project is to implement CAN protocol based data exchange between two PIC based boards, which are acting as “nodes”. In this
Kernel Optimization – Footprint and boot-time reduction on ARM
In multi-tasking Embedded systems, having an optimized Kernel is one of the key requirements. With clear understanding of source code organization and various turning methodologies Linux Kernel size can be optimized. In the similar way understanding U-Boot, optimization of boot time can also achieved.
The goal of this project is to gain exposure in terms of Kernel optimization by creating a customized Kernel for an ARM based target.
|Module||Embedded Linux on ARM|