Projects

Development of a RF Servo motor from a DC motor

This project implements RC servo motor from normal DC motor. The idea, behind this was to have in house cheap RC servos. The major components are DC motor, multiturn potentiometer, Philips P89V51RD2 microcontroller, H bridge controller. It demonstrates practical implementation of PID controller for position control. Challenge was to develop proper constants values for the three controllers and generate error signals as PWM signals. Position information is conveyed through the potentiometer coupled to the shaft of the motor.

Code is written in Embedded C in Keil IDE. The source code and the algorithm is available here.

Game Pad with music player having shell support with customized RTOS

This project implements a Music Player and a console based Tic-Tac-Toe game pad. This is built on RTOS implementing all the required features on STR-9 (ARM-v7 ISA) based Hitex Compstick board. RTOS illustrates the concept of threading, context switching and semaphore. It has a smart Scheduler which maintains Shell, Music Player and Game requirements, completing tasks as required.

The complete project is developed on open source GNU tool chain for arm. Most of the Code is written in Embedded C with exception of Context Switching part of code in Assembly for efficient implementation.

Special Hardware is present to convert the digital parallel output from the board to Analog. It can be ported to any ARMv7 based design with little modification in the STR-9 specific API’s. The source code is attached in the link.

Tic-Tac-Toe game server with multiple game facilities on LAN

This project implements the concepts of Socket programming, mechanism of reliable communication, multi user, multithreading in form of a game server for Tic-Tac-Toe. It can host multiple games simultaneously on LAN. Server maintains all the sessions, tracks their status (by keep alive mechanism) and allows multiple people to view any games on LAN.

It uses standard UDP, Select multi socket handling function and broadcasting protocol for communication. Complete code for the same is attached here. It’s compiled on open source GCC compiler.

Implementation of Superscalar Architecture for ARMv4 ISA

This project aims at implementation of Superscalar Architecture for ARMv4 Instruction Set Architecture efficiently on FPGA. It uses the concept of Super Scalar (Tagging, Reservation Stations, Reorder Buffers and multiple execution units) for non-superscalar friendly ISA and shows the benefit over single pipelined Architecture. Architecture has five stage deep and three parallel pipelines for execution. Implementation of number of different execution units in each pipe stage is done based on our general analysis. It’s not derived from any PD Spec benchmarks. The complete Project is developed on Xilinx 9 and ported on Spartan 3A starter kit.

Complete VHDL code for the project is available here.

Implementation of 8085 ISA in Instruction Chart method

The aim of this project work is to get familiar with the correct approach of complex Digital Circuit design by taking 8085 processor as an example. The method it uses is Instruction chart method, where a chart is made for each instruction showing the required resources in each step. Each instruction is broken in steps (viz. housekeeping tasks, memory operations, and operations specific to it) and each unique step is labeled differently. Once all the instructions are done we can merge the all the common steps and based on architecture we can decide the resources required.

This will help in designing the complete control path and required control words for all the instructions. This project uses the systematic approach of any complex system design. All the documents related to architecture and design and all the IFC are present here.

Micro controlled Status Monitoring of Battle field Tank

This project was done at Defense Institute of Advance Technology (DIAT) Pune, as a part of Bachelor Final year project. The idea was to develop an "Automated system to control and monitor various parameters of a Battle field Vehicles" both on the field and transmit this to base station, under the guidance of Colonel A.K.Sur (Director of Studies, Army) and Prof. Navin Srivastava (BVUCOE).Idea was to design a robust and reliable mechanism for fuel level measurement for vehicles having large volumes of fuel since the large level variation happens due to uneven terrains. Vehicles had old mechanical memory (spring and resistance based) system to store info of certain parameters, aim was to replace these with bigger memories to enable them to store more data important for efficient tracking in battle and to communicate all this info back to base station and remote monitoring without any human intervention on the field. The major challenge was to make this system robust, very low power and fail safe.

The project was completed successfully and all the prototypes were tested successfully. It was developed on AT89c51 microcontroller. Rest all the components were taken as mil grade components. The code was written completely in assembly language and compiled in open source compiler and debugger Pinnacle. The source code and report is present here.

Automated Multistoried Car Parking System using 89C51

This project proposes a solution to one of the major problems in current time. Intelligent and efficient system to guide and help people in car parking is the aim of this project. It guides the driver to empty place, implements multistoried parking. Informs the vacant slots on the floors plus informs when a vehicle is coming on the turn and also helps in parking by indicating appropriate clearance.

The prototype for this project is implemented with AT89c51 microcontroller, stepper motor and various proximity sensors and counters. Code is written in assembly language in open source compiler Pinnacle. Complete code is present here.

RF communication based Smart water level controller

Generally we forgot to switch off the water pump, it comes to our notice only when we have lost lot of water and burnt electricity. This project provides a smart solution for this problem. Low cost and efficient measurement and removal of cluttering of wires is one of the major requirements of this project. Reed switches are used as level sensors. They are placed at different height corresponding to different readings in an Acrylic tube. Floating magnet moves up and down in tube to switch on or off different reeds. No need to have ADC or even microcontroller at the transmitter side. It uses AT89c51microcontroller at receiver side, 434MHz transceiver.

Details of the specifications and features can be found here.

Radio front end receiver filter design with operational amplifier