Communicating between Due and Mega2560

Hi,
I'm working on a project that started out with a Mega2650 then moved to Due with a Mega2650 and possibly a Pro Mini.

The details of the project may not be important to the questions, but here it is:
Its an aquarium controller that started out with a Mega2650. I was using a 20x4 character LCD display with a rotary encoder for a menu system, but decided to use a 3.2" touch screen instead. I also wanted internet access to control it/check status from anywhere. So I decided to get a Due to be the main part of the controller since it's much faster when it comes to graphics. And I was going to use the Mega for the ethernet shield. I'll be using 7 to 9 DS18B20 temp sensors for water temps, LED light temps, and power supply temps. The controller will be controlling 10 LED channels and 6 fan channels, all PWM using an Adafruit I2C 16 channel servo/PWM board. Since the DS18B20 sensors take a long time to read their data, and I'll be using 7 to 9 of them, I may end up putting them on a Pro Mini or something similar so I can check them every 10 to 15 seconds without having to wait 5 to 7 seconds for the data every cycle.

Here are my questions:

I can't use I2C because I'll have to have 2 masters, and I can't so that. I can do it with 1 master and a bit of programming, but I figured the less code the better :slight_smile: So I'm thinking that using serial communication between the boards is going to be my best solution. Am I Correct?
But, the Due is 3.3V and the Mega is 5V. So I figured I'm going to need a voltage translator board. I found 2 from Sparkfun that may work. The Bi-Directional Logic Level Converter: https://www.sparkfun.com/products/12009
and the TXB0104 Voltage Level Translator: SparkFun Voltage-Level Translator Breakout - TXB0104 - BOB-11771 - SparkFun Electronics
Would either one work? is one better than the other?

BTW, This is my 1st Arduino project. I know a little bit about electronics, but I'm a decent programmer.

Any help would be appreciated.

Thanks,
Joe

So I'm thinking that using serial communication between the boards is going to be my best solution. Am I Correct?

What communication ? If you are going to ask which is the better method for communication shouldn't you specify the nature of the data to be communicated ? (data types , number of bits/bytes, format, etc).

I can't use I2C because I'll have to have 2 masters,

What does this mean ? I was under the impression there can only be one master. What kind of masters are you referring to ?
I think you need to start with a BLOCK diagram and one or more schematics. Please DO NOT TRY TO DESCRIBE YOUR CIRCUIT WIRING WITH WORDS ! That is what schematics are for. If you cannot post a schematic, wait until you can to ask your questions.

Would either one work? is one better than the other?

Who knows ? They're cheap. Buy both. Try them and tell us.

Before asking any more questions I would suggest you research schematic symbols and learn to draw schematics by hand. Please DON'T use Fritzing . Why ? Because they are NOT schematics. They are ASSEMBLY DRAWINGS for morons who are too lazy to learn to draw a schematic. If you want to be pegged as a moron who is too stupid or lazy to learn how to draw a schematic then by all means use Fritzing. They serve a purpose ; assembly drawings to help you assemble a circuit. They are not schematics.
If you post for a hardware problem that may be the result of an assembly or wiring error, what good would it be to post a Fritzing of how you THINK you wired it ? Consequently, in cases where a miss-wire is suspected, we will NOT accept Fritzing's as an example of your circuit wiring. We will request a photo of the circuit. If the circuit is under development, and hasn't actually even been assembled, then of course a miss-wire is not something anyone would be thinking about and we would only be interested in the actual design, ergo the schematic, not the assembly drawing. About the only case where a Fritzing would be usefull is if you came accross a schematic on the web and were unsure how to assemble it. In that case, a Fritzing is exactly what you need.
Unfortunately, this case is not that common.

Learn to draw a schematic on a piece of blank printer paper and post a cell phone photo of it and ask for comments. Repeat this process AS MANY TIMES AS IS NECESSARY until your schematics look acceptable. When you have reached that point, you are ready to proceed with your project. You ARE NOT ready to proceed NOW, simply because you are incapable of communicating your circuit wiring to us unless you want to post wiring lists which would be better than nothing but would not be welcomed. If you post Fritzings, then we have to waste time tracing the pin placement on the breadboard to construct a schematic. I personally will not waste the time. If you can't draw a schematic, you have no business building electronic circuits. Call that harsh if you like but it is the truth. Yes, there are thousands of people who build circuits that work with Fritzings but they are not asking us for electronic advice. When you are ready to communicate your circuit wiring in a manner that does not waste time then you are ready to ask electronic related questions.
If all of your circuits work the first time and your only questions are software related questions about how to write the code then I suppose you don't need any schematic.

Fortunately you already know how to code so you are way ahead there. If you have NO electronic experience then I will give you this one piece of advice. PAY ATTENTION !
NEVER APPLY POWER TO A CIRCUIT UNTIL YOU HAVE PERFORMED A POINT TO POINT WIRING CHECK AND VERIFIED VISUALLY
(preferably at least twice) THAT EVERY WIRE IS CONNECTED WHERE IT SHOULD BE AND THE (+) TERMINALS OR WIRES HAVE NOT BEEN REVERSED WITH THE (-) TERMINALS OR PINS. (ie: DS18b20: Using the diagram on the datasheet , flat side facing forward, which pin is 5V and which is ground ?) (If you install it backwards , it's toast)

Also, where ICs are concerned:
NEVER USE AND IC without reading the datasheet first.
There is a special HELL for people who don't read datasheets. It is a place where nothing works and everything burns up when you turn on the power.