Resume Update
My older actual resume
I am open to either contract or “permanent” employment status.
Time to brag. I am not afraid to admit I don’t know something. I am VERY good at
picking up new technical knowledge. I know how to find and ask experts. I tend
to learn another microcontroller assembly language well enough in 2 days. Expert
takes a week. I also both read and write C and C++. I have accepted and done well in firmware efforts the first time I
saw a part where my firmware had to clock data out of a part. Ditto key pads,
key debounce, pressure gages, fire safety issues, low level LCD and LED display
devices and more.
I.e. just because it’s new to me it’s not a problem.
Ideal projects:
- Monitor multiple temperatures providing host with simple access to
temperatures.
- Keypad access control with possible logging.
- Inexpensive distributed sensor network.
- Air flow / temperature command and control.
- The brain behind a some kind of meter.
- That little stuff Windows and network people avoid.
- Coordinated motion control.
- Low level control for automated laboratory equipment.
- Slave to larger controller doing any of the above.
I am now officially retired but for two reasons am looking for new challenges
(1) I need to keep my technical mind active
(2) Retirement investments went bad in the downturn
I am rather expert making inexpensive 8-bit PIC microcontrollers do interesting
things.
My PIC 16F57 code controls the pellet stoves pictured
here.
On this product I had to make NO hardware changes while greatly improving the
operational characteristics of the stove. Among much else I regulated internal
temperatures with a simple servo of my own design.
Sierra Products has an unannounced updated pellet stove product using two PIC
16F884 processors. This new pellet stove update features a 2 line by 8 character
display. (The display and keypad had to be some distance from the main
processor.) Writing the menu code was an interesting challenge. After several
pages of state table diagrams went in the trash I decided on named states with
state transitions controlled (mostly) by key presses.
Shortly before Christmas 2009 Sierra Products started their latest high tech
product. Details
here.
I started coding Christmas day well before any details were firmed up. By
January 6 I reached a stopping point. Details were needed and I waited. Sixteen
days later I got details. The 16F1933 was not going to be used as I had
requested. Several days later I had recast the code for the 16F884. And then I
waited. It was February 17 before I got a circuit board. By March 17 the stove
was ready for release to sales. That was a busy month with almost daily changes
to fuel parameters. I also found out that the PCB guy was wrong when he said
that the low fuel sensor produced a digital output.
For the above product I needed to read a thermocouple. I lookup up the type K
thermocouple formula, put it into a spreadsheet and came up with a simple way to
translate 10-bit ADC values into degrees F.
This project was the first time I had to drive a 7-segment display. It was never
a problem. Mainline code built a segment display buffer. My 1 KHz timer
interrupt cycled through the digits. Using the 1 KHz ISR assured that each digit
was on for the same time preventing flickering.
This was also the first time I had controlled an AC motor. This was not going to
be a problem except that variable speed was needed. This worried me. Asking
around, I found one guy at control.com who said as long as you are driving a fan
you can starve the motor and it will run slower. I had no problem controlling
the motor triacs. Turn them on at the (AC line) zero crossing to minimize
switching noise.
Before these PIC pellet burners I was involved in a telephony project that would
have done well except that the billionaire ready to fund the project became a
millionaire courtesy of AIG. Feeling broke he decided to fund another effort.
While involved in the telephony effort I produced a 8051 DTMF decode that could
almost work within the unreasonable constraints of the poorly designed existing
system. Even without my DTMF code the existing system never had telephone
quality voice. I did a quick redesign proving (much to the relief of the
hardware guy) that the existing hardware could produce good sound. Wrapping the
call processing code around what I produced never happened. Had I been brought
in earlier it would have worked well.
On that telephony effort I always said that the 8051 was the wrong processor.
Limit was 8 nodes - effetely limiting the number of handsets to 5 or 6. The
hardware guy and I started working with a 72 MHz ARM Cortex-M3 processor. We got
the telephony sound generation, DTMF decode and the sound working but with no
funding we moved on...
…to LED light bulbs. I wrote some demo software for a $0.50 PIC that did
software PWM controlling RGB LED bulbs to produce color temperature at various
levels of illumination. I wrote the same thing on a slightly more expensive PIC
with 3 built in PWM channels. I assisted with (and will likely totally rewrite)
a rolling light meter used to measure actual output from existing street
lighting.
I wrote power factor meter code. (Energy Star has power factor requirements.)
Here I sampled voltage and current many times over a integral number of full
cycles doing what amounted to DSP work in a $1 PIC. So far that code has not
been used. The real “fun” of that project was taking a cosine on that same 8-bit
machine. It’s been a while but as I remember I produced power factor updates at
several Hz.