15

How can i determine the serial protocol of a electric typewriter? some electric typewriters have a serial port in the back and it is a shape that is not commonly used today. I am planing on interfacing the typewriter with a Arduino and using it as a printer.

How do i determine things such as the baud rate, the pinout and the voltage. I already broke one typewriter trying to find out the protocol, I cannot get a owners manual for the typewriters, all of the other guides that i found involved modifying the circuit board and connecting the wires to the keys. I have not been able to find out how a a typewriter with a serial port works.

Here is a picture of the serial port, what type is it?

enter image description here

  • 4
    Not sure how much it helps, but that appears to be a DIN 45326 connector. – Jason Geffner Oct 21 '13 at 3:08
  • Did you search for the original application that was made for this port? If you reverse this application it should be quite easy to reverse the protocol. – Stolas Oct 21 '13 at 6:36
  • 4
    If you already have one broken typewriter then I assume you can open it and see what is connected to this port to determine what interface IC is connected and which pins are used (I think that not all of DIN pins have to be used at all) – n3vermind Oct 21 '13 at 15:40
  • What is the function of the port on the typewriter? To use the machine as a teleprinter? If so, I would have thought it would be simply a case of finding the RX line and sending ASCII codes into it. There may be some control codes involved as well, the wikipedia page for Teleprinter has some info on these. – Guy Jan 24 '18 at 12:13
10

As Jason Geffner said its a DIN 45326 connector. As far as I know they're normally used in audio, but here is a pin out while used for serial.

Next step would be using an Oscilloscope to determine the baud rate (and voltage). Often the oscilloscope software has some build in tools for automatically determining the baud rate. If not, you simple divide 1 by the period of the wave. E.g. find the 2 peaks with the shortest horizontal distance and measure that time to get the period.

If you don't have an oscilloscope you'll have to brute force it. I'd start by trying the most common ones which in my experience are:

9600/115200-8-N-1 (9600 or 115200 baud, 8 data bits, no parity, 1 stop bit), no flow control.

The above are the most common these days, but I have no clue back in the old days what was common.

  • 2
    FYI, I found 5 or so different pin-out configurations last night for DIN 45326 connectors, so take whatever you find online with a grain of salt. – Jason Geffner Oct 21 '13 at 13:47
  • 1
    Good point, I didn't go that far. The best approach is likely what @n3vermind said; trace the pins back to the interface IC and lookup the functionality of the pins in the data sheet. On the other hand I would probably do the lazy approach first and start probing with an oscilloscope. If I get nonsensical data I'd start confirming that I'm looking at the right pins. Either way is fine. – ixje Oct 21 '13 at 17:56
3

You may want to perform Automatic baud rate detection

There are a couple of projects on github that implement these such as BAUD RATE RS232 DETECTOR EXAMPLE for atmega8

You may also want to use RS232enum that uses Arduino to try to enumerate all serial lines (RX/TX).

  • there's a pretty simple python script that was written to determine baudrate, => code.google.com/p/baudrate it's pretty simple to cycle through various baudrates, but i don't think you can adjust the 8N1 settings :/ – ipatch Mar 6 '14 at 23:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.