This weather stations has a 0-5v serial output. I'm trying to read the serial output with the Adafruit 32u4 feather board and I get nonsense data out of it. When I hook the Ultimeter up to my serial->usb cable I get the normal data output. When I hook up the Ultimeter to a 5v arduino via SoftwareSerial in inverted mode I get proper data. But I need to connect this weather station to a 3.3v Feather board's hardware uart which doesn't seem to be able to operate in inverted mode. Is there a 5v -> 3.3 level converter that also will invert the serial signal ?

  • 2
    Please add more information to your question about the used weather station and feather board. Specifications, brand, type, links. Does that weather have a rs232 output? and the arduino is a 3.3v atmega32u4 running at 8mhz and costs 45 dollars? You need to convert the rs232 to ttl-level. The feather board might be damaged by the rs232.
    – Jot
    Commented Aug 27, 2018 at 9:44
  • I have determined that the serial output of the weather station is inverted 5v ttl. I can get the proper data using software serial inversion. The 5v output may be too much for the 3.3v TTL but the hardware uart doesn't seem to be damaged at this point although I can't seem to get software serial to work on the Feather board.
    – tavis
    Commented Aug 27, 2018 at 21:19
  • The rs232 can be a signal from -12v to +12v, but some devices use -5v to +5v and there are also some devices that are not very compatible that use 0v to +5v. You should use a rs232 to ttl-level converter. For a test use at least a protection resistor to the arduino. For example 4k7 or 10k. The arduino serial is idle high and the rs232 is idle -12v. It is indeed inverted as you already noticed. You can try a transistor to invert the signal. There is no need to use SoftwareSerial. The SoftwareSerial has limitations for the atmega32u4/Leonardo arduino.cc/en/Reference/SoftwareSerial
    – Jot
    Commented Aug 27, 2018 at 23:58

3 Answers 3


I think you're looking for an inverting amplifier. This can be done with either a BJT or a MOSFET (assuming your input is enough to turn the MOSFET on). Here's an example with a BJT:


simulate this circuit – Schematic created using CircuitLab

The output range is independent of the input and is defined by the supply voltage.


Base > Collector is not good ,for NPN transistor.

Because "Base -> collecter" is PN.

So use LM393 for level convert.

LM393 is open collecter.


I ended up using a simple voltage divider to reduce the 5v to 3v and used SoftwareSerial to read the inverted serial. Thanks everyone.

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.