Arduino for use in monitoring/comms system

Hi,
We are doing the power supply for a customer who is making monitoring equipment
to monitor fluid levels in tanks in various places over Europe. It monitors, then sends
back the levels to a central depot via wireless link. It also needs to be bi-directional
comms as they need to update the software in the monitoring sites sometimes.

They have asked us to do a start-over system and do all the software aswell. Do you think we would easily
be able to do the whole system with Arduino? We know basic C programming. (even managed to do a LED dimmer
once where a user twiddled a pot and I got the PIC micro to read the pot via its ADC then output a reference
voltage via a step-mode digital pot.)

So do you think we could do all the comms, including RF comms , with Arduino and Arduino code?
Does Arduino make this sort of monitoring/comms system thing "easy for anyone"?

I did some Arduino software once....it seemed like C but more logical and understandable than C.

We obviously wouldn't put the Arduino board in the product....but just the relevant chip of the Arduino.

Shouldn't all companies be transferring all of their software systems over to Arduino so that "anybody"
can maintain and modify it?

After all, Arduino is the easiest software platform(?). Even to write a simple PIC micro program, you have to
know all that setup and config code.

So why hasnt Arduino taken over the world of software yet?...or has it?....is it in the process of doing so?

Definitely not easily with your level of experience in software development. It's never easy, even for experienced developers.

Eventually after years of experience.

Thanks, Their software engineer just left and didnt yet write the code to include the bidirectional comms......is it true that software engineers sometimes write code in a more complicated way than needed , in order to "protect their job/territory"? Do Software engineers sometimes use a more complicated software system than necessary in order to say theyve used a complicated system so their CV looks better? How can you tell if a software engineer has done this?

Perhaps the software engineer left because the customer was a terrible employer who was clueless about software. I know that happens.

2 Likes

Well if the tanks are 'all over Europe' that implies that the comms would need to be over the Internet or a mobile phone network.

Big project even for someone with a good deal of experience in that technology.

No seldom saw that.

IMHO it often is the devils triangle. (time, quality, functionality).
The employer may define 2 of these 3 and then the engineer will define the 3rd.

if you want quality and functionality, it will take serious time.
If you want time and functionality, quality will be low.
If you want time and quality, you get less functionality.
If the employer wants all three, you get a failed project (and stressed people etc)

Other words
time = deadlines
functionality = functional requirements
quality = non-functional requirements

Often deadlines in combination with incomplete, changing and even incorrect requirements causes project trouble. Of course there is also the social interactions in a project as mentioned before

There are variations on this devils triangle.

1 Like

It already strikes me as odd that the customer would ask the company who does the power supply to also provide a monitoring system for the customer's product. Kinda like going to a hardware store to buy bricks and then saying "oh, and can you build a house for me?".

The problem I typically see is that small companies who have traditionally sold simple hardware are pushed to build "smart systems" but don't really know how. They don't have the in-house expertise to even manage such an engineering project. They could contract out the project but find the cost eye-watering. Then they try to find someone with a bit of knowledge who is willing to do the project "on the cheap".

2 Likes

Please give 5 reasons why this would be a good idea and 5 reasons why this is a bad idea.

1 Like

Yes , you can write code that "Breaks" after a year or two.
Anything is possible.

The Arduino is programmed in C++.

Many users program the Arduino using nothing but the C part or subset or whatever you wanna call it of C++.

Anything that made it seem "more logical and understandable" was all the stuff that comes out of the box when you sign up, the largest parts of which are the process Arduino code is out through before it hits the compiler, and the broad availability of libraries of various quality that make some things easier to use.

But the structure and function of anything in the Arduino is no different to coding anything at this low level:

Hard until it is easy, and even then. For anything beyond toy programs.

a7

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.