Sign in

Software Engineer Time

Fort Wayne, IN
April 13, 2016

Contact this candidate


Prakshesh Patel (U.S. Citizen)

**** ****** ****, **** ***** IN, 46835 260-***-****


Bachelor of Science, December 2015, Purdue University, Fort Wayne, IN

Major: Computer Engineering

Minors: Mathematics and Physic

Related Coursework: Computer and Digital Design, Computer Programming Series, Electrical Circuit Analysis Series, Microprocessor programming, Computer Prototyping, Embedded Microprocessors, Data Structures, Embedded Real-Time Operating Systems, Signals and Systems, Communication Systems

Skills & Abilities

Operating Systems: Windows, Ubuntu, RHEL 5, Android, iOS, Raspbian

Programming: C/C++, Python, VHDL, ARM, MIPS

Others Skills: UART, I2C, SPI, SDIO

Applications: Keil µVision 4&5, Visual Studio 2012/13, Xilinx ISE, ModelSim, Multisim, LabView, AutoCAD, Microsoft Office, Matlab

Hardware Testing Devices: Oscilloscope, Function Generator, Digital Multimeter, DC Power Supply, Breadboard, FPGA

Languages: English, Gujarati and Hindi

Related Experience

Tic-Tac-Toe Game

Fall 2015

Designed and implemented a Tic-Tac-Toe game with embedded C programming in µC/OS-II Real-Time Operating System

Used 4 threads to implement the game and semaphore to schedule the thread operations

The game board and other parameters were displayed on the LCD of the MCB1700 Evaluation board

The game was interfaced to be controlled by the joystick available on the board

Displayed the winning player or tie and played a sound at the end of the game

MCB 1700 Board LED shifting using Joystick

Fall 2015

Defined Board Support Package (BSP) and Joystick movement with embedded C language in CMSIS-RTX and µC/OS-II Real-Time Operating Systems

Completed the tasks using LED turn on/off control function as well as Joystick position/movement control function in embedded C programming

Used the above BSP to write an embedded C code which uses left and right joystick keys as input and 5 LEDs as output and the default LED set to position 3

When the left joystick is pressed the LED position is shifted to left until position 1 where it stops moving unless right joystick is pressed

When the right joystick is pressed the LED position is shifted to right until position 5 where it stops moving unless left joystick is pressed

The current LED always blinked every 500 ms

CMSIS-RTX and µC/OS-II Signal, Semaphore and Timer

Fall 2015

Driven 5 LEDs on MCB1700 board with embedded C language in CMSIS-RTX and µC/OS-II Real-Time Operating System

First 4 LEDs toggling every second one by one, while LED5 toggles every second

Created 4 different threads for first 4 LEDs with 1 toggling cycle of 1 second

After LED1 is done with its cycle, it signals the thread of LED2. When LED2 is done, it releases a semaphore for the thread of LED3. After LED3 is done with its cycle, the thread releases semaphore for the thread of LED4. The LED4 thread signals the thread of LED1

A separate thread was created for LED5 with a periodic timer of 500 ms

CMSIS-RTX & µC/OS-II Mail, Message, Mutex and Memory

Fall 2015

Communicated with the LCD of MCB1700 Evaluation Board by a code written with embedded C language in CMSIS-RTX and µC/OS-II Real-Time Operating Systems

Task was to display A/D converted value, number of the country in the table, name of the country, capital of the country and time

Achieved the purpose of the project using 4 threads

The thread 1 start A/D converter every 1 second and reads the converted 12-digit value from the potentiometer and CMSIS-RTX/µC/OS-II system tick value. A memory pool and message queue objects are used to store this values and pass them to thread 2

The thread 2 gets message pointer from the queue and display them on the LCD

The thread 3 reads the value every second from an array with information of the country and its capital. The information is then sent to thread 4 using a mail queue

The thread 4 reads the information from the mail queue and displays it on the LCD

Conditional Codes and Prime Number Tester

Fall 2014

Investigated the use of conditional code and branches in ARM Cortex-M3 Assembly Language with the use of Keil MDK-ARM Debugger

Wrote a Cortex-M3 assembly language program to test if any given number is a prime number. The program was tested using different numbers to test

Flow Control and String

Fall 2014

Investigated flow control codes and string/character operation in ARM Assembly language program with the use of Keil MDK-ARM Debugger

Wrote ARM Assembly code that counts vowel and non-vowel letters are in a given string

The string ending with 0 was saved in the memory as DCB

Register R0 was used as the counter for vowels and Register R1 as the counter for non-vowels

UART Polling vs Interrupt

Fall 2014

Investigated LPC 1768 UART unit in polling and interrupt modes with C programming language in Keil MDK Debugger

The program first prints a question asking the capital of a country and 4 options with 1 of them being the right answer through UART0.

Then the program takes in the input from the user and if the choice is correct, UART0 prints “Correct Answer”, otherwise it prints “Sorry, try again”

For interrupt control, UART0 interrupt THRE (for transmission) and RBR (for receive) were enabled

In the program, 1st byte was sent to UART0 THRE and waited until the string was finished transmission and then checks for a received byte

Checked the choice to see if it is correct or wrong and then displayed the same messages as in polling

Bookstore Catalog Application

Fall 2014

Designed and implemented a bookstore system with a book catalog using C++ programming in Microsoft Visual Studio windows application

Each book had a feature of Book ID, Title, Price, Copies, and On Sale status

The system first prints the menu of the bookstore in order for the customers to browse the store options of list all the books, add a book into cart, remove a book from the cart, search, checkout, menu and quit

List all the books options prints the catalog of the book store which has all the books listed with their information and if the book is on stock or not

When add a book into cart is selected, the user has to enter the book ID and the number of copies they need

Remove a book from cart also prompts the user to enter the book ID and number of copies to be removed

Search options prompts the user to enter a keyword string and if the book title contains that string then it will print the corresponding book information

Checkout option will print the content in the card and calculate the total price of the order

Menu just reprints the menu

Quit option will empty the cart and the program will exit


Fall 2011 – Fall 2015

Solved several projects using Matlab application on Windows 7

Solved for variables through set of equations with provided information and parameters

Generated graph for analyzing calculated or provided data, plotted histograms for various number of samples

Wrote codes to determine and plot rate of error for communication systems

Work Experience

Master Control, IPFW College Access Television, Fort Wayne, IN

September 2012 – December 2015

Manage broadcast of programs on TV channel including live programs such as classes and other live events

Ensure programs on air complete flawlessly

Frequently volunteers to manage production of on campus events (recording)

Set up production equipment to ensure the best quality

Business Analyst Intern, Collabera, Charlotte, NC

June 2014 – August 2014

Assisted towards creating response to requestproposal(RFP) from key clients using Microsoft Word

Helped towards conducting market research and data collecting for creating marketing collateral for CLASS team

Attended training on CLASS capabilities, product offerings and data analysis

Trained in creating business relationship diagram using Microsoft Word and Visio

Created charters/trackers for financial reporting using Microsoft Excel and Microsoft Word

Performed time studies and process mapping

Contact this candidate