I have extensive experience designing and developing complex, real-time, mission critical systems for embedded control and sensor processing applications for military, industrial, and IoT as the principal architect.
Embedded software engineer and with over 30 years of experience. I have worked on large scale systems for Ford Motor Company ECC, General Motors Technical Center, Electronic Data Systems, Blue Cross & Blue Shield, L-3 Communications, Code Access, and others. Developed complex, real-time, mission critical applications for the plant floor, access control security systems, video capture, biometric identification, radar data capture and processing, and embedded algorithms. Called upon to design and develop advanced control systems from the ground up, providing the entire concept, along with supporting documentation.
Highly experienced with Windows software development using C/C++, C++/CLI. Highly experienced with developing Windows device drivers using the Windows Driver Kit.. Focused on designing and coding embedded, real-time systems. Extensive experience in design and development of real-time systems with Windows CE. Worked with Windows CE for 13 years and have designed and coded embedded, real-time systems and custom device drivers. Highly experienced with real-time operating systems and O/S intrinsics, working extensively with Windows CE, VxWorks, Pharlap, MQX, FreeRTOS, and other embedded RTOSs.
Extensive experience with ARM Cortex processors, and creating custom startup code the ARM processors. Extensive experience with the GNU tool chains. Creates custom tool chains for Linux kernel development. Creates custom Android embedded systems starting with the AOSP. Works extensively with the Linux kernel, kernel modifications and patches, and device driver development.
Extensive experience with 8051 MCUs, using IAR, Keil, Silabs, mikroC.
Highly experienced with PIC32 and MIPS core.
Principal Engineer - Core Technology @ Designer and developer of core technology frameworks and system components. Designer and developer of embedded firmware systems based upon the ARM Cortex M4 and 8051 MCU architectures for access control systems and IoT. My roles include:
- Designing/developing system architectures, key capabilities and performance requirements
- Developing systems and system element architecture and design and interface definitions
- Defining system implementation approach and operational concepts
- Developing models and architectural guidelines for future system development
- Performing system and subsystem integration and technical planning
I design, code, and implement custom communication protocols and protocol driver code for BLE, RS-232, RS-485, USB, and Ethernet TCP/IP with sockets. I have extensive experience with embedded TCP/IP stacks and SPI serial-to-Ethernet devices. I work extensively with Bluetooth chipsets, and have developed custom HCI communications libraries for BLE. I design custom BLE profiles with GATT and GAP support. I am highly experienced with the BLE protocol stack.
I work extensively with Freescale Kinetis MCUs and the MQX RTOS along with RTCS. Created C++ code frameworks wrapping the MQX RTOS. Ported the framework to work on the K60, K22, and K11 MCUs.
I work extensively with the Texas Instruments CC2540/1 MCUs and the CC26xx MCUs implementing custom BLE enabled devices. From January 2014 to Present (2 years) Principal Software Engineer @ Designing and developing embedded real-time.systems for defense and military applications.
Designed and developed real-time data collection systems for R&D.
Designed and developed 8051 embedded code that interfaced with FPGAs to retrieve real-time radar data chirps from radar transceivers and pass the chirps over USB to a master processing system.
Developed USB device drivers for Windows 7 and 8 to communicate with embedded transceiver devices.
Worked extensively with Windows CE 3.0, 4.2, 5.0, 6.0 and 7.0 designing BSPs and custom WinCE RTOS designs for mission-critical embedded systems. Designed and developed all WinCE device drivers including USB stream device drivers for the WinCE RTOS.
Worked on boot loaders for AMD processors. Worked extensively with the Geode processor and the Intel Atom multi-core processor. Created SMP RTOS for the Intel Atom multi-core process using the Windows CE 7.0. Created all BSPs and device drivers required. From April 2001 to January 2014 (12 years 10 months) Orlando, Florida AreaVP Systems Development @ Embedded systems for industrial access control using biometrics.
Designed the CA-100 industrial access control controller based on the Rabbit 2000 processor core. Created the software architecture and developed the embedded code base for the CA-100. All code was written in C and assembler. Implemented custom integration schemes with access control readers. Created integrated support for asynchronous event-driver digital video capture on access points
Designed and developed the Integrated Multimedia Access Control System (IMAC). The system used voice verification technology for biometric identification. Developed the event-driven video capture capability used by IMAC. Deployed the IMAC system as a solution for industrial access control for airports.
Worked closely with Texas Instruments to incorporate and use their speech technology.
Lead a team of awesome Windows and embedded developers to improve and add features to the IMAC system. From September 1991 to March 2001 (9 years 7 months) Senior Software Engineer @ Design and develop factory floor automation systems. I worked on a component of the factory floor automation system, the Broadcast Control Unit (BCU). It was the hub of the system and communicated with up to 50 factory floor automation devices using 50 asynchronous RS-232 ports. It also communicated with a server over a network using NetBIOS. All factory floor information flowed through the BCU. The BCU parsed the information in production tickets and sent required information to devices on the factory floor. I developed a cooperative, pseudo multi-tasking system to run the system. This system would create a task for each device type connected to the BCU. The system would detect task errors, terminate those tasks and automatically start new tasks to replace the deleted ones, allowing processing to continue uninterrupted. The BCU was a critical component of the factory floor automation system and was built to be fault-tolerant. The system was deployed to all Ford factories in North America. The system ran 24/7 365 days a year.
All software was written in C and assembler for x86 processors.
Also moved from factory floor automation to Ford's Engineering Computer Center to develop a process analysis software system called the World Class Process Pathfinder. The software was written in C as a Windows Win16 application on Windows 3.1. It as a GUI and made extensive used of graphical entities drawn using the Windows GDI. The purpose of the system was to track the process of the car development cycle from inception to Job 1 (first production car to exit the assembly line), to identify areas in the process that can be improved and optimized to shorten the development cycle. Worked with Unix developers to port the application to run on Unix System V on Sun Microsystem Unix computers. From 1988 to 1991 (3 years) Senior Software Engineer @ Worked with on the development of a database engine to replace IBM's DB2 relational database management system. The new relational database engine was designed with set theoretical processing at its core to perform lookups faster than IBM's DB2, and was used for medical record retrieval in hospitals. I worked on the code that implemented the set theory engine, and the debugging and other tools required to test and validate the engine's performance. All code was written as highly optimized C and assembler. From 1986 to 1988 (2 years) Senior Software Engineer @ Designed and developed dealership service center connectivity software coded in C to run on x86 computer systems to connect the dealership service area directly with Ford Motor Company's dealership division. Worked directly with backend software engineers and DBAs to design and develop the communication protocols used between the dealership and Ford DCS. From 1985 to 1986 (1 year) Greater Detroit AreaSystems Engineer @ Responsible for designing and developing voice store and forward systems running on x86 architecture MCUs. Designed and developed voice recognition and voice verification systems using speech technology and algorithms from Texas Instruments speech group in Austin TX. Worked closely with the TI Speech group in Austin TX. Designed and developed one of the first PC-based voice mail and voice response systems. Designed and developed embedded firmware systems that interfaced with PBX equipment to perform data collection and analysis. From 1983 to 1985 (2 years)
Computer Science @ Wayne State University From 1980 to 1984 Computer Science @ Wayne State University Albert Warren is skilled in: Embedded Systems, Embedded Software, ARM, Device Drivers, RTOS, Processors, C++, Microcontrollers, USB, System Architecture, Windows CE, Software Design, Embedded Operating Systems, Object Oriented Design, VxWorks