New IoT Project, feasibility and components choice

Hello everyone,

As part of a new project, I am looking for an Arduino-based solution and despite my research
I can not find all the necessary information regarding the choice of arduino / shields / accessories / libraries I need for my application (in term of feasibility).

Here are the main features that the solution must integrate (it’s quite a complete IoT project) :

  • Acquisition of sensors data (analog, up to 6 simultaneous sensors, 10-bit resolution is sufficent, but 12 bits would be a plus)
  • Touchscreen for display of measurement results and navigation (setting etc.)
  • Wi-Fi connectivity for device configuration etc.
  • Ethernet connectivity for data sending (Modbus TCP-IP protocol for sending data to a remote server)
  • Local data storage (SD)

From my research I could find the following possibilities :

  • Arduino Uno Wifi Rev 2 + ethernet shield (with integrated SD) + screen ?

What about the compatibility of all these components. Is it possible ?

  • Arduino Yun + screen etc.

In your opinion, which solution would be the best to cover all my needs and for a fast development ?
Wi-fi connectivity is less important than the others features, so if a simple solution exists for the others features but without Wi-Fi, it could be fine.

Thanks for your advices.

Hi,

Here is a link to a simpler project; maybe some info you can use...

I just used an Ethernet shield+SD on a Mega, with RTC on a terminal shield, a 4x20 LCD, and Bluetooth. If by "fast development" you mean "simple application", the above is all you need. With this sort of project, you can easily run out of memory with a Uno, so starting with a Mega isn't a bad idea. The bluetooth is just for convenience, and the RTC is only for local backup.

Thanks for your answers.

Indeed, I also need an RTC module for the local backup.

So finaly, if I do not take into account the Wi-Fi aspect, I could use :

  • Arduino Mega (or uno but I could have some memory problems, thanks for the information)
  • Ethernet shield (including SD)
  • RTC module (what are you using exactly ?)
  • Touchscreen (some reference ideas ?)

Bluetooth is already integrated on a mega ?

By "fast development" I mean I want to get closer to a plug and play solution as much as possible (with elements used massively to get help etc.)

RTC DS1307 or DS3231. The former is really quite adequate but the latter is more or less de rigeuer these days, as it is a lot more accurate. Note that the typical DS3231 is quite bulky compared with the DS1307 and you need to properly plan its installation.

I don’t know anything about touchscreens. The only input I have is via bluetooth. Note that some LCDs can only be used on a Mega.

Bluetooth is not incorporated in a Mega, it’s about $3-50.

There isn’t so much plug’n’play in Arduinoland but you will get plenty of help here.

Ok thank you for your help, I will try with the DS1307 to start.

Finally, I think I will take this screen :

Has anyone ever tried using this screen at the same time as an ethernet shield?

If you're happy to use just WiFi, leaving out the Ethernet (it seems redundant when you have WiFi already), consider the ESP32.

Key features include built-in RTC, Bluetooth, 18 12-bit ADC inputs, 512k RAM (for your graphics output), 160 MHz clock, 4 MB Flash (depending on the version) so likely you don't need external SD storage.

For external ADC: the DS1307 is an old design, running on 5V only. Another interesting RTC is the MCP7940, available in tiny SOP8 package.

Diz:
Has anyone ever tried using this screen at the same time as an ethernet shield?

There is a caution here, as I think you are asking the wrong question.

Your typical Ethernet shield uses the ICSP pin cluster for the SPI bus, and pins 11>13 are just pass through. This means that they will work on a Uno or a Mega - no problem.

The display is similar, it also has a female ICSP cluster, thereby able to work on Uno or Mega.

As I said before, I believe you are likely to need a Mega

The problem is that I have never seen an Ethernet board with a pass-through ICSP pins i.e. the service stops after one storey. This suggests that the display will work over an Ethernet shield on a Uno, because it can pick up the SPI bus via peripheral pins 11>13 but it will not work over an Ethernet shield on a Mega, because its SPI peripheral pins are 50>52.

I therefore submit that you need to either ensure the Ethernet shield had a male ICSP cluster, or be be able to come up with an established alternative that I don't know about. There may be an intermediate shield spcifically for running this display off Mega's SPI. A possible elegant solution is to make a Mega proto shield that goes over the Ethernet shield and takes the display and the terminals for the sensors.

Another solution is to use a display more suitable for Mega

Thank for your answers.

Finally, i followed your advices and I am using a mega use this TFT :

and this to adapt power supply :

It works well and I am looking for a solution on how to connect my ethernet shield at the same time.

Do you think its compatible ?

Nextion touch screens are good and easy to use as they have their own built in instruction set for graphics .

Diz:
Do you think its compatible ?

Almost.....

What you have is more or less the same as my Mega-only 240x400.
Obviously, the Ethernet shield will have to go on first, and the LCD shield on top. The problem is that, while the power pins are OK, all the LCD signal pins are up in the air!. You can fix this by simply getting some header rows with pins the same length as those on the Ethernet shield and putting them in the Mega, thereby getting all the sockets at the same level.

You may also make a proto shield to fill the space rather than just using the bare headers. The picture shows a Mega with Ethernet shield and small shield with an RTC. The display shown is Uno, but the RTC shield ensures the pins are all present and correct in order to take a Mega display.

The problem is that I have never seen an Ethernet board with a pass-through ICSP pins i.e. the service stops after one storey. This suggests that the display will work over an Ethernet shield on a Uno, because it can pick up the SPI bus via peripheral pins 11>13 but it will not work over an Ethernet shield on a Mega, because its SPI peripheral pins are 50>52.

One possible solution is to use an Ethernet Interface that is NOT a shield, like this:

Here's one on the upper right, connected to an UNO.. These are standard W5100 interfaces just like the shield..