Need help cleaning up/completing two projects. Details follow:

I'm an EE with no formal programming training. I've got two independent projects which I've made very good progress on, but I could benefit from the help of someone more formally trained in C++.

If you are in North Carolina, that's a plus, but I don't think it matters where you are.

Project 1:
Involves retrofitting a new controller to an old data entry/measurement device. Based on a mega2560, there's a large array of hall sensors which are used with a magnetic stylus for selecting functions/entering measurements.
The device also has a 16x1 LCD for a user interface, a RTC , speaker for tones, and a SD card. I'd like to add bluetooth as well for communicating with a scale.

The initial shield is built and seems to work although there will be at least one more iteration.

The code is built around the FiniteStateMachine library. I've got most of the functionality working, but as I was adding states, the code got messy. I need someone with a better OO background to help me clean up and organize the structure of my program.

Project 2:
Is a data logger which takes data from multiple instruments, mostly serial and SPI, and logs them to SD. This code is mostly working, aside from a memory leak which causes it to stop logging after 12 hours. I'd like someone to go through it and fix all my stupid stuff. For example, I query each instrument individually and there are a lot of functions that block, waiting for a serial response. I also have code which I would like re-factored into a library.

Also, I'm trying to get started using Atmel Studio and Visual Micro, so any guidance is appreciated.

Let me know if you have any questions, and what your rate is. I'm ready to hire immediately.

I thought I'd add a few things on project 2;s to do list:

  • Acoustic depth sounder to measure water depth.
  • GPS and GSM for tracking and reporting.
  • Bluetooth for downloading data.
  • Enter very low power state between samples. Currently only slowing clock. Perhaps use RTC alarm and interrupt to wake up.

deleted by user