A general help *Completely new to Arduino*

Hello guys,

I am an artist with a bit of knowledge of node programming and generative audio/visual work and I am completely new to Arduino.

I have some general question and I really appreciate any help to speed up the electronic part in this project I am involved in at the moment. I am learning the basic of basics now to get a general idea of how this is going to go.

The project basically should have 3 standalone Arduino boards, each should read a number from an online API, then send it to a center board (Arduino as well but connected to a machine) where I want to do some math with the received numbers, then send to a machine (PC) where I am taking it from there and use these data in other platforms I am familiar with (ex. Quartz composer and processing).

I am a Mac user btw!

First, and since I am looking for a minimal setup, what do you think of this board:

Is it easier to access WiFi? can I use whatever data I fetch from an API with this board and send it to another Arduino?

Is there a simple tutorial for fetching data from an API and then send the values to another Arduino or even send it directly to a PC?
In case someone is willing to help in showing me how to do that: This is an example of an API I prepared using ThingSpeak that I want the board to read it continuously and then send the live update simultaneously: https://api.thingspeak.com/apps/thinghttp/send_request?api_key=E0O0TZV9OZMBP4K1

What are the difficult or tricky parts in connecting more than board to one and send data through it?

Any general advice is of course appreciated!

Looking forward to your help.

Cheers

ishabana:
First, and since I am looking for a minimal setup, what do you think of this board:
RobotDyn UNO+WiFi R3 ATmega328P + ESP8266 with 8Mb flash – Art of Circuits

I can't view that website but I can guess what it is from the URL. The ESP8266 WiFi chip used on that board is a good option for your project. There are two ways of using this chip with Arduino. The first is to use it as a WiFi interface connected to a primary microcontroller, which is what you'll be programming. The second is to use the ESP8266 standalone where you are directly programming the ESP8266.

That board is of the first usage. The benefits of that system are:

  • The ATmega328P microcontroller is the most popular in the Arduino world over many years so you will find a ton of information on it.
  • The ATmega328P microcontroller has more IO pins, which allows you to easily connect more sensors/switches/accessories to the board.
  • The ATmega328P can run at 5 V, which is the common interface voltage for Arduino accessories.

The benefits of using an ESP8266 standalone are:

  • It's a much more powerful microcontroller with way more memory.
  • It's cheaper (since you don't need to pay for the extra microcontroller).
  • It allows more advanced control of the WiFi functionality.

So they each have some advantages. Over time, the Arduino community has been moving more and more towards using the ESP8266 standalone. Since it doesn't sound like you actually want to connect any physical components to the board and you expressly asked for a minimal setup, I'm leaning towards the standalone option. A nice ESP8266 board is the WeMos D1 Mini, which is available for a very reasonable price. There are a couple other WeMos boards that are also good options.

ishabana:
The project basically should have 3 standalone Arduino boards, each should read a number from an online API, then send it to a center board (Arduino as well but connected to a machine) where I want to do some math with the received numbers, then send to a machine (PC) where I am taking it from there and use these data in other platforms

This is incomprehensible, not helped by the link you posted being unusable. As yet. there is nothing to suggest why you need four Arduinos. Are they remote from each other?

I am a Mac user btw!

I don't think that is a liability in this arena.

First, and since I am looking for a minimal setup, what do you think of this board:

That device has two microcontrollers, and therefore hardly minimal. The ESP8266 is a lot more powerful than the Uno part, which is doing little more than going along for the ride. I can't translate the cost, but I bet it is high, while ESP8266 devices like the Wemos noted above or the Node-MCU are dirt cheap and should be all you need.

Here's a link to the board the OP posted:

https://robotdyn.com/uno-wifi-r3-atmega328p-esp8266-32mb-flash-usb-ttl-ch340g-micro-usb.html

Thank you all for your answers! I am learning a lot..

Nick_Pyner:
This is incomprehensible, not helped by the link you posted being unusable.

Sorry for that, here is the link for the one I am asking about:

Nick_Pyner:
As yet. there is nothing to suggest why you need four Arduinos. Are they remote from each other?

This is an art project, so the reason I am using 4 boards is completely aesthetic. I also meant minimal on how they look that's why 3 of the boards should work as standalone (as I also understood, this board will not need any extra shield or another component to access the WiFi). And no, they are all in the same room and should be connected physically using wires.

I hope this made it a bit more clear, but I am still trying to figure out if what I want to achieve is doable and if there is a tutorial of fetching numerical data from an API and send it to another board or directly to the PC.

ishabana:
The project basically should have 3 standalone Arduino boards, each should read a number from an online API, then send it to a center board (Arduino as well but connected to a machine) where I want to do some math with the received numbers, then send to a machine (PC) where I am taking it from there and use these data in other platforms I am familiar with (ex. Quartz composer and processing).

Why is a Arduino of any kind needed? ? ?

.

ieee488:
Why is a Arduino of any kind needed? ? ?

.

What else can I use?

ishabana:
The project basically should have 3 standalone Arduino boards, each should read a number from an online API, then send it to a center board (Arduino as well but connected to a machine) where I want to do some math with the received numbers, then send to a machine (PC) where I am taking it from there and use these data in other platforms I am familiar with (ex. Quartz composer and processing).

I may have misunderstood this but it seems to me to be saying

  • get 3 items of data from the internet
  • do some calculations
  • send the data to a PC
  • have the PC send the data to something else

Why can't all that be done a lot more easily on the PC without any need for an Arduino, never mind 4 Arduinos?

...R

Your list is exactly right..this is the chain of process I am trying to reach.

Robin2:
Why can't all that be done a lot more easily on the PC without any need for an Arduino, never mind 4 Arduinos?

Again, this is an art project. I know and I actually know how to do this as a web app. But the decision here is purely aesthetic and not very logical. Yet, the idea is the standalone Arduinos should work on their own and can be installed anywhere. It is a kind of an "internet of things" approach.

ishabana:
Your list is exactly right..this is the chain of process I am trying to reach.

Again, this is an art project. I know and I actually know how to do this as a web app. But the decision here is purely aesthetic and not very logical. Yet, the idea is the standalone Arduinos should work on their own and can be installed anywhere. It is a kind of an "internet of things" approach.

The Arduino is not a PC.

"internet of things" is a catchy phrase but completely meaningless.

And I would bet that the Arduino is actually not appropriate for your project -- whatever it is -- however much you would like to use the Arduino!

.

What everyone is trying to tell you is that..

you do -not- need that board.

A normal ESP8266-01 module might not enough I/O pins for your needs? So maybe looking a ESP822-12 board..

They can be used/programmed just like an Arduino. (So there is no -need- for an Arduino)..

You can use the same IDE.. and you can (most of) the same libraries.

So whatever you want to do on an Arduino, can be done on the ESP board itself.. (not to mention the ESP boards are like $2-3.00 USD!)

And while I see you responded.. I'm not sure 'art project' really explains why there is a need for more than 1 board?
Even visually? From your requirement list that Robin2 summarized for you/us...

I would assume this can all be done with just 1 board.

Is there some sort of user interaction that triggers this 'data retrieval'? Maybe thats why you think you need 3+ boards?
(You could just place a button/sensor at those locations.. instead of needing full boards.

ishabana:
Your list is exactly right..this is the chain of process I am trying to reach.

I think you are simply after a few devices that can interchange data, both between themselves and other other devices, which are both local and out on the web somewhere. You have prempted any further comment on logic or practicality by labelling it "art". Depending perhaps on the nature of the data, Arduino stuff is very likely overkill, but fills the bill because it is capable, cheap, and easy to use. Unless you are buying it for reasons other than functionality, that Robotdyn thing is gross overkill and a waste of money.

There is nothing meaningless about IoT, it might be exactly what you want to painlessly extend your local comms to the outside world. That is it's job. The only thing that is really nebulous is the source of the data "from the internet" and the "something else", and both might not be the IoT. But that isn't an Arduino problem, or a problem for it, unless the data is video or something that might be too fast to be used.

Those ESP8266 stand-alone things are probably what you want, and not such an expensive mistake if they aren't.

ishabana:
Your list is exactly right..this is the chain of process I am trying to reach.

Again, this is an art project. I know and I actually know how to do this as a web app. But the decision here is purely aesthetic and not very logical. Yet, the idea is the standalone Arduinos should work on their own and can be installed anywhere. It is a kind of an "internet of things" approach.

Are you saying that you want to replace the "PC" that you mentioned in your Orginal Post (that I quoted in Reply #7) with something small and cheap?

If so that is certainly not what the text in your Original Post conveyed.

Maybe it is time to describe what you want to make without making guesses about what components would be suitable. What is this art project?

...R

Nick_Pyner:
There is nothing meaningless about IoT, it might be exactly what you want to painlessly extend your local comms to the outside world.

As used by the OP, "IoT" is meaningless.

Because it is a buzzword that is thrown around without any understanding of what it really means in relation to this nebulous project of his/hers.

Perhaps you have a better crystal ball than me.

I have no clue what the OP is after and using IoT or Internet of Things in a post does not make it any clearer.

.

ieee488:
The Arduino is not a PC.

I am aware of that!

ieee488:
"internet of things" is a catchy phrase but completely meaningless.

I am trying to explain something that I am admitting that I have no experience in. I don't care what is the right term of IoT and I used it just because when I was trying to find out my way around tutorials it was mentioned a lot. Anyway, I don't want to debate what or how is this project related to IoT or not.

xl97:
What everyone is trying to tell you is that..

you do -not- need that board.

A normal ESP8266-01 module might not enough I/O pins for your needs? So maybe looking a ESP822-12 board..

They can be used/programmed just like an Arduino. (So there is no -need- for an Arduino)..

You can use the same IDE.. and you can (most of) the same libraries.

So whatever you want to do on an Arduino, can be done on the ESP board itself.. (not to mention the ESP boards are like $2-3.00 USD!)

That is helpful, maybe I should focus on simpler and cheaper solutions.

I will try to explain again what I want to reach in another reply.

Thank you all!

Hello everyone again,

I am sorry for the confusion my post is making. I am totally new to this and I am grateful for the the time you are spending trying to understand my none-sense so you can help me.

This might sound stupid but this is a premier show in a festival so I have a kind of an NDA agreement that doesn't allow me to reveal more than technical information at the moment. I promise if all goes well I will upload the final result!

I will try to explain one more time with a dumb drawing so maybe it gets clearer:


Just to avoid any comments. This is not a real technical drawing or an algorithm chart

There should be three standalone boards fetching a number from 3 different APIs online (A number around 5 - 8 digits). Each board should send its number to a middle board that gathers the 3 numbers and do some calculations. The middle board (number 4) should send the 3 numbers and the results of the calculations to a PC. I should be receiving the numbers in Processing and they should control certain parameters. Also, the PC will be open for the user to put some input that should as well manipulate some other parameters. The end result will be a visual element.

- Why 3 standalone?
Because there is a certain visual installation around each one like they should be placed on certain materials and there will drawings around them related to what kind of data they are fetching.

- Do I need to use an arduino?
I really don't know! My choice for this UNO + WiFi one is completely related to 2 main things: it accesses the internet, And the black color is fitting the installation.

- What am I asking for?
A tutorial, or any suggestion on how to prepare this board (or any other option) to connect to WiFi then fetch these numbers and the possible ways to send them to another board (that should do some math) then from this board to the PC.

I know, this sounds frustrating for rational programmers and engineers. I appreciate your suggestions that I can do this with less equipment. I am actually aware that I might do this with one board, I am even aware that this can be done with processing or Javascript without any boards or whatsoever. But again, this is an installation that follows a certain concept and that's just a decision to be installed this way.

Thanks!

Apart from getting data from the internet, what will the standalone boards be doing - for example what I/O capabilities will they need?

Have you considered using the PC to get all the data from the internet and sending it to the Arduinos - which could then do stuff with the data and send other data back? IMHO it is much easier to interface with the internet using a PC program. And you could use cheap nRF24L01+ modules to act as the wireless links between the 3 standalones and the hub. I am assuming the hub will be connected to the PC with a USB cable.

...R
Simple nRF24L01+ Tutorial

Robin2:
Have you considered using the PC to get all the data from the internet and sending it to the Arduinos - which could then do stuff with the data and send other data back?

This is reversing the role of the boards in the concept. The boards should act on their own because they should symbolize electronic parts interacting with the surrounding on their own, while the PC is just for the user to add to whatever data is coming from the boards then generate the visual end.

I actually wanted to do everything without even a PC, but I decided to use the PC for the user input just to ease the process of making and make it more approachable for audience.

ishabana:
My choice for this UNO + WiFi one is completely related to 2 main things: it accesses the internet, And the black color is fitting the installation.

So now we know. When I said

Unless you are buying it for reasons other than functionality

I was going to add

like the colour of the PCB

but I managed to restrain myself. It's a shame really, the Node-MCU does twice the job for half the price, but comes in a rather uninspiring shade of dark brown.

A definition of API is

a set of functions and procedures that allow the creation of applications which access the features or data of an operating system, application, or other service.

I don't know if that means much. I guess the number of around 5-8 digits is just an input signal, and why you need three devices to receive them is not clear and I don't suppose that matters, but board 4 is probably redundant.

If you read my last reply you can find why I am using 3 boards!

I don't mind losing the one attached to the PC at all!

Here is an example of an API I prepared with a live feed of 9 digits:
https://api.thingspeak.com/apps/thinghttp/send_request?api_key=E0O0TZV9OZMBP4K1

And yes, the look of the board is important since this should fit the surrounding drawings and materials (And that's why I am using 3 boards not one)!