Atmel defines a Single Wire Interface (not to be confused with 1-Wire) for their ATSHA204 chip.

AVR274 describes how to use a UART for SWI. But how to wire a generic TTL UART for this?(for example from a Raspberry Pi) Is it really as simple as connecting TXD and RXD together?

  • \$\begingroup\$ @VoltageSpike You were incorrect to delete my answer. It was not a question but obvious proof from the datasheet that it is a TTL UART, and my suggestion to teach how to tell \$\endgroup\$ Commented Mar 27, 2021 at 14:14

1 Answer 1


No, standard TXD and RXD cannot be connected together as TXD is always an output from Raspberry Pi or other TTL UART. It would push data line high while the Atmel chip needs to pull the data line low to communicate back to RXD pin.

If it is possible to make the TXD output as open-drain then it is possible to connect TXD and RXD together. Otherwise you need an open-drain buffer to handle that.

  • 1
    \$\begingroup\$ Ok, so wire up something like this: ti.com/lit/ds/symlink/sn74lvc2g07-ep.pdf to TXD to make TXD open-drain and pull-up the shared RXD/TXD-open-drain. \$\endgroup\$
    – Tim
    Commented Mar 27, 2021 at 11:51
  • \$\begingroup\$ Yes, this should work as expected. \$\endgroup\$
    – Justme
    Commented Mar 27, 2021 at 11:55

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.