I have come from using Picaxe but my next project will need a lot more capability than I can get from that platform. I have a long history of programming in various languages so I think I will be ok with the programming side, though there will be a bit of a learning curve.
I am building a system that will need two or three paper white displays, I am assuming they will be SPI connected.
It will need to read three or four voltage sensors plus receive serial data and GPS speed data.
It will display the results of these inputs on the screens in nice clear text, with no animation or graphics, except perhaps an animated arrow (compass rose) if possible.
Refresh of the readings and the screen will not need to be much more than once per second, maybe as long as three seconds between refreshes.
Finally, I would like it to broadcast the results over Wifi.
So, with all this in mind, which Arduino hardware will I need? I am just a little confused about the capability of each device.
That you want to use WiFi would suggest that an ESP32 might be a good choice (as they have WiFi capability), although they are not Arduinos as such, but can be programmed with the Arduino IDE.
ESP32s are cheapish, fast, have plenty of memory and IO pins, but they do use a fair amount of power.
Thank you, I will put them at the top of the list. (List of one at this point).
I checked the power draw. I am happy to report that it is actually better than I expected, however I understand that other arduino devices may use less power.
Most devices can use low power modes and the esp has many low power functions. The nano IOT 33 is arduinos version of something similar. I would use the esp.
what is the project? Nautical?
Yes, I’m keeping an eye on signal K, but I want a very simple and clear set of sailing instruments, This is why I want to go with paper white displays giving me just the information I need to sail the boat.
I have a plotter but unless I am actively using it for navigation I leave it either switched off or at least wing out of the way on its mounting arm.
What type of boat and battery system do you have. If sailing do you have problems with amp hours ie do you do long journeys without running the auxiliary engine for charging/plug in to shore power?
The esp32 can work well with wifi communication if you want wireless or you can use wired network with a number of non-proprietary protocols. On a boat I would consider the signal K because you will be able to link with NMEA devices but if you are going full diy you can use your own protocol or a combination.
You can put an espy into each instrument as they are small, can be in very small packages. The problem will be each one will use some power. It makes sense if they are each quite remote from one another. Of course you still need power cables so running a network cable is not that big an extra hassle. You can get the esp32 to go into very low power consumption modes and wake to take a reading etc but the wifi has a power cost.
You can use any display (within reason) you like and the protocol for transmitting the information be it wired or wireless is quite separate so don’t dismiss signal K on grounds of simplicity.
I am currently designing esp32 nmea shields for various sensors as well as switching modules to control all on board electrical supplies
The boat is a 44 footer with about 1.5 kW of solar and 10 kWh of battery capacity. I don’t motor so all power comes from the solar. But I’ve got more power than I can use.
So the power consumption of this system shouldn’t be a problem. Of more concern is simplicity and reliability.
To have the three screens showing the same data I either have to broadcast the data from each sensor so that it can be received and displayed by each screen and it’s connected driver device or I feed all data to one device and output to three screens.
On balance, I feel like there is less to go wrong with the second option, particularly if I carry a few spare arduino boards.
Two of the screens are next to each other, just on opposite sides of a bulkhead, so no problem with distances there.
The third screen would be in the aft cabin. It may be a problem. I am looking at ways to solve the distance issue (about three meters) but if I cannot solve it with some kind of SPI extender it may run from the rebroadcast signal from the main device. It is not mission critical the way the other two are. It would simply be so I can see what is going on when I’m in bed and the boat starts moving around at anchor.
I would suggest essentially creating MFDs. You don’t have a power issue and so you might as well make 3 identical esp32 powered MFDs. Each one could accept any information and display it. That way the programming is the same for all and the functionality also. You can make them wifi and/or wired network connected. You can even set up wifi mesh technology (libraries for this) which allows automatically routed communication. Then you can make sensors that can be connected wirelessly or to any one MFD by wire and transmitted to all other units. A sensor or unit not in use can go to sleep.
Start small an add functionality with an overarching concept for your project. Break everything up into simplest blocks possible and work on one block until complete. Consider encapsulation of code so that each block will be easily combined.
I create projects on breadboard in modules. Once working move to perfboard and then pcb. I use headers spaced for esp32 so that I can simply plug in a new esp32 with updated software and have spares lying around.
But no good for RF communications. If the boat is floating level, one end of the boat would be beyond the radio horizion of the other, due to the curvature of the Earth\Sea, you would need to put the antennas on 100m masts for them to see each other.
I have wired data coming from the masthead transducer, I have wired data coming from the hull mounted triducer, and I have gps data coming from a source yet to be chosen.
If I take each of those sources and set them up to broadcast their data wirelessly I am adding a lot of extra failure points.
I would rather they all come to one central device that then displays the results.
Putting everything into one device gives you a single point of failure. No modern marine systems do this now. All sensors and MFDs are independent and can send and receive information on the network. Wireless systems can be quite robust but a wired network is fine also and can be as well as wireless not instead