Project Examples


Interactive embedded system using internet resources.

The project objective was to design an interactive system capable of receiving, processing, and displaying ADS-b data (live air traffic received directly from surrounding aircraft). The data would then be overlaid onto Google maps imagery in a scalar form. The design included internet connectivity to acquire Google maps, correlated web data from individual flight plans, and access to a secure FTP server to exchange proprietary data. The final result was a small desk-top picture frame displaying live air traffic and a video of it can be seen at the bottom of this page.

Due to the small size of the project, yet diffuse location of many of the project members, the chose the Agile method to optimize communication through an iterative and consistent progression during the project. While I designed the hardware, software, and PCB layout, other portions of the project also needed to be kept in sync. For example, parts planning and acquisition, our contract manufacturer, and especially the "frame", or the physical enclosure, needed to be well-designed, modeled, and molded by our third-party project partner. 


Hardware Design

The main purpose of the hardware for this project example was to support a TFT 800x480p LCD display and the 1.09 GHz RF receiver capable of receiving ADS-b down-link messages. To achieve optimal performance at minimal cost and to take advantage of several basic software libraries offered by the manufacturer, a 16-bit Microchip DSP microcontroller was chosen for the project. The access the ADS-b data, the RF receiver design was implemented using COTS parts, including the LNA, mixer, and the IF filter (designed using LC lumped components). However, the RF filter was custom designed due to its unusual center frequency. Demodulation was accomplished using a hybrid approach between hardware and the DSP microcontroller. In addition, the design also included a DC-to-DC buck converter power supply, LCD controller, auxiliary flash memory, touch screen driver, and various glue logic.      

DeskRadar_HW.jpg
 

Software Design

Using an iterative approach, the software was built in layers starting with the basic hardware drivers which included the RF receiver, TFT display driver, touch screen controller, and several other hardware profiles. Using Microchip's MPLAB-X IDE, the vast majority of software was implemented in C. However, for some short and time-critical operations, in-line assembly was used. Several useful API's were available from the manufacturer, including image rendering and a basic TCP/IP library, therefore, a basic and streamlined RTOS was developed and implemented with relative ease. 

Commercially available images, purchased under license, were used to generate the graphics for this project and were stored in the auxiliary flash memory. The graphics were not only used for static and dynamic functionality, but were also used in tandem with the touch screen functionality to provide full keyboard control to the user in a similar manner by which smart devices operate.       

DeskRadar_HW2.jpg

Prototype Testing

The video shows is a short clip highlighting the functionality of the system as it powers up, initializes drivers, initializes the RF receiver, images, and performs internal testing. After which, it shows live aircraft which happened to be in the vicinity. Additionally, some of the basic user interface functionality is also demonstrated. 


synopsis

In total, this project required less than a year to accomplish and was completed ahead of expectations. While it was never made commercially available, I do believe that it highlights my experience in hardware, software, and even functional engineering design, as well as in project management.