The core of my experience is architecting, designing, and writing embedded software, but I’ve also worn many other hats during my career and I like to take on a variety of responsibilities.
Interests:
• Internet of things, M2M, and sensor-network systems
• Embedded software - especially that which utilize Linux and other open platforms, but also smaller-scale systems.
• Applied computer science (algorithm analysis, data structures, and performance optimization)
Expertise:
• Experience in all phases of software development: requirements, architecture, design, implementation.
• Software development experience at all layers, from low-level driver and operating system to application layer.
• Embedded Linux development (everything from tool-chain setup to boot-loader, kernel, and application level coding).
• Expert in C language programming. Proficient at Java, C++, Javascript, Python, and shell scripting.
• Hardware/operating system bring-up using the common tools of the trade (JTAG and serial debugging).
• Software features typical of networked devices (discovery, configuration, and management, firmware upgrade, etc).
• Experience in a variety of industries, including: consumer electronics, energy, datacom, and RFID.
• Have written and presented training sessions for external customers.
• Have experience working across geographical and cultural boundaries, traveling when necessary.
Principal Member of Technical Staff @ Customer facing role developing, debugging, and integrating embedded software.
• Integration of C/C++/Java/Linux based software/firmware stack used on set top boxes and home media servers.
• Work spans all layers of the set top box software including:
o kernel and drivers
o middleware (coordinates all components including a/v decoding, recording, and playback as well as program guide, and multi-room setup)
o user interface
o multi-room-video and other network-related components
o build system
• Coordination of integration work between many software and hardware vendors as well as the STB provider itself. From November 2011 to Present (4 years 2 months) Senior Software Engineer @ One of the first four embedded software engineers at the present iteration of Ambient (since they re-tooled to focus on smart-grid opportunities), who built the embedded software that is still at the core of the company’s flagship product: an M2M platform which has shipped over 100,000 units and is installed on utility poles all over the southeastern United States.
• Set up the embedded Linux environment (cross-compilation toolchain, Linux kernel and root filesystem, and build environment for smart-grid applications)
• Worked on the Linux portion of board bring-up for PowerPC based hardware, as well as hardware based on an Altera FPGA based “system on programmable chip” programmed to include a Nios2 “soft core” CPU.
• Acted as a feature lead for several components.
• Designed and implemented a framework that provides a common interface into different modem vendors’ software development kits. Wrote adapters that use this framework for a number of 3G and 4G cellular modems.
• Architected and implemented user privilege model for product.
• Architected and implemented data collectors for several meter reading devices and GPS location tracking devices.
• Merged the code for two functionally similar products into a single common code-base that can be built for multiple hardware platforms.
• Designed and lead a small team in the implementation of a Cisco-like command-line interface and associated SQLite3 based configuration system.
• Frequently diagnosed and resolved issues brought forward by the external customer service group. From May 2008 to November 2011 (3 years 7 months) Software Engineer @ • One contract involved porting Linux to a new system-on-chip architecture (ARM-926EJ-S core).
• The other contract involved updating a Java/Swing UI application. From February 2008 to April 2008 (3 months) Project Engineer @ I was the engineer responsible for developing and maintaining the embedded Linux distributions and network code that are used on the company’s network-enabled “smart RFID reader” products. I also did some UI work and acted as instructor for a monthly device API training course. Development process progressed during my time here from little process at all to a fairly successful adoption of Agile/Scrum.
• Built and maintained the Linux distribution and performed board bring-ups for Intel Xscale and ADI Blackfin based boards. Customized the RedBoot and u-boot boot-loaders.
• Led a project to design and implement a graphical user interface in Java/Swing that interfaces with a device’s serial API. This application still ships with the company’s embedded RFID reader development kits.
• Designed and implemented a firmware packaging and upgrade scheme.
• Added new features related to product’s scheduling and RF interference mitigation.
• Resolved numerous network-related technical issues pertaining to the first large-scale customer deployment.
• Instructed training courses for customers who wish to program to device’s API.
• Acted as release engineer for product firmware releases. From March 2005 to February 2008 (3 years) Senior Software Engineer @ A variety of software/firmware engineering roles in a number of different business units and product lines.
• Board bring-up, VxWorks and Linux boot code, and diagnostics code (manufacturing diagnostics, DVT, and POST) for a variety of different carrier-class and enterprise datacom and IP telephony products.
• Designed and implemented lots of network and platform features.
• Worked on-site in China and England on a development project that truly spanned the globe.
• Designed and specified a network management user interface that was implemented by a partner in China. From January 2000 to March 2005 (5 years 3 months) Software Engineer @ • Designed, developed, and coded real-time application level software for air traffic management systems.
• Instructed customer training courses about code maintenance and debugging. From January 1998 to December 1999 (2 years) support engineer @ Supported wind-tunnel data acquisition systems and software. From 1996 to 1997 (1 year)
Bachelor's degree, Computer Science @ Indiana University Bloomington From 1992 to 1995 Computer Systems Networking and Telecommunications @ San Jose State University From 1997 to 1997 Dave Rensberger is skilled in: Embedded Systems, Embedded Linux, C, Linux Kernel, TCP/IP, Wireless Sensor Networks, M2M, Integration, C++, Device Drivers, Linux, Debugging, Operating Systems, VxWorks, RFID+
Websites:
https://github.com/drensber/mpbox/wiki/mpbox-and-mpservice,
http://www.beechwoods.com