Experience
2018 — Now
Newtown, Pennsylvania
Developed 32-bit and 64-bit Linux device drivers for various products include IP Radio, Network Switch, Network Recorders, and Data Acquisition devices.
Designed multi-threaded, multi-core applications for routing high-speed data from custom FPGAs to be recorded to media or multicast on a data acquisition network.
Ported application from 32-bit PowerPC architecture to 64-bit ARM architecture.
Wrote XSLT scripts from configuring devices and auto-generating code from XML.
Utilized HTML, Javascript, JSON and SCGI for hosting device webpages on embedded web-server.
Created board-support packages for ARM and PowerPC based products utilizing Buildroot.
Developed C++ embedded compiler for configuring binary files for programming custom FPGAs.
Served as code reviewer for fellow engineers.
Interfaced with customers to gather requirements and troubleshoot issues in the field.
Used JIRA for bug and task tracking.
Developed test scripts utilizing Python and bash.
2015 — 2018
Piscataway, NJ
Developed configurable WiFi based Internet of Things (IoT) device. Design included configuration of I/O via JSON file, command & control of device via Internet, and firmware updates over the air via the Internet.
Integrated IoT device with customer products. Products included self-cleaning toilet, truck wash, and water mixing valve.
Designed next generation Android based controller for steam shower product line. Design included Android service running on SnapDragon 410 with embedded HTTP & XML RPC Server and serial communications to slave microcontroller.
Developed board support package for Android based controller including modifying Linux touch screen driver and customizing Android based on requirements.
Implemented Raspberry Pi based repeater of wireless packets in Python.
Generated test server for Internet of Things products utilizing PHP, Javascript, and mySQL.
Coordinated with sales to generate requirements and specifications for products.
Teamed with sub-contractors to integrate and troubleshoot Internet of Things server with embedded devices.
Participated in customer meetings to present capabilities and solutions to problems.
Supported customer quotes and on-site meetings.
Developed software development and source control policy.
2011 — 2015
Newtown, PA
Developed Linux based device driver for IP Radio. Design included MAC Layer framing and fragmenting of IP and Link Layer packets, ARQ, transmission slot scheduling, MAC Frame reception, and re-assembly of IP packets.
Modified multi-threaded application to manage SOQPSK IP Radio. Design included handling custom UDP & TCP protocols for Radio queue management, configuring SNMP to handle custom MIB for Radio, XSLT scripts for configuration via XML, and webpage for radio management.,
Customized single thread static multicast router to support dynamic multicast routing in IP Radio with IGMP.
Wrote device driver and single threaded application for managing I2C EEPROM to store encryption keys for IP Radio.
Added feature to multi-threaded application to allow for firmware upgrades to be initiated from application as opposed to boot loader.
Added feature to ARINC-664 data acquisition unit to extract ARINC-429 data words from customer specified protocol.
Developed board support package for new PowerPC 440 based processor board for Linux 2.6 kernel with U-Boot boot loader.
Participated in customer design reviews, requirement reviews, and technical interchange meetings.
2011 — 2011
2011 — 2011
Conshohocken, PA
Developed embedded software for ARM7 processor for automotive CAN multiplexing system utilizing the Keil RTX RTOS. Design included CAN, USB, FAT File system, and data recording.
Planned projects from concept to completion in order to meet company goals.
Wrote support software in Visual Basic and C# .NET to support testing of software products.
Designed Java based data retrieval and manipulation desktop software in support of vehicle data recorder.
Interacted with management and sales team to develop product requirements.
Tracked and fixed defects in version control system.
Maintained and bug fixed software written by other engineers.
Supported customers on-site to troubleshoot problems and to gather voice of customer.
2006 — 2011
Warminster, PA
Wrote device drivers for peripherals, including UARTs, SPI devices, GPIO, and MIL-STD-1553 RTs & BCs in embedded C for PowerPC 405 embedded in Xilinx FPGA.
Served as primary software architect and developer for Munitions Control Unit program. Design included stores management system and graphical user interface (GUI)
Developed embedded C for smart bomb rack operation flight program for PowerPC 405 and 8051 microcontroller. Design included inter-processor RS-422 serial bus, MIL-STD-1553, and internal built-in test.
Maintained embedded C code for an 8051 microcontroller design that provided pressure and temperature monitoring via CAN bus.
Created desktop simulators, test interfaces and support tools in Visual Basic 6.0, Visual C++ and Labview.
Participated in full software development process, including requirements development, code review, test plan development, hardware integration, and system integration.
Designed electronic circuit card assemblies for military environments, including digital control circuits for MIL-STD-1760 power switching, comparator voltage level detectors for internal built-in test and safety critical hardware design.
Developed microprocessor interface circuitry for MIL-STD-1553 avionics bus, RS-232 and RS-422 serial communications and Analog to Digital converters.
Designed PC based test interfaces for testing circuit card assemblies and entire systems.
Served as primary electronics engineer for Enhanced Smart Triple Ejector Rack (ESTER) and Digital Improved Triple Ejector Rack (DITER) smart bomb racks.
Maintained VHDL on Xilinx Virtex II Pro and Coolrunner FPGAs.
Education
Drexel University
Master of Science (M.S.)
2006 — 2010
Penn State University
Bachelor of Science (B.S.)
2000 — 2004
Hopewell Valley Central High School
High School Diploma
1996 — 2000