Arduino Master/Slave protocol

Hello.

I am currently working out the feasibility of a project that I am interested in. In effect, I'm replacing the brains of a cheap K40 laser to Arduino/CNC Shield with a TFT display for control. The idea to save on memory is to use an Arduino Nano to interpret TFT and Arduino Due with CNC shield to control the machine. So I have two questions.

  1. Is it overkill to use two processors in such a way or can the Due handle the workload of screen and motion control on its own?

2, If I can master/slave the two processors, can I have two seperate programs on each that communicate what they need to communicate or do I have to run one program on one processor and the other chip is used solely for expanded remote IO?

I'm not too terribly familiar with the Arduino language or protocols so any feedback would be appreciated.

Thanks for the help.

I would expect the Due to be able to manage the entire workload. RAMPS 1.4 uses a Mega to do CNC type work and the Due is significantly faster. Actually, I would expect that the Mega could handle the display too unless the library is inefficient.

I don't understand your second question.

Generally, adding a second controller makes everything more complicated and I would only do it if I were forced to. Personally, if I found that the Due couldn't do it, I'd get a more powerful micro controller before I'd add a slave device.

Just the Due.

Just keep in mind 3.3V for 'everything'.

wildbill:
I don't understand your second question.

Generally, adding a second controller makes everything more complicated and I would only do it if I were forced to. Personally, if I found that the Due couldn't do it, I'd get a more powerful micro controller before I'd add a slave device.

What I mean is with the slave device, could it have it's own program or no? As in would it be able to run its own deal or simply like a remote IO rack. You know what, never mind. I think I answered my own question lol.

Idahowalker:
Just keep in mind 3.3V for 'everything'.

Could I use a logic level converter if I had to, like this one from Sparkfun?

Logic level converters can be used with the ESP32.

You have to have a very clear reason to use 2 processors and you have to have a very clear idea what each one does. You then need to have a well defined interface between them.

Thinking that one might not be powerful enough isn't enough reason.