Sign in

Senior Software Engineer, Embedded Software Engineer, Firmware Enginee

Scottsdale, AZ
March 14, 2019

Contact this candidate


Robert Bennett



Software, Firmware and Hardware Engineer – skilled in creating embedded systems with work found in a broad range of applications and products including; IoT enabled devices, vehicle steering & control, WiFi/Bluetooth enabled printers, solid state hard drives, cross platform GUI applications and telephony equipment.


Benchmark Electronics

Tempe Arizona

July 2018 – March 2019

Senior Software Engineer creating a variety of applications including Bluetooth BLE heart-rate/temperature monitoring, and sensor interfaces for GPS location, accelerometers, etc. Technology involved:

- Bluetooth/BLE - WiFi - UWB

- Medical sensors - SPI bus - I2C bus

- ARM SoCs - PIC/MPLAB X - C/C++/Python

- Jira & bitbucket - Git - Linux/Windows

- Bash/Batch - Zephyr RTOS - Nuttx RTOS


Scottsdale Arizona

September 2017 – June 2018

Senior Software Engineer creating auto-steering and machine control functions for agriculture tractors, combines, and other farm equipment. Technology involved:

- C/C++ - Qt/QML - Linux

- GIT/SVN - Yocto - IA and ARM CPUs

- CAN - USB/SPI/I2C - RS485

- RS232 - GDB/DDD

11682 N 91st Way - Scottsdale, AZ 85260

Intel Corporation

Chandler Arizona

April 2017 – September 2017

Senior Consulting Software Engineer with IOTG’s Retail team creating embedded systems software and firmware to support the Intel Retail SDK – creating interfaces for sensors, motor controllers, internet, wireless devices, LCD touch panels, PoS card readers etc. Technology involved:

- C/C++ - Qt/QML - HTML/Javascript

- Linux - FreeRTOS - WiFi/Bluetooth

- USB/SPI/I2C - CAN - RS232/RS485

- Visual Studio - MPLab X - PoS devices

Knox Company

Phoenix Arizona

January 2016 - December 2016

Senior Consulting Software Engineer working with hardware and software developers to review schematics and documentation in order to create IoT enabled keys, locks & vaults. Created firmware to implement the secure SSL/AES communication layer state machine, the event timing subsystem, and the Jason message communications parsing state machine. Technology involved:

- C/C++ - Jason - Wolf SSL library

- Encryption (AES) - TI ARM CPUs - TI-RTOS

- USB - WiFi/Bluetooth


Scottsdale Arizona

September 2014 - January 2016

Firmware Engineer for the “Leitz Icon” award winning label printer. Created the firmware for the WIFI/USB printer and for the low-cost USB printer. Technology involved:

- C/C++ - Qt - FreeRTOS

- VisualStudio - MPLab X - Windows/macOS

- iOS/Android - C++ Builder - ARM Cortex A8

- PIC-32 - USB - WiFi/Bluetooth

- SPI Flash - PWM - DC motors

- Stepper motors - Sensors

11682 N 91st Way - Scottsdale, AZ 85260


Rochester Minnesota

February 2012 - September 2014

Senior Consulting Software Engineer working with ASIC designers to develop the embedded SoC Firmware that managed the PCI Express endpoint and the NVME/PQI data transport hardware. Technology involved:

- C/C++ - ARM-assembly - Visual Studio/Eclipse

- ARM Cortex-M4 - PCI express - NVMe/SOP/PQI


Created the SSD NVME/SOP/PQI QEMU hardware interface emulation environment, enabling early development and debug of OS device drivers and the non-PCIe interface specific SSD Firmware (i.e. the firmware that performed hard-disc read/write operations, NAND Flash wear leveling, etc.).

Prototyped the “HDM” (HGST Drive Manager) cross platform enterprise class hard-drive management windows/linux GUI application and Storage SDK/library for Windows Server, Solaris, CentOS, etc. Technology involved:

- C/C++/Java - CMake/Gerrit/Jenkins - Jira/Bitbucket Intel Corporation

Chandler Arizona

September 2000 - February 2012

Senior Software Engineer responsible for creating a series of BIOS for reference boards showcasing Atom to Xeon class processors, implementing both UEFI and Legacy BIOS. Technology involved:

- C language - AMI tools & utilities - TianoCore EDK-II Created and maintained several software applications including a FLASH recovery utility and PCIe interface diagnostic (in Python) and a hard-drive staggered spin-up EFI application (in C). Led the VxWorks RTOS team creating the WindRiver used on Intel RAID hard-drive controllers and Intel NAS (Network Attached Storage) reference designs. As such I created BSPs (board start-up code) for many hardware targets and created drivers for XScale ARM SoC peripherals (SCSI, SAS & SATA drive interfaces, PCI bus interfaces, Dual Port RAM, DMA, DDR, DRAM, SRAM, SMBUS, I2C, etc.). Created BSPs and Bootloaders for Intel XScale ARM embedded Linux distributions found on the Intel Storage group’s reference boards. 11682 N 91st Way - Scottsdale, AZ 85260

Participated in pre/post silicon validation and silicon tiger team efforts:

- Developing Windows hardware drivers using Jungo WinDriver and Visual Studio to validate various hardware interfaces.

- Developing test code using Python and Visual C++; helping resolve silicon design & fab issues.


Phoenix Arizona

September 1998 - September 2000

Senior Software Engineer for networked telephony products, developing firmware for call control and telephony line cards using:

- C/assembly - Ethernet - TCP/IP

- UDP - VOIP H.323 - POTS, T1, ISDN


Scottsdale Arizona

1985 -1998

Senior Software Engineer responsible for software, firmware and hardware for PBX and Key telephone systems, supervising 3 engineers to create highly reliable call control processing systems.

- Windows software applications

- C++ Builder - ctree database - System config app

- Remote monitor app - SMDR billing app

- Call processing control firmware

- C language - RTOS - Station features

- Trunk features - SMDR logging

- Line card firmware

- C/assembly - RTOS - drivers

- Line interface protocols (keyset, POTS, T1, ISDN, etc.)

- Hardware

Using CAD and various HDL and visual vendor tools I synthesized logic and performed simulations to create ASICs, FPGAs, GAL/PALs etc., and assisted in component selection and PCB board layout design and reviews. I created an ASIC for the 1st implementation of my patent, which networked digital voice data between all points in Vodavi PBX systems. I designed various analog circuits (e.g., amplifiers, filters, power supplies). And I worked on productization teams to acquire UL/CSA/CE and FCC certifications.

11682 N 91st Way - Scottsdale, AZ 85260


US Patent number: 4,998,249

Created a hardware method for networking voice data packets from one point to another over an internal system back-plane - greatly reducing the amount of discrete logic in Vodavi’s PBX systems. Education:

DeVry niversity, Phoenix, AZ

Graduate: BSEET (Electronics Engineering Technology) 11682 N 91st Way - Scottsdale, AZ 85260




C, C++, Delphi, Python, assembly language, Windows & DOS Batch, PowerShell, Bash, C Shell, etc.

IDEs Visual Studio, RAD Studio/C++ Builder, XCode developer suite, QtCreator, K-Develop, Eclipse, Code Composer, Microchip MPLAB X, Atmel Studio, IAR, TI CCS, etc.


Tool Chains

Microsoft Visual Studio (C, C++, .NET, C#)

GNU, MinGW, Cygwin (GCC, GDB, Binutils, etc.)

Apple XCode

Embarcadero RAD Studio, C++ Builder, Delphi

SQL and C-Tree

OS Windows, DOS, FreeBSD, Linux (Ubuntu, Debian CentOs, etc.), Embedded Linux (MonteVista, WindRiver, uClinux)

RTOS Zephyr, Nuttx, VxWorks, Nucleus, TI-RTOS, FreeRTOS, BIOS Version


GIT, SVN, CVS, PVCS, ClearCase, bitbucket, Jira, etc. Build


make, CMAKE, Jenkins, Gerrit Code Review, Yocto, Docker, etc. Debug GDB, JTAG, ITP, ICE, ROM EMULATOR, QEMU

CAD OrCAD, P-Cad, ProCad, Eagle

Logic PAL, GAL, CPLD, FPGA, ASIC (HDL, Verilog, Palasm, ABEL, LAVA, etc.) Memory NAND-FLASH, SPI FLASH, EPROM, EEPROM, DRAM, SRAM, DDR/2/3, MMU, DMA controllers.

Peripherals USB, SPI, I2C, CAN, RS232/485, ADC, DAC, CODEC, Timers, PWM, DMA, GPIO, 10/100/1000 Gigabit Ethernet, WiFi, Bluetooth, SAS, SCSI, etc.

Hardware PCI/PCIX/PCIe, Super Caps, Lithium Ion batteries, DC motors, stepper motors, solenoids, key-pads, LCDs, capacitive touchscreens, etc. Telephony ISDN, T1, E&M, DID, LS, GS, SLT (pots) & advanced key-telephone interfaces, Automated Attendant, ACD, IVR




ARM: Cortex A8, Cortex R4, M3 & M4 (Atmel & TI), XScale ARM Intel: Core i3/i5/i7, XEON & ATOM - 80186, 8080, 8085 & 8051 Microchip: PIC

Motorola: PowerPC, 68000, 68302, 68360, 6805, 6809 Signetics: 8x300 & 8x305 bit-slice processors

TI: TM4C series ARM & TMS320 series DSP

Zilog: Z8, Z80 & Z180

Office Tools Microsoft Office (Word, Excel, Project, Power-Point, Visio, Outlook), Lotus Notes, Kingsoft WPS Office, Apache Open Office, Skype, etc. 11682 N 91st Way - Scottsdale, AZ 85260

Contact this candidate