SoftSerial using 7N1

Is there any way to setup SoftSerial for 7N1? I have a device that is setup for 7N1 for serial comms and there is no way to change it on the device. SoftSerial does not seem to have any options to change data, parity or stop bits.

My hardware is an Arduino UNO and the device is a proprietary controller that I would like to interface to. Sadly I can not change the controller and am now stuck, please help this Arduino n00b.

Pad your data to have the LSB equal to the Stop bit. Then the data will look like 7N2, or, just a slightly longer pause between bytes.
When receiving, take the received byte and mask off the unused bit.

Sounds like I might just be better off extending the soft serial lib and provide the community with a patch. It's been a while since I've contributed to any open source projects so I guess I'm due anyway. Thank you for the suggestion.

Check - Arduino Forum - might have interesting properties too ...

I already did a lot of searching around but I do not find anything which leads me to the right way…

I am trying to read out a Easymeter with d0 Interface

Wiring is an IR Diode to Pin 2, Ground and 5V. Looking on Osci shows a good signal.

So I tried to read out with softserial. But I am not getting anything useful I think…

The circuit:

  • RX is digital pin 2 (connect to TX of other device)
  • TX is digital pin 3 (connect to RX of other device)

#include <SoftwareSerial.h>

SoftwareSerial mySerial(2, 3); // RX, TX

void setup()
// Open serial communications and wait for port to open:

Serial.println(“los gehts:…”);

// set the data rate for the SoftwareSerial port

void loop() // run over and over
if (mySerial.available())
Serial.print(; //Serial.print(78, HEX) gives “4E”

I tried to change to 7N1 with &0x7F I found in another Forum, but without any success.

Does somebody have an idea how to get closer to a solution?

Thanks a lot