PCB design mistake: Need to verify operation [SOLVED]


Below is my RS485 module that interfaces to an ATSAMD21 micro.
The MAX3085 chip is rated 5V while the SAMD21 at 3.3V.
So I had to use level shifters at the input of the MAX3085. Dont ask why I didn’t get a 3.3V chip! (Had lots MAX3085, couldn’t easily find a 3.3V version of the chip with all the other parameters etc)
schematic RS485

As you can see from the schematic, I made a mistake and forgot to level shift the DE input which enables the chip on command from the MCU.
The DE input being active high needs 5V to get enabled and it gets about 2.6-2.7V (measured). Not sure if this is enough but the fact is that the system doesn’t transmit while reception is fine.
2.6V active high in a 5V system is on the borderline.
I now need to verify that indeed this is the problem and I am looking at ways to inject a “real” 5V high at he DE input (pin 2,3) without of course damaging the mcu.
Unfortunately everything is SMD and the resistors shown are all part of resistor networks using 4x0603 chip resistors. So I cant just unsolder one of them to isolate the MAX8035 from the MCU.

Any ideas?
What if I feed the MAX3085 DE input with 5V via an external -say 4k7- resistor in order to raise the active high voltage? Will this damage the MCU?

Input High Voltage

VIH1 DE, DI, RE, H/F, TXP, RXP 2.0 V

Input Low Voltage

VIL1. DE, DI, RE, H/F, TXP, RXP 0.8 V


DE min 2V not 5V

Yes, i know that anything above 2v should register as a High by the max3085 chip.
In my case its about 2.6V, which should work but its not a nominal hi leveI and i want to make sure that this is not the reason the chip is not transmitting.

Those 10k pullups might be rather slow - what baud rate are you using?

You don’t need any level translation driving DI, DE or RE/ as they are 3.3V
compatible inputs.

For the output from the MAX3085 a simple 1k:2k2 resistive divider would work
to bring 5V down to 3.3V

Which polyfuses do you have in series with the A and B lines?

Hi Mark,

I use 9600 , (11bits, even parity)
Pull ups too low? Same setup worked with a 5v avr based system.
I haven’t install the polyfuse yet, for now i just soldered a link on the pads.

Do you think its worth replacing the 4x10k resistor with a 4x4k7 one?

9600 is very slow, it won’t be an issue at all. I was imagining mega baudrates as this is
what RS485 is great for.

Have you checked out the basic functioning of the chip is correct? There are two pins
controlling the chip for transmission, DE and TX - so four combinations to check, just
hard code the setting in a test-sketch, upload and even a simple multimeter can be
used on the A and B lines.
If you have a 'scope it would be quicker to check of course as you could just look
at the signals in realtime.

Hmm You are suspecting the chip itself?
It would probably be quicker to just replace it…

yes i do have a scope. This is how i verified all inputs arrive correctly to the chip from the mcu.

By the way you do have a decoupling cap for the MAX3085? That’s not clear from the schematic. (i.e. is C15 on the power pin of the chip, or distant from it?)

So that will be steady 5V on DE ?
Inject 3.3V
Because MCU is feed by 3.3V so it pins are 3.3V tolerant.

From where you got 2.6V, MCU should deliver 3.3V. Remove R8, pull down function should be done by software - if( xxxxx) digitalwrite pin A HIGH else digitalwrite pin A LOW

yes c15 is next to the chip

2.6v are measured when the mcu puts a high on DE…not sure why it’s not 3.3v
R8 makes sure chip is disabled at powerup.

remove R8 and measure DE voltage without it.

Turns out that MAX3085 was defective.
Removing the chip and measuring voltage on DE when active is now 3.3V (not 2.6 as before)
After replacing the chip, everything work perfect.

Not sure why/how a brand new chip turned out to be defective…

Thanks all for your help!

Where did you buy the chip?


So it was probably counterfeit ...

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.