Hi, I'm a beginner and hoping someone can point me in the right direction. I have a project based off two Arduino Due. I've designed some circuit boards so the Arduinos can plug into them and overall it works good but there are reliability issues with communications.
An Arduino Due has 3 serial ports which can be connected to another Arduino to communicate between them. The project is using all 3 serial ports to communicate.
Each Due is mounted on its own PCB and connect using a standard Ethernet patch cable. 6 wires are for the 3 serial ports (Tx + Rx line) and the other 2 wires are for +12v and GND used to power the board.
Here's where the problem comes in.
On each board I'm using an HCF4050 6 channel IC Buffer converter.
https://www.digikey.ca/product-detail/en/stmicroelectronics/HCF4050M013TR/497-1128-1-ND/586128
Each board has 2 of these mounted, one is powered with 3.3v, the other 5v. When the 3.3v Tx signal comes out of the Due its converted to 5v signal and sent out the ethernet patch cable. When the 5v signal makes it to the receiving board it goes into the HCF4050 and dropped back down to 3.3v and into the Arduino RX pin. So this is repeated for each of the serial ports on the Due and it works both ways.
I like that IC being in front of the Arduino as it acts as protection and has proven to be as an Arduino has never been damaged. However once and a while the HCF4050 will die for no apparent reason. It appeared that it could happen if the Ethernet patch cable was unplugged from the board with it powered up however once it happened by simply resetting the board. Replacing the IC gets it back up and running.
So my question is what's the best way to solve this problem? The HCF4050 is now obsolete so maybe there's a better IC with some protection built in? I like the idea of increasing the 3.3v to 5v to overcome any line loss but it may not be necessary. Either way I would like something between the Arduino and outside world to protect it.
I attached a schematic of the circuit, its quite simple, Tx pin from Arduino goes into HCF4050, signal comes out and goes into HCF4050 on incoming board and out to Rx pin on Arduino. Thanks
An Arduino Due has 3 serial ports which can be connected to another Arduino to communicate between them. The project is using all 3 serial ports to communicate.
Each Due is mounted on its own PCB and connect using a standard Ethernet patch cable. 6 wires are for the 3 serial ports (Tx + Rx line) and the other 2 wires are for +12v and GND used to power the board.
Here's where the problem comes in.
On each board I'm using an HCF4050 6 channel IC Buffer converter.
https://www.digikey.ca/product-detail/en/stmicroelectronics/HCF4050M013TR/497-1128-1-ND/586128
Each board has 2 of these mounted, one is powered with 3.3v, the other 5v. When the 3.3v Tx signal comes out of the Due its converted to 5v signal and sent out the ethernet patch cable. When the 5v signal makes it to the receiving board it goes into the HCF4050 and dropped back down to 3.3v and into the Arduino RX pin. So this is repeated for each of the serial ports on the Due and it works both ways.
I like that IC being in front of the Arduino as it acts as protection and has proven to be as an Arduino has never been damaged. However once and a while the HCF4050 will die for no apparent reason. It appeared that it could happen if the Ethernet patch cable was unplugged from the board with it powered up however once it happened by simply resetting the board. Replacing the IC gets it back up and running.
So my question is what's the best way to solve this problem? The HCF4050 is now obsolete so maybe there's a better IC with some protection built in? I like the idea of increasing the 3.3v to 5v to overcome any line loss but it may not be necessary. Either way I would like something between the Arduino and outside world to protect it.
I attached a schematic of the circuit, its quite simple, Tx pin from Arduino goes into HCF4050, signal comes out and goes into HCF4050 on incoming board and out to Rx pin on Arduino. Thanks
Last edited: