Unmanned Rig


The last project of my undergraduate life was an industrial embedded system. Wabco, a major hydraulic system manufacturer, wanted a system that would continuously monitor a testing rig. Testing rigs are those machines that they use to test the hydraulics and this involves pressure and temperature parameters. The system should be able to monitor these parameters for sustained periods of time (24X7). The operator is required to give lower and higher threshold values for each parameter at the start of a testing cycle and then the system measures the parameters to see if they are within the 2 thresholds. If not, then there is an abnormality and in the event of any abnormality, the system should report it to the operator through a SMS and stop the rig. For completeness, the board has a display that sequentially displays the parameter values. The embedded system is designed to handle 6 pressure values from 6 pressure transducers and 2 temperatures from K-type thermocouples.

A major feature of the board is an indigenous solution to a local problem we have in Tamil Nadu – power cuts. The board is designed to detect these power cuts and intimate the operator and when the power resumes, the rig is automatically restarted without manual intervention – automation.

The major components of my design were an MSP430G2553 microcontroller (for central processing), an ATMega16 microcontroller (to provide display data for the 7 segment displays through IC7447 decoders), a GSM module interface (to send the SMS), a MAX4617 multiplexer (to channel the 8 sensor values), a relay (works in tandem with the rig’s control switch to stop or start it) and on-board power regulators for the power supply. After the schematic development, PCB layout & manufacture and assembly of components – the result is:


The embedded system’s top side (above) and the bottom side (below)



For ‘industrial reasons’, I wasn’t allowed to take my phone to record the video of the board working with the rig, but here is the next best video I have – the testing of the board with 1 pressure and 1 temperature monitoring.

The curious thing about doing an industrial project is preparing and analyzing FMEA – Failure Mode and Effect Analysis to evaluate the performance of the system. This is my FMEA for the Unmanned Rig

Production Recorder


This project is about a system that can help supervisors to monitor production in manufacturing stations. Currently, a supervisor relies heavily on the logs created by the personnel which leaves plenty of room for lethargy and inefficiency.  I came to know this through Niranjan, a mechanical engineering friend of mine, who noticed this ‘corruption’ during his implant training. This project is the solution that I came up with.

Most modern manufacturing machines, especially the CNCs, have a stack light or machine status lights to indicate the state of a machine. Typically a stack light will have 3 lights – Red indicating breakdown, Yellow indicating a job in progress and Green indicating that the machine doors can be opened for retrieving or setting the work piece. Therefore the transition from yellow to green indicates the end of a process and at the end of each such process there is a finished workpiece.


Machine Status lights or Stack lights

The Production Recorder system has multiple transmitters, each associated with a single machine, to communicate with a central receiver. Each transmitter module monitors the stack lights of its associated machine. This is done by using light sensors to detect the light or simple level translators to see the electrical signal supplied to each light. The microcontroller in these transmitter modules is programmed to read the light being ON or OFF as a digital input for processing. At every Yellow to Green transition, the transmitter module’s microcontroller, a MSP430, understands that a job is finished and expects the operator to tell the result of the job. It does so by waiting for one of three buttons to be pressed- the crossed button (bottom) for defective, the dashed button (middle) for minor faults and the clear button (top) for Quality Check Passed. The operator is required to check the workpiece and press one of the three switches on the transmitter module for good, minor fault or defective.


Every job and its result is reported by the transmitter to a central receiver. The transmitters send specific codes detailing the particular machine number and the quality of the current job to the central receiver via the ‘NRF24L01+’ RF transceivers. If in case the operator does not press any switch and another process starts (when the microcontroller sees Yellow during its wait state) a warning code is sent. In the event of a breakdown and the microcontroller sees the Red light, a breakdown code is sent. These codes are obtained by the central receiver through the same transceiver. The central receiver also has a ‘HC 05’ Bluetooth module to transfer these codes to the supervisors mobile for processing. The central receiver functions as a link between the individual transmitters and the android app.


The custom built app processes these codes and updates production values on the screen. The codes are used to determine which machine and its current job result to increment the appropriate value on screen.  In case of a breakdown, the machine title gets displayed in a red background to notify the supervisor that something is wrong with the machine.


Screenshot before establishing Bluetooth Connection through ‘Source Select’

If the machine is repaired and resumes production after a breakdown, depending on the next job result an increment occurs and the title color of the appropriate machine goes back to its normal color. As a proof of concept prototype, the project’s transmitter module microcontroller simulates the stack lights by providing the signals to the LEDs appropriately and then reading that as an input. Practically, the concept and method remain the same.

Future work can be done to take an IoT based approach so that the data can be accessed by any authorized person anywhere anytime. Also, the app can be modified in order to automatically generate a variety of plots using the obtained data for performance evaluation and personnel management. This system and its concept is primarily aimed to help a supervisor keep better track of the production in real time. Subsequently, this creates a production optimized environment where lethargy and inefficiency can be greatly reduced by careful monitoring.

Wireless MPPT through Xbee


MPPT stands for Maximum Power Point Tracking and it is a highly efficient technique used in the solar energy domain. Intuitively, what MPPT does is to literally draw as much power as possible from the solar panel. Power is, by definition in the electrical domain, the product of voltage and current. So, what MPPT or at least the tracking part of MPPT does is to vary the voltage using a converter (usually a buck converter) and look at the corresponding values of current. Then it (it being a microcontroller) calculates their product or power and decides the combination of voltage and current where the power obtained is maximum. Then it operates the circuit at that maximum power point for efficient functioning. MPPT, fundamentally, is an algorithm that runs as a program in a controller to achieve this maximum power state.


This is my implementation of a MPPT system. Even in MPPT, there are many algorithms like incremental conductance etc. However, I used the Perturb & Observe method. Quite simply put, the controller keeps slightly changing the voltage (perturb) and checks if the power increases or decreases (observe). If, power increases it continues to change the voltage in that way until it reaches a peak point which is the maximum power point. In theory, I haven’t changed anything with regard to MPPT, however I added an Xbee module to allow wireless data transfer.

So what this system does, is to get the electrical data about voltage & current and transmit them to any remote computer. This is exceptionally important for day long analysis that can be carried out efficiently only by a computer when it would be impractical to leave a computer under the sun for an entire day. In my implementation, I chose to do the analysis in Matlab but the applications can be diverse. Anyway, the main purpose is the same – transmit data wirelessly to any processor (in a more sheltered place) for analysis and by extension detailed calculations.