Facit 4070 Tape Punch - Restoration and USB conversion

Hi all, we have a bunch of these Facit tape punch devices, in varying states of repair:

I’m hoping we can find a way to interface these with a PC to start printing some tape, but I haven’t had much luck making it work.

So far I’ve tried hooking an arduino up to the 25-pin port, using this code: GitHub - RichardShipman/Facit4070arduino: Arduino Mega driver for Facit 4070 paper tape punch

I didn’t connect the data lines yet, just pins 10-12 and pin 25 for ground:

Is it likely that I’ll need to have all the data lines connected before it responds? Does the presence of a 6v line imply that it needs 6v data signals? Any suggestions would be welcome!

Here’s the original manual if you need more info: https://www.wang2200.org/docs/external/Facit_4070_TapePunch.729-0930.4-81.pdf

1 Like

Adrian F wired up a db25 plug and we connected the data lines too

Unfortunately it still isn’t doing anything!
We tried a few machines but no response. :frowning:

Something that just occurred to me: I’m running the Arduino off USB, which may not be giving it enough power to drive all the pins.

If anyone wants to play around with it this week, maybe try using a 5V DC supply with a decent current rating.

From that service manual, we see that the input stages are discrete circuits with resistors and a transistor: you need reasonable current drive here, not just voltage levels. It might be that you need a TTL buffer. (Should be possible to estimate the voltage and current needed, but I don’t quite have the skills for that.)


I was worried it might be something like that, although this guy seems to just have the Arduino plugged straight into it.

I am hopeful that a DC power supply might give the GPIO pins more juice than the USB from my laptop. I’m also wondering if I could run the Arduino from the 6v output on the machine to ensure they have the same ground level.

I wouldn’t run an Arduino on 6v!

If the device isn’t responding, might that be to do with the various control inputs?

Looking at it, with 5V on the input pins, you get 1.39V on the base of the first transistors and the current is a bit low at 0.17mA. The emitter of all these transistors however is connected to the collector of another transistor (V10) that seems to be related to the PI signal, and the Holes and Tape Feed settings. The current @ 5V is minimal, and the 1.39V on the bases of V1-9 should hopefully be enough if V10 is enabled, so I don’t think any external supply will make much difference. However, if V10 isn’t enabled, none of the data inputs will do anything. I’d be checking all the other pins to make sure they’re getting signals.

All that said, there’s mention of a serial interface board (5163 interface, pg 31+ of the PDF) in that doc as well> It mentions that if the serial board is installed, that these inputs either won’t work, or that using them could actually damage the device.

If you check voltages on pins 2, 3, 8 and 20 in reference to pin 7 (as GND) and get either +12V or -12V, then you might be looking at a serial port instead.

1 Like

Ugh, why didn’t they just put a USB plug? These guys are worse than Apple!


Come on, if it was Apple it would
Have had the ATDC connectors- a weird 30 pin proprietary connector known as “Apple Tape Data Connector”

1 Like

we deduced that the modified telecom Australia traffic engineering boards were not enough to drive the units.

We have found the 1 board that can


That’s great! Is there time for you to bring that to Portland?

1 Like


I was going to ask you and @keir if you could help add serial functionality and make it a standalone device? Not sure if the Mega has memory or not?


If we did that, then we can clean up the interface and hook it up to a VT220 for the kids to type their message.

Maybe we could limit it and @europlus could build me a little acms.org.au stamp to put on them so we attract people to join up.

Yep, once you upload the program to the Arduino it runs entirely off the inbuilt flash memory. The PC actually sends the characters to print via serial, but the physical connection happens via USB.

We shouldn’t even need to use the software serial port, it looks like pins 0 and 1 on the Mega are pre-configured to act as a serial port. I don’t think we’d even need to change the code!

Voltage may be an issue with an older device:

“The Arduino serial ports are 5v TTL. RS-232 is -12v. You need a level shifter. Sparkfun has one I have used with great success.”


1 Like

Great - But we would need to clean up the menu to be more KID friendly =)