Prakshesh Patel (U.S. Citizen)
**** ****** ****, **** ***** IN, 46835 260-***-**** acucno@r.postjobfree.com
linkedin.com/in/praksheshpatel
Education
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
Matlab
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