Post Job Free
Sign in

Software Engineer Electronics

Location:
Scottsdale, AZ
Posted:
June 04, 2025

Contact this candidate

Resume:

Robert Bennett

480-***-**** ******************@*****.***

www.linkedin.com/in/robert-bruce-bennett

Profile

Electronics Engineer skilled in developing embedded firmware, software and hardware. Examples include Smart Lamps, IoT enabled devices, vehicle control systems, server storage systems, solid state hard drives, telephony equipment, and cross platform GUI application development.

Experience

Tomar Electronics Gilbert Arizona (1/2022 – 4/ 2025)

Firmware Engineer developed firmware for ARM-based SoCs that implement various lamp control and smart lamp capabilities for use in vehicles and for static displays (e.g., emergency vehicles, race track signaling, beach condition displays, and road construction signaling).

Sensata Technologies Phoenix Arizona (3/2021 – 12/2021)

Senior Consulting Firmware Engineer responsible for creating the firmware recovery task for a thermal control head test-fixture (used for validating the operational temperature range of AMD and Intel processors), using embedded Linux running on a Raspberry Pi Compute Module.

Spectranetix Mukilteo Washington (6/2020 – 2/2021)

Senior Consulting Software Engineer firmware development for an aviation communication system using Yocto Linux (initially for a TI AM5728/9 development board and then for a Xilinx ZYNQ UltraSCALE+ MPSoCs production system).

Microsoft Redmond Washington (5/2019 – 4/2020)

Senior Consulting Software Engineer keyboard firmware development using Nordic nRF51/52 ARM Cortex M series SOCs. Developed non-RTOS real-time firmware using stand-alone libraries (e.g., the Nordic SDK for internal SOC device control, the Nordic Soft Device BLE protocol stack for wireless connections, the NXP WLC interface library for NFC communications, etc.). I Also created an RTOS-like function library (for task to task signaling, task delays, etc). Created tasks and interrupt handlers for GPIO driven keyboard scanning, PWM LED control, I2C & ADC drivers for battery charging and keyboard power management.

Benchmark Electronics Tempe Arizona (7/2018 – 3/2019)

Senior Software Engineer responsible for creating a variety of embedded demo firmware applications and device drivers using Nordic ARM Cortex M series SOCs and Microchip PIC SOCs by using various RTOS (FreeRTOS, ThreadX, Zephyr, Nuttx, etc.) or simple bare metal task dispatchers to demonstrate Benchmark’s capabilities at trade shows and to prospective clients. Firmware projects included demos in C and C++ for wireless medical heart rate and temperature sensors. Projects exhibiting secure wireless voice communication. Wireless tag projects exhibiting extreme battery power management techniques. Projects showing physical location within a predefined mesh network. And projects demonstrating LTE-M cellular IoT connectivity. Created device drivers for various RTOS (ThreadX, FreeRTOS, Zephyr, etc.).

AgJunction Scottsdale Arizona (9/2017 – 6/2018)

(subsequently acquired by Kubota in 2021)

Senior Software Engineer helping create auto-steering and machine control functions for farm equipment including tractors, combines, etc. For one project I modified the existing CAN device driver (itself written in C), to capture certain CAN messages emanating from different manufacturers farm equipment and converted them to Qt signals that were then sent to specific Qt slots. Upon receiving the Qt signals the appropriate video feed would be established for the equipment operator to monitor. In Yocto I fixed various build errors for several projects - mostly related to bad URLs to remote packages and/or for Bitbake issues that cropped up after updating packages.

Intel Corporation Chandler Arizona (4/2017 to 9/2017)

Senior Consulting Software Engineer with Intel’s IOTG’s (Internet of Things Group), creating embedded systems software and firmware to support the Intel Retail SDK. I worked on 3 aspects of the SDK:

1. PIC-32 vending machine firmware (implemented in C), designed as the interface to all physical aspects of vending machines, performing product selection by keypad or LCD touch screen, prompting for and receiving payment via MDB/ICP com port bill acceptors, coin change makers and credit card readers, and for dispensing product by use of PWM driven motors while monitoring delivery progress at various sensors).

2. Intel NUC mini-PC Linux/Windows vending machine applications, interfacing to the above PIC-32 vending machine firmware. Written to manage the vending machine inventory (via SQL database) and to be the secure WiFi/Ethernet interface through which the owner/manager configures, monitors and controls vending operations.

3. Intel NUC mini-PC Linux/Windows kiosk controller application, capable of interacting with the public via camera and LCD display to provide information and advertising.

Knox Company Phoenix Arizona (1/2016 to 12/2016)

Senior Consulting Software Engineer working with hardware and software developers, reviewing schematics and documentation to create IoT enabled vaults, locks and keys. Created firmware (written in C and C++) to implement the secure TLS/SSL/AES communication layer state machine, the Jason message communications parsing state machine and the event timing subsystem. The embedded device firmware I created was for TI ARM Cortex SOCs. Using the TI RTOS I created device drivers for SPI devices (controlling the battery charger, RTC Watch-Dog, etc.) and created RTOS tasks to manage keypad and button scanning, Jason message encode/decode, motor and/or solenoid locking and unlocking, BMS tasks (implementing battery charge control, battery status monitoring and performing sub-component power control to extend battery life), and more.

Esselte/XYRON Scottsdale Arizona (9/2014 – 1/2016)

Firmware Engineer for the “Leitz Icon” award winning label printer. Navigate to my LinkedIn page (www.linkedin.com/in/robert-bruce-bennett) to watch a YouTube video of the printer in action. I completed two firmware projects:

1.The IOT WIFI/USB printer (using 2 SOCs).

2.The cost-reduced USB only printer (using 1 SOC).

Additionally, I created the initial GUI test programs in C++ using the Embarcadero cross-platform tool-chain - demonstrating printer operation on Windows, macOS, iOS and android platforms.

HGST Rochester Minnesota (2/2012 – 9/2014)

Senior Consulting Software Engineer worked with ASIC designers to develop embedded ARM Firmware to manage the PCIe/NVME/PQI endpoint.

Created the SSD NVME/SOP/PQI QEMU hardware interface emulation environment to enable early development and debug for 1) the host side OS device drivers and 2) the interface emulation for the hard-drive side NVMe interface enabling debug for the actual SSD drive Firmware (created by others) prior to ASIC and drive hardware availability.

Prototyped the “HDM” (HGST Drive Manager), a cross platform enterprise class hard-drive management utility using Visual Studio and C++. After the prototype showed promise, I helped convert the Visual Studio GUI Microsoft Windows Server project into a cross-platform Java project, enabling “HDM” to run on Windows Server, Solaris, CentOS and other server platforms.

Intel Corporation Chandler Arizona (9/2000 – 2/2012)

Senior Software Engineer leading the VxWorks RTOS team, porting the WindRiver RTOS for the Intel XScale ARM SOCs. These VxWorks ports were used on several Intel RAID hard-drive controllers and Intel NAS reference designs. I helped create the VxWorks BSPs (board start-up packages) for several ARM XSCALE targets and created device drivers for XScale ARM SoC peripherals such as the SATA & SAS hard-drive interfaces, the SOC’s DMA engines, and for communications interfaces (UART, I2C & SPI).

I also created a series of BIOS for server reference board designs showcasing Intel processors from the Atom to Xeon class server platforms (implementing both Legacy BIOS and UEFI BIOS using AMI (American Megatrend) tool chanis).

I also created several software applications. I wrote a Python FLASH recovery utility (used to update Firmware on Intel SCSI PCI/PCIe hard drive controllers). I wrote a PCIe interface diagnostic to evaluate and test new versions of XScale ARM silicon. And I wrote a BIOS EFI application (requested by a customer) to sequentially stagger hard-drive spin-up at power-on, enabling their servers to use a much less expensive power supply.

I also participated in silicon validation and silicon tiger team efforts:

- Developing Windows hardware drivers using Jungo WinDriver and Visual Studio C++ projects to validate hardware interface functionality.

- Developing test code using Python and Visual C++; helping to bottom out on silicon design & fab issues.

Hypercom Phoenix Arizona (9/1998 – 9/2000)

(subsequently acquired by VeriFone Systems in 2011)

Senior Software Engineer working on Hypercom networked telephony products. Developing firmware for call control for telephone line cards and trunk interface cards. I also assisted in developing both the ISDN and VoIP digital telecom protocol stacks.

Vodavi Scottsdale Arizona (1985 to 1998)

(subsequently acquired by Vertical Communications in 2006)

Senior Software Engineer supervising other engineers to create PBX and key-telephone systems.

Call processing control firmware - Using C and assembly language I created firmware for main system boards, implementing Station features, Trunk features, SMDR logging, etc.

Line card firmware - Using C and assembly language I created a proprietary RTOS, RTOS drivers, RTOS tasks to control telephone and keyset interface boards and trunk boards (for the T1 digital trunk board, the ISDN digital-trunk board) and for analog trunk boards (loop-start, ground-start and E&M).

Hardware - Using CAD and various HDL and visual vendor tools I synthesized logic and performed simulations to create an ASIC, FPGAs, GAL/PALs etc., and assisted in component selection, and PCB board layouts.

I created an ASIC for the 1st implementation of my patent, which networked digital voice data between all end-points in Vodavi PBX systems. I designed various analog circuits (e.g., amplifiers, filters, power supplies), and I worked on tiger teams to acquire UL/CSA/CE and FCC certifications.

Windows software applications - Using Delphi and C++ Builder I helped create these GUI applications.

1) The PBX System configuration application.

2) The remote monitor application.

3) The SMDR billing application.

4) The Front-Desk Attendant application.

Education

DeVry Institute of Technology (AKA, DeVry University Phoenix, AZ)

Graduate: BSEET (Electronics Engineering Technology)

Patent

US Patent number: US-4998249-A

Created a hardware method for networking voice & data packets from one end-point to another in Vodavi PBX systems - greatly reducing the amount of discrete logic in Vodavi’s PBX systems.

Technology

Software

Languages

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

IDEs

Visual Studio, RAD Studio/C++ Builder, Qt Creator, K-Develop, Eclipse, Code Composer, Infineon’s PSoC Creator, Microchip MPLAB X, Segger IDE, Debugger & tools, Atmel Studio, IAR, TI CCS, ARM uVision, etc.

Software

Tool Chains

Libraries

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

Embarcadero RAD Studio (C, C++ Builder, Delphi)

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

WolfSSL (Embedded TLS Library for Apps, Devices, and the Cloud), Qt/QML (cross-platform C++ GUI application framework),

SQLite (embeddable SQL Database management system),

C-Tree database engine(a high-speed, embeddable multimodel database engine developed by FairCom Corporation)

OS

Windows, DOS, FreeBSD, Linux (Ubuntu, Debian CentOs, etc.),

Embedded Linux (MonteVista, WindRiver, uClinux)

RTOS

FreeRTOS, VxWorks, Nucleus, TI-RTOS, Zephyr, Nuttx, ThreadX

Version

Control

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

DevOps

Azure, make, CMAKE, Jenkins, Gerrit, Yocto, Docker, SDLC, etc.

Debug

GDB, JTAG, SWD, ITP, ICE, ROM EMULATOR, QEMU

Algorithms

ECC, CRC, LRC

CAD

OrCAD, P-Cad, ProCad, Eagle, Altium Designer

Logic

PAL, GAL, CPLD, FPGA, ASIC (HDL, RTL, Verilog, PALASM, ABEL, etc.)

Memory

NAND-FLASH, SPI FLASH, EPROM, EEPROM, DRAM, SRAM, DDR/2/3, MMU, DMA controllers.

Peripherals

USB, SPI, I2C, I2S, CAN, RS232/485, ADC, DAC, CODEC, Timers, PWM, DMA, GPIO, 10/100/1000 Gigabit Ethernet, TCP/IP, UDP, WIFI, Bluetooth, SAS, SCSI, BMS/Battery-Charger/Management, etc.

Protocols

SNA, SDLC, HDLC, Async RS232/485, CAN, Google Protocol Buffers, etc.

Hardware

PCI/PCIX/PCIe, Lithium-Ion batteries, DC motors, stepper motors, solenoids, LCDs, key-pads, key-boards, touchscreens

Telephony

ISDN, VoIP, T1, E&M, DID, LS, GS, SLT (pots) & advanced key-telephone interfaces, Automated Attendant, ACD, IVR

Wireless

WiFi, Bluetooth BLE, LTE-M & FM RF modules

Processors

and

Microcontrollers

ARM: Cortex A8, A53, R4, R5, M0, M3, M4,

Intel StrongARM and XScale (IOP series 303, 310, 315, 321, 331, &IOP332)

(Atmel, Broadcom, Marvell XP series, ST, TI, Infineon, Xilinx)

Intel: Core i3/i5/i7, XEON & ATOM - 80186, 8080, 8085 & 8051

Microchip: PIC 8, PIC 16, PIC 32

Motorola: PowerPC, 68000, 68302, 68360, 6805, 6809

Nordic: nRF51822, nRF52832, nRF52833, nRF52840 & nRF9160

TI: TM4C series ARM, Sitara AM5729 & TMS320 series DSP

Xilinx: ZYNQ UltraSCALE+ MPSoC EV devices (ARM/DSP/FPGA)

Zilog: Z8, Z80 & Z180

Office Tools

Microsoft Office (Word, Excel, Project, Power-Point, Visio, Outlook), Microsoft Teams, Apache Open Office, Zoom, etc.



Contact this candidate