Profile Picture
Daniel Watkins
Rate: $

In one professional challenge I was faced with it was necessary for an engine controller (for backup generators) to work not only under heavy noise (from the spark plug cables and distributor), but also be able to recover from brownouts during starting of the engine, due to heavy loading of the battery by the starter motor. Use of a rechargeable battery was the consensus at the time, but concerns over costs were overwhelming. I suggested instead a hardware/software solution: A transistor circuit and a self-locking relay would output power to the starter solenoid, and have a release voltage as low as 2.5V at the supply. Upon coming out of reset, the controller could check if the relay and transistor circuit was activated, and deduce that it has just woken up from a starter-induced brown-out, and go back to working transparently. The basic idea worked, but I wanted the controller to have a way to verify that it was indeed cranking the motor when a reset came OTHER than just reading back the relay. I knew that memory contents are resilient to pretty low supply voltage. I simply "protected" important groups of variables with CRC checksums, and upon a reboot of the controller I checked if the memory had important data, and whether the checksums passed, and now I could verify independently the program state prior to the brownout reset. This whole saga evolved into an entire platform for reset recovery that is worthy to be implemented in mission critical firmware such as space probes and military rovers.

I am entirely self-taught.
I don't believe in knowledge certification.
Analogue electronics are one of my specialties, amplifiers, filters, PID controls, signal conditioning. But probably my most valuable skill is good knowledge of electromagnetic compatibility (EMC); I know how to design hardware impervious to EMI.
Hobbies & Interests
My main interest besides electronics and firmware is health and supplements. I follow a keto-vegetarian (NOT vegan) diet, and take key supplements.