Robert Bennett
ac8sfd@r.postjobfree.com
Profile:
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.
Experience:
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
AgJunction
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
Esselte/Xyron
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
HGST
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
- NAND FLASH - SRAM/DRAM
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.
Hypercom/Cirilium
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
Vodavi
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
Patent:
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
Technology:
Software
Languages
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.
Software
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
Control
GIT, SVN, CVS, PVCS, ClearCase, bitbucket, Jira, etc. Build
Environment
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
Processors
and
Microcontrollers
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