Go Down

Topic: Looking for volunteer to program our project (Read 1 time) previous topic - next topic


We are a small group of people from Newfoundland, Canada who help out at a remote hospital in Zimbabwe with infrastructure maintenance and improvements. We typically raise money and ship a 40' container of project material one year and then travel there for three weeks the following year to work on the project. The present project is related to water. We have replaced all water infrastructure, however the system is 100% manual at this time, meaning someone has to turn pumps on and off and monitor tank levels and manually operate water valves.

We have designed and built a water control system to manage three pumps, fourteen valves and six sets of elevated storage tanks using an Arduino Mega 2560 as the brain. Each set of tanks has three level switches and an electrically actuated valve to control and monitor the water level in each.

The problem we face is that we have electrical/mechanical experience, but absolutely no programming knowledge and not interested in becoming programmers at this stage. We are looking to find someone who would enjoy taking on the project of programming this system over the next couple of months. We have schematic diagrams of the system as well as a mock system set up for testing. The design itself is not that complicated, consisting mainly of relays, float switches, an LCD display, RTC, Arduino Mega and a micro SD slot where we can record the system history for future improvements. I think the most complicated part would be the multiple nested "if then" "else" statements. But again, I'm no programmer!

If you would be interested in learning more and have the time and desire to take on such a project, please contact me and we can discuss further.


Does this translate to "We need somebody to work for free"?


How have you tested your design, particularly the Arduino interface to the rest of the hardware, given your lack of coding skills?


Sounds like a major undertaking in the installation itself - significant distance between the different components.

Furthermore you have to build it really robust, as it sounds like there will not be anyone on site that has the knowledge and skills to repair it when (not if) something breaks.
Quality of answers is related to the quality of questions. Good questions will get good answers. Useless answers are a sign of a poor question.


Welcome to the forum.
Your request may be better answered in the "Gigs and Collaborations" section of this forum.

Tom... :)
Everything runs on smoke, let the smoke out, it stops running....


Does this translate to "We need somebody to work for free"?
My reading of this is that yes, that's what is required and that it is for charity so, in my opinion, that is acceptable.


To address the questions thus far....


Yes - it translates to "we need someone to work for free". I It is volunteering and in my experience many people like ourselves, find it very rewarding and enjoy it very much.


How have I tested my design without programming knowledge? - I am very familiar with controls and equipment both electrical and mechanical. You don't need to be able to program in order to design a system. I am familiar with Arduinos, what they can do, how they operate and the various components and sensors, I2C etc...  I just don't know how to program anything as complex as we require right now and this is not a project I want to learn on, but rely on someone else's abilities and knowledge.


The installation shouldn't be difficult. Most of the control valves are located on a main header. We have built a small building and have already assembled a new header with all control valves in place. This building will be shipped aboard the next container next month. All control wire is already ran and in place ready for connection. As for maintenance and repair, there is an electrician onsite and we purposely made all components to be simple, such as linear actuators operating the ball valves rather than expensive and complex electrically operated valves. Because of this, we are able to supply many spare parts which will include a few arduino Mega boards, pre-programmed and pluggable so they can be swapped out easily on speculation.


Gigs and Collaborations - thank you, I may post there as well.

Thanks for the responses and messages so far! If you are interested, please message me and I can forward more info... later.



In case you had not noticed I have already moved you to Gigs.
Please do not cross post the same thing anywhere else please.

It may not be the answer you were looking for but its the one I am giving based on either experience, educated guess, google or the fact that you gave nothing to go with in the first place so I used my wonky crystal ball.



It sounds interesting, but I think it's more complex than you believe it is.

My suggestion is that you start by writing a detailed description of what the system is supposed to do. i.e.., "X happens then Y valve turns on and 10 seconds later Z pump runs until A sensor says tank is full." Maybe step 1 is to find someone with a Systems background who has experience writing formal Requirements.

You'll have to do this anyway, so putting it upfront shows the volunteer(s) just how much work they're in for. Do you have a website where you can put this information?

Also, bear in mind that in order to test what I suspect will be very complex logic, the volunteer will essentially have to mimic your system somehow. It doesn't have to be exactly the same hardware, but code doesn't spring fully formed from your forehead, working perfectly the first time. At least not on a major project, and this is a major project.

I don't mean to rain on your parade, I think what you're doing is worthwhile, but it's going to be a long slog unless you can find someone who is experienced, motivated for the long haul and willing to see this through.
Electronics and firmware/software design and assistance. No project too small


If you have already built the installation, then post here the design including the components to be interfaced. You may then get some feedback on that and it may also help to make the requirements clearer.
Hopefully, there are fail safe elements such as a power shutdown independent of the Arduino control system. I'm thinking of things like avoiding flooding if a tank level sensors fails etc.
Is there someone available who has access to your test rig, can use the Arduino IDE to load a program onto the Mega there and run a set of test cases and maybe even make minor changes to existing program code, say changing a few labeled parameters?
Even when the system is tested on the test rig, there is scope for some surprises when it is transferred to the live installation such as the effects of electrical noise and long cable runs to sensors etc.


Sep 28, 2019, 09:36 am Last Edit: Sep 28, 2019, 09:39 am by wvmarle
I think at least you should budget for a plane ticket & accommodation for the volunteer, so they can help troubleshoot the thing when it's installed on site.

Actually shipping out next month means there is not enough time to program, install and debug it, let alone for proper systems testing. You will be surprised how many interactions there are possible between subsystems, and how many of those make your system behave in an unintended way because you didn't think of it when programming.

Especially as this is an installation that's far away, with very limited local support, it must be tested properly before shipping. That means running and actually USING it for at least a few months, mimicking as close as possible the actual end use environment, which includes heat, rainfall, dust and mud, and other such factors. Otherwise it's bound to break down within weeks and then fall into disuse.

You also seriously have to think about your wiring - how are you going to connect it to the Mega? You have some kind of screw terminal shield for it?

How is the power supply arranged? Quality, reliable and stable parts, that are happy to deal with an unreliable power network?
Quality of answers is related to the quality of questions. Good questions will get good answers. Useless answers are a sign of a poor question.


Sep 28, 2019, 02:48 pm Last Edit: Sep 28, 2019, 02:53 pm by Angus01221
Thanks everyone for all the feedback thus far. As a result, i will gather more info and post the schematics, pictures and a document explaining its intended operation.

I'm happy to see so far that most of the comments posted with concerns have already been addressed and i will try to cover these in the documentation to follow.

Just a couple of quick points to cover for now:

1) The small building containing the water header and valves will be shipped next month but that is all right now. We are planning to travel there for the install next June which should give us lots of time for programming and testing/debugging. We will be taking the control panel with us at that time.
2) There is an individual on staff at the hospital with networking experience and has built the network at the hospital. This person should have no difficulty making minor changes to the programming with instruction as well as updating such on the arduino.
3) We have a power quality relay monitoring the 3-phase power to the system and designed to shut down the system and pumps on any phase loss or unstable voltage condition.
4) We have tried to make the system as basic as possible for ease of trouble shooting and maintenance. There are no sensors as such in the system. It is all designed with simple switches and relays which can be easily tested and replaced. Most everything works on a high or low condition.
5) The system is designed so that any valve or pump can be operated automatically by the arduino or manually by over-ride switches.
6) The distribution from all tanks is gravity fed. In the case of power failure, which is a comon occurance, the panel and contrul valves are backed up with a solar powered UPS. This will allow the person onsite to operate the valves manually using the over-ride switches.

I appreciate all the feedback, hopefully will have the files posted in a day or two.

Go Up