Welcome to My Home Page
I am an embedded systems consultant specializing in software development
for consumer electronics. I have worked with start-up companies to research and develop
new prototypes and add features to existing products. Below is a brief resume, contact me
for my current resume, or to discuss my qualifications in more detail.
I have been developing embedded systems since 1995 for both large and small
companies, on a variety of products in the consumer, defense, and industrial
markets. Some examples are toys, computer peripherals, networking hardware
and communication equipment. I really enjoy my work designing and engineering
new products and bringing them to completion.
This website also includes some resource pages on subjects I have
researched in my work developing embedded systems and consumer
electronics. I also blog about these topics at
Blog.EmbeddedCoding.com and Discourse on Embedded Signal Processing at EECatalog.com. I you would like to learn more about me, see my interview for the EEWeb Featured Engineer series.
Embedded Consulting
Here are some examples of the services I offer:
- processor/microcontroller selection and system architecture
- firmware development (I also call this embedded software development)
- hardware/software integration
- RTOS selection or evaluate the need for an operating system
- porting BSP/bootloaders/Linux/RTOS to new hardware
- application development for microcontroller and DSP devices
- USB device development
- WHQL, Windows Logo, WDK testing and driver development
- EMC testing at accredited laboratories (I have worked with two different labs in the Northeast)
- PCB design, schematic design, schematic review, layout, layout review
I can also supplement your engineering team as needed in any phase
of development. A mistake found in a schematic review will save
time and expense as well as the cost of a re-spin of the board. If
you have a difficult integration problem or hardware issue to
diagnose, I can work on a temporary basis to solve it. If you are a
start-up, I can serve in an advisory role, my familiarity with the
project would enable me to quickly step in to help if needed. Please
feel free to contact me to discuss your project needs.
If you are designing a new product or prototype, I strongly
recommend an off-the-shelf board to develop firmware before
designing your custom circuit board. These development boards are
sometimes called reference designs or single board computers (SBC).
They will allow you to save development time and a lot of
engineering expense. Your final bill of materials will be lower as
well. For example, you will have a better idea of the minimum
amount of Flash/SDRAM your design requires before the final hardware
design review. I can use my experience to help you avoid many such
issues and quickly complete your prototype or final product. If you
have a design that you are considering, please describe it to me in
an e-mail or give me a call and I will recommend a board for you to
use.
AARON CLARKE
E-mail: ac@aaronclarke.com Telephone: 716-514-4141
OBJECTIVE Consulting opportunities that will utilize my professional experience in
electronic prototype and product development and my strong problem solving skills.
EXPERIENCE Aaron Clarke Consulting, Lockport, NY
Embedded Systems Consultant, July 2007-Present
Developed electronic prototypes and embedded software for several start-ups.
Ported the Microchip Graphics Library to a new grayscale LCD controller.
Delivered PIC display driver and customized graphics firmware on schedule.
Updated legacy embedded USB Host stack to support common input devices.
Customized the Microchip HID USB device bootloader for the Microchip PIC18F.
Ported U-boot, Apex, and vivi bootloaders to bring up new ARM-based products.
Created custom embedded Linux kernels for ARM processors.
Developed custom JTAG configuration scripts for programming NAND flash for production.
Created custom boot code to support products with only NAND flash NVRAM.
Maintained embedded Linux builds and ported new features to wireless access point.
Developed shell and PHP scripts to boot embedded Linux systems with custom configurations.
Diagnosed packet processing and IP filtering issues with embedded Linux switch.
Debugged setup and administration issues for embedded Linux system and Linux server.
Integrated software modules and debugged hardware prototypes for new ARM7 design.
Performed design reviews of schematics and layout for consumer electronic prototypes.
Tested EMC compliance of prototypes at accredited laboratory.
Fisher-Price Inc., East Aurora, NY
Project Engineer, November 2004-July 2007
Developed electronics for multiple consumer products.
(request full-resume for more details)
keywords: 8-bit, 32-bit, ARM7, C, HID, MIDI, PSOC, RTOS, USB, audio, contract manufacturer,
codec, flash, signal processing, video.
ATTO Technology, Inc., Amherst, NY
Systems Engineer, August 2002-November 2004
Developed firmware for iSCSI storage switch.
(request full-resume for more details)
keywords: C, Ethernet, Linux, TCP/IP, UML, XScale, iSCSI, logic analyzer, network storage,
IETF, RFC
Sierra Research, Buffalo, NY (now part of DRS Technologies, Inc.)
Engineer, June 2001-August 2002
Developed VxWorks drivers and embedded software modules.
(request full-resume for more details)
keywords: C, C++, Ethernet, ICD, Linux, Matlab, Perl, PowerPC, RS-232, RS-422, SLIP, UDP/IP,
VxWorks, bash, data-flow, gcc, serial
Amherst Systems, Inc., Buffalo, NY (now part of Northrop Grumman Electronic Systems)
Engineer, December 1997-January 1999
Contributed to a wide variety of embedded software projects.
(request full-resume for more details)
keywords: Alpha, C, C++, GPIB, LabWindows CVI, RS-232, StrongARM, TCP/IP, UDP, VxWorks
gcc, logic analyzer, parallel port
VoCAL Technologies, Ltd., Amherst, NY
DSP Engineer, February 1996-June 1997
Led team developing modem and fax firmware and hardware for Japanese client.
(request full-resume for more details)
keywords: 16-bit, C, DSP, Perl, VLIW, algorithm, fax, fixed-point, modem
Dynamics Research Corp., Tonawanda, NY
Computer Programmer, June 1995-February 1996
Awarded patent for work on data-acquisition system (U.S. Patent #5805464).
(request full-resume for more details)
keywords: BASIC, C, FFT, LabWindows CVI, balancing, data acquisition, real-time, vibration
SKILLS Computer Languages Assembly, BASIC, C, C++, C#, FORTRAN, Pascal, Perl, PHP.
Microprocessors 68000, ADI-2181, ARM (ARM7, ARM9, Cortex), fixed point,
DSP, LPC2134, LPC2138, OMAP, PIC18, PIC24, PowerPC, PSoC,
S3C2410, S3C2443, XScale.
Operating Systems DOS, Linux, MicroC/OS-II, UNIX, VxWorks, Windows.
Software Altium, Apex, Emacs, gcc, MathCAD, Visual Studio, Mathematica,
Matlab, mobiclip, OrCAD, PVCS, U-Boot, Visio, Visual Source Safe,
Vivi, Razor, RCS.
Technologies Embedded Linux, GPIB, EMI, ESD, Ethernet, firmware, iSCSI,
HID, microcontrollers, modem, SLIP, TCP/IP, UDP,
USB, UML, VME, WDK, WHQL, Windows Logo Testing.
TRAINING Altium Designer: Schematic capture and PCB layout.
ARM Developer's Conference 2006.
Mathworks Matlab Image and Video Processing Seminar.
Microsoft Windows Hardware Engineering Conference (WinHEC) in 2006 and 2007.
Microsoft Vista LogoFest (WHQL) at Microsoft 2006.
EDUCATION B.S. Electrical Engineering, University at Buffalo, February 2000.
Developed audio signal compression system using psychoacoustics in Matlab.
B.S. Mathematics, University at Buffalo, June 1995.
Concentration in Applied Mathematics.
A.S. Engineering Science, Erie Community College, Williamsville, NY, June 1990.
Awarded Engineering Society of Buffalo scholarship.
MEMBERSHIP Institute of Electrical and Electronics Engineers (IEEE).
IEEE Consumer Electronics Society.
IEEE Signal Processing Society.