Need Arduino expert to clean up existing prototype


Job Description

My company is launching a restaurant product this summer, The current fully functional prototypes are based on an Arduino Uno board, with outputs consisting of a Sainsmart 8-unit relay board controlling five solenoid valves, and an 80 character LCD screen. Input consists of three physical buttons, an analog pressure sensor, and a liquid level sensor.

I need someone to evaluate and clean up the existing code (< 400 lines). The current prototype is unstable, and I believe some of the instability is software related. I have been advised by consulting software engineers on how to restructure the code; I will provide a sample program that outlines the proposed restructuring, along with a spec describing the functionality of the product. I cannot provide a physical prototype due to cost and shortness of deadline.

The goal is to make the code more state-based, rather than looping through all the code looking for button clicks.

Another intriguing approach is to use QM to produce a true state machine. The successful applicant would be able to advise on the suitability of this approach.

The deliverable for part (1) would be a refactored code base that I could then debug and tweak.

There will be considerable follow-on work fo the right candidate in taking this product to production (custom PCB, addition of touch screen, etc.)

I recently posted another job on oDesk related to this product; this posting is distinct from that one. This job is the more urgent.

Thank you for your consideration.