I consult in a number of areas, including embedded firmware, Windows software, web development, and electronics. Below is a list of my strengths and specialties. I can certainly tackle other, unrelated areas, but the ones I list here are my strongest areas. For you that means there will be no learning curve, no time lag to set up the development environment or obtain the development tools necessary to get started.
I have experience on the following platforms: various ARM7 and ARM9, PIC Microcontrollers, Motorola PowerPC, ColdFire, and lots of different Atmel MCUs and the Atmel ARM9 (AT91RM9200) . I have used Wind River / VxWorks and Quadros RTOS environments, as well as CCS, Code Warrior, and the GNU tool chain (GCC/GDB). I have also written a basic RTOS-like scheduler for the PIC.
I have extensive experience with PIC Microcontrollers and their derivatives (Basic Stamp, OOPic, etc.). I have done most of my work in MPASM PIC assembly language, but I have also used PICBasic Pro, C, and Cricket Logo. I normally use a C compiler by CCS. I once wrote an entire TCP/IP stack in assembly language- no I can't release that code, it was done while I was at Ipsil. As far as PIC chips, I've used lots of the different flavors of PICs, including the 12C508, 16F84, 16F626, 16F876, 16F877, 18F452, and others.
My most complex project is probably the Gamoto PID motor controller, which I am now selling on the Gamatronix e-commerce site that I set up. It's entirely in assembly language, and makes extensive use of all the peripherals, interrupts, flash, I2C, and serial communication features of the PIC 16F876 chip.
As you can see in the Code Library section, I have created lots of handy code modules that I can use in future projects, to try to reduce the learning for future projects.
I have written a number of programs for Windows, mostly in Visual Basic. It's just so quick and easy to produce a nice user interface. As with PIC assembly, I have accumulated lots of handy code snippets and techniques over the years. I have also developed in Visual C++, and Borland C and C++, and certainly for any large complex application I would use C++ over Visual Basic, but it takes more time to get these projects started than with VB.
I also have experience with IIS web server, ASP pages, ActiveX controls, VBA automation, Access, and SQL database access applications in windows.
My web development experience started with Windows, IIS, and ASP with ActiveX controls. In the last three years however, I've been focusing on linux-based tools that can run on either platform. I have written full web applications in PHP, Python, MySQL, and plain old HTML with CSS. I've written some Perl scripts, but I hate the convoluted syntax. Python has become my favorite programming language, largely due to its object-oriented power and readability. My biggest web project is probably the Gamatronix web site mentioned earlier. This involved getting the e-commerce pieces to all work together, including the secure HTTPS part, getting a signed certificate, credit card and PayPal gateways, and an on-line automated newsletter. I have become quite successful at finding open-source solutions for a given problem, installing them, configuring them and getting them working. My ISP allows shell access to do all of this yourself, so it's been a great learning experience.
Electrical Engineering / Design & Prototypes
In the course of building hobby robots, and in the development and production of the Gamoto motor controller, I have done extensive electrical design, prototyping and testing. I have also done some designs as a consultant, for various industrial automation applications. My specialty is digital design (i.e. embedded systems), networking, and motor control applications. The designs I wouldn't want to tackle would be a precision analog type of application or RF amplifier circuits.
To contact me for consulting, please send me a message at: