Recommendations for Arduino with 2 UARTS

Hello, new to the forum. I'm looking for an Arduino that has at least 16 I/O pins for a keypad and 2 UARTS that support simultaneous operation at slow speeds, 19200 baud. I was using a Uno R3 but found that software serial did not support support this. The Arduino will be reading in bytes from legacy hardware via com1 , looking at the hex commands and updating certain commands to support a new character display. These will be sent via com2 to the 40x2 character display. Simultaneously, keypad button presses will be read by the digital inputs and those values will be sent to the legacy hardware via com1.

I'd love to have an Arduino with a DIP package, because I'm old fashioned and like to be able to remove the chip, but it seems like I'll have to go with the Arduino Due with a surface mount 32 bit processor. This seems like a little bit of overkill for 9600 baud and buttons.

This will be a low volume product to keep some legacy hardware alive. So I'll need to program and then mount the processor on a custom PCB that I'm working on. Any recommendations or advice would be appreciated.

Thanks, SMunyon in the USA.

Dont think its sold as a built Arduino as such, but the ATmega1284P is available in a 40pin DIP, so easy to build with.

Supported by the Arduino IDE, 2 hardware UARTs, 8 more I\O pins than the Atmega328P and lots more memory.

2 Likes

Welcome to the forum, SMunyon! For your project needing 2 UARTs and sufficient I/O pins, consider the Arduino Mega 2560. It supports your desired baud rate of 19200 and offers ample I/O options for your keypad and components. Good luck with your project!

Possibly the AT Mega 4809 as used on a Nano Every but in 40 pin DIP package along with

You will need an FTDI programmer.

2 Likes

Thanks for the suggestion. Is there a evaluation board available or would I need to breadboard my own? I guess that wouldn't be too difficult, I'll have to look at the data 'book'.

Thank you for the suggestion. I was looking at the MegaCoreX readme file and it looks very thoroughly done. I'd need to look around on the 'net to see who else has used this package.

I use it both with the Nano Every and directly with the AT Mega 4809 and I find it just works, everything does what it's supposed to do without any problems. You can use up to 4 UARTs on 2 sets of alternative pins per UART with it. Plenty of pins for other things.

Not aware of an evaluation board, but the circuit is not difficult to build, just follow the principles for a 'bare bones' Atmega328p.

RS Components have an evaluation board for the 4809:

think some details of the legacy hardware is required?
e.g. are the serial ports TTL, RS232 or RS485? are the digital inputs 5V logic? etc etc
is the target an industrial environment?
typical Arduino boards are not designed for critical applications but there are industrial versions (at a cost)

Like @PerryBebbington I use MegaCoreX with the Nano Every and recommend it highly.

I do see that with the 40 pin Dip package you only have 2 additional hardware UARTs available as well as the USB.

It's standard serial port RS232 interface from a CPU board running DOS. I'm using a max232 chip to bring the voltages to TTL levels.

Thanks everyone for the information. I was leaning towards the ATmega328P, but I only see 1 USART. So I'll order a Nano Every and see how that works out.

One clarification, because some new posters aren't aware - is that actually a 16 key keypad, or are you really looking for an 8x8 (64 key) keypad? I ask, because if it's really a 16 key keypad, that is commonly supported as a 4x4 matrix, using only 8 pins.
I ask, because it may influence your hardware selection.

+1 for the 4809. As already mentioned, you can get it in a 40 pin DIL package.

I got started with my 4809 by reading up on an article Minimal ATmega4809 on a Breadboard.

I’ve used the 4809 and made a PCB for it to make experimenting easier .
If you pm me and pay the postage I can send you a bare one for the 40pin dip .
How it goes together is fairly obvious and you can use DuPont leads to connect to pots, leds , switches etc
To load the megacore bootloader you need to make a programmer for it .

2 Likes

2 Likes


For only small numbers and ease of use, you may want to socket the NanoEvery on the pcb .

Thanks for the input, cattledog. As long as the pinout mapping works for me, I like the idea of just plugging a Nano into a PCB. It'll make servicing much easier.

I did a PCB for the 1284P that takes Mikrobus compatible modules, here it is with a SX1278 LoRa module plugged in;

Sleep current is circa 8uA.

Are you looking for a chip, or an Arduino board?
The Nano Every is an obvious choice.

Some of the SAMD21 boards can support SIX UARTs plus the native USB connection! https://github.com/WestfW/WestfW_SerComLib/blob/main/examples/Sparkfun_6uart/Sparkfun_6uart.ino

I designed this neat little PCB for doing "typical 2-uart Serial data munging", based on a ATtiny1634 (which has two UARTs.) While not explicitly Arduino-like, it should be programmable with DrAzzy's ATtinyCore (alas, it was never thoroughly tested, especially WRT the rs232 converters.)

Atmega328PB is ALMOST the same as at ATmega328p, and has two UARTS. Pololu has a board...

1 Like