3

I've designed a circuit controlled by an Arduino Mega 2560 involving a number of external components all running on and sending out 5V signals. I'm now realizing that the 8Kb of SRAM on the Mega 2560 is insufficient, so I wanted to upgrade to an Arduino Due. The Due, however, can't accept the 5V outputs from the rest of the components.

Is there an Arduino compatible 5V board with memory comparable to the 96Kb on the Due?

I know that level shifting is an option, but considering that almost every digital input on the board is being used, I'd rather not have to add so many level shifters to the circuit. A voltage-compatible board is preferred.

I'm also not fixed on Arduino-compatibility. If there is another convenient microcontroller development board available, I'd gladly consider it.

EDIT:
The Arduino is being used to read from a set of sensors that produce image data at a constant rate. The data is recorded on the Arduino, then sent to a computer by USB. The Arduino needs to store the whole image before sending it to the computer because performing a Serial write call delays the processor causing it to miss a data sample. The ATMega2560 doesn't have enough SRAM to store the whole image at once.

5
  • please do some research ... come back with an actual question
    – jsotola
    Oct 30, 2021 at 5:41
  • What are you doing that requires so much memory?
    – Majenko
    Oct 30, 2021 at 10:41
  • If your code really gets to complex for the Mega, one option is also to move just the code away from the mega. Use the Due just for controlling the mega, over some serial protocol for instance. (In which case I'd even go for an ESP32, because it is much more powerful still than the due if the massive number of pins is not required)
    – PMF
    Oct 30, 2021 at 11:41
  • Re “a Serial write call delays the processor”: if the input data rate is constant, and slower than what the output baud rate affords, you may consider foregoing the Serial object and just writing the incoming bytes straight to the serial port data register. That should take just a couple of CPU cycles. Oct 30, 2021 at 22:11
  • @EdgarBonet I tried your suggestion to write to the serial register directly, and it is faster, but it still has to wait for the transmit buffer to be emptied before transmitting. This variable delay causes the device to occasionally miss an incoming signal. Oct 31, 2021 at 1:37

2 Answers 2

1

The Teensy 3.5 seems to be exactly what I was looking for.

Teensy 3.5

It is an Arduino-IDE-compatible 5V tolerant microcontroller board with a whopping 256Kb of SRAM and 64 digital inputs. It pretty much blows away the Due in every way.

0

The Arduino MKR Connector Carrier has input level conversion on analog inputs and logic level conversion on digital pins. It makes the 3.3 V MKR boards (SAMD21 MCU) compatible with 5 V sensors and actuators.

The SAMD21 on MKR boards has 256 KB internal flash memory and 32 KB SRAM.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.