Chouest Aiviq

My team was hired to design and install a new control system into a brand new, high tech, very large and expensive ice breaker being built by Edison Chouest Offshore. The name of the ship is Aiviq (eye-vick) and can currently be found in operation north of Alaska.

Dual Digital HOA for Lighting Controller

This is a dual HOA switch for motion sensing outdoor lights. I used common (inexpensive) motion sensing lights with some modifications and designed a PCB to fit in a dual gangbox, so the digital HOA, complete with nice LED indicators, can be mounted easily on the house with a customized dual gangbox faceplate. Each light can be controlled by a combination of the two motion sensors, and each light has its own ON time that can be set from the switches on the dual HOA interface.

BeerMagnet.com

In addition to leading the project, I

  • designed the database
  • wrote a lot of the php code
  • wrote or co-wrote a lot of the javascript code
  • defined the site’s security practices

More than 90% of the code across the entire website was written in a plain text editor, and the databases are created and queried using SQL statements that were also created in a plain text editor.

Dual PWM Actuation in Assembly

A colleague described a customer need over the phone to me. The customer had an actuator that was controlled by two PWM signals that had to be 90 degrees out of phase with each other. The actuator was also reversible, so it would operate in the forward direction when signal 1 led signal 2 by 90 degrees, and it would operate in the reverse direction when signal 2 led signal 1 by 90 degrees.

Wireless Field Switches

My team was asked to build a special purpose wireless transceiver pair for work with heavy equipment testing. I will not get into the details of the project or the design, but I will say that we were responsible for the parts selection, circuit design, software design, PCB (printed circuit board) design, and the prototype testing and troubleshooting.

Movie Prop Helmets

Each helmet has red (clear when off) LEDs in the shape of it’s character’s first initial. These letters pulse on and off when the thinktank device is inactive, and will transition to a fully illuminated state when the thinktank device is in use by the characters.

Above the initials are two rows of green LEDs which will be off when the thinktank is inactive and will “chase” or “sequence” at an increasing rate as the thinktank transitions to its active, or in use, state.

VCRBot

The VCRBot is a way to use a VCR, a video camera, and an inexpensive exterior light with motion detector to record the camera’s viewpoint onto a VHS tape only when something moves within the motion sensor’s field of “vision”.

In short, the VCRBot behaves similar to a person who would press the record button on the VCR and turn on the exterior light when motion was seen and then press the stop button on the VCR and turn off the exterior light when motion had not been seen for a while.

MDF Library in ANSI C

I wrote a library in ANSI C that implements the MDF format. The library provided public functions to add new data definitions, write the header, and add data to an unsorted MDF file. It also provisioned for space limitations on the storage device and unexpected power loss.

The code was written using structs and as much function and data hiding as ANSI C allows, so it was fairly object oriented. It also allocated memory dynamically using malloc, calloc, and realloc, and while a memory leak was not a concern because the logger would only be shut down on total loss of power, care was still taken to free any dynamically allocated memory appropriately.