Wednesday, December 6, 2023

Continuing with tab/return cord installation and adjustments; resolving the missing ribbon color shift tape


The linkage to the backspace operational latch had to be put into place and the spring reattached that will keep it deactivated until the backspace function is triggered. This involved tedious manipulation with spring hooks through narrow openings. 

As is my luck, the spring got away from me and hid inside the machinery. After 45 minutes of hunting from every angle I finally discovered where it had wedged and retrieved it. I then went back to the spring hooks and fought it until it surrendered. The spring is attached and working properly.

Finally, there are adjustments that must be made again, such as the trigger condition for a backspace which is a screw with locknut that sits so high on the bracket that during removal, I had to lower it to clear obstacles. This has to be set up right in order for the machine to move just one column backwards reliably. I will address these adjustments a bit later.


This is the same process I have done many times already, the only tricky part now is at the end after I have the mainspring pre-wound and the cords attached properly, I have to loosen the return drum, rotate it to tighten up the cords and tighten down the screws to achieve the proper cord tension.

The core tension arm is a pulley that is forced outwards with strong spring force. When the cords are properly tightened, they pull the pulley inwards partway so that the cord tension offsets the spring tension. There are scribed lines on the bracket where the pulley moves and the cords must be adjusted so that the far end of the arm is right at the scribed lines. 

This involves holding the rest of the mechanisms steady while turning the return drum to pull on or loosen its cord. Turning it against the spring tension of the cord tension arm is infeasible, so I use a clamp to hold the tension arm all the way in, relieving its pressure. I then adjust the return drum so that the cord holds the pulley at the scribed lines, minus a bit that I estimate, then lock down the drum by tightening the two screws on its hub. The clamp is removed and we assess the tension arm against the scribe lines.

This is a bit iterative but the desired result is achieved when I can space, tab and return with the cord tension arm remaining at the scribe lines.

When I thought I had it all set and removed the clamp, I saw the escapement/tab drum hop forwards, skipping teeth on the operational shaft gears. I then realized that when I move the return drum and tighten it down, I also have to move it back against the bearing in front of the mainspring, otherwise there will be slop that allows the gears of the tab drum to disengage. 

At this point the cords are all properly attached but the tension is again inadequate and the return drum is not snug against the bearings. When I get back to the shop I will resolve all that and should have a properly tensioned set of cords. The mainspring must be wound to the right tension once I have the cord properly installed, then we should be done with this extended task.

At this time of year, I have other obligations that reduce my time in the shop to only 3 or 4 hours per day at best, which contributes to the plodding pace of the 1053 repairs.


The IBM 1130 console printer makes use of bicolor cloth ribbons, which are inked with red and black ink on the upper and lower halves of the fabric. By controlling the height that the ribbon lifts during a character print, the 1053 can print in either red or black. The color is controlled by program commands, firing one of two solenoids to shift to red or shift to black.

mechanism inside carrier
lever which changes tension of the tape

The implementation of the ribbon color makes use of a flat nylon tape that runs across a series of pulleys, much like the metal tape for tilt and rotate runs around pulleys. One end of the tape is hooked to the right of the carrier, the tape runs to the right edge, around a pulley, back in front of the carrier to the left edge, then down to the solenoid lever at the bottom left. The tape then goes back up to another pulley on the left side and runs to the left side of the carrier. On the carrier is a small pulley to route the tape back to hook to a pull mechanism that controls the ribbon lift. 

pulley on carrier

ribbon lift lever circled

tension adjustment

right pulley

solenoid lever

The original nylon tape was missing and there is no source of replacement ribbon. The IBM original had appropriate metal hooks on the ends to attach to the carrier. An adjustment screw moves one of the pulleys in and out to fine tune the tension so that it reliably moves between black and red halves of the ribbon. 


I temporarily tied some lacing cord onto the carrier and ran it through all the pulleys to test its fit. It does appear to stay on the pulleys and work appropriately. The carrier moves left and right without impacting the tension on the cord, while the solenoids tip the lever up and down to add tension which is transmitted into the carrier's ribbon lift lever. 


I believe a small ring, a miniature version of the rings for key chains, will fit through the hole in the ribbon lift lever. I need to find or make one. The other end just has to sit over a post on the carrier, it is less critical. When I have workable hooks I will get them fastened securely to the lacing cord and put them onto the 1053. The final step will be to adjust the position of the right pulley to assure that we select red or black as intended.

Monday, December 4, 2023

Swapped again to put new CR drum; fighting to reinstall a small spring


With the return drum holes partially stripped and not holding on the shaft, I had to disassemble the carrier motion mechanism to fix the issue. Cords hooked to both sides of the carrier wind around a pair of drums on a shaft which also attaches the main spring of the typewriter. 

During a carrier return operation, the shaft is rotated by motor power to pull the carrier all the way to the left margin. This also winds up the mainspring, whose energy will be released during each space or tab movement of the carrier to the right. 

I had to remove the circled parts, which in turn require removal of other parts to gain access including the motor start capacitor, its bracket, and linkages to the backspace operational latch.


The front drum (escapement/tab) fits on the shaft with a setscrew tightened to a flatted section of the shaft. The rest of the mechanism pulls out the rear of the typewriter. The mainspring is carefully unwound and removed. The return drum is slid off the front of the shaft to remove it.

I found that the portion of the shaft where the return drum fastens (via two screws set 90 degrees apart around the hub) had some very sticky, gluey substance I had to clean off first. I suspect that a prior repair of the donor Selectric had added glue to help keep the drum from rotating. 


The drum from the original mechanism had thread holes on the hub in decent condition. I carefully cleaned them out and worked the screws through them to ensure they would tighten down well on the shaft when I reinstalled everything. 

I slide the return drum onto the shaft and did a test with the two screws lightly tightened. The drum appeared to hold well, which is a good sign that it will work properly when I am applying full tension of the cords as my final adjustment. 


Getting the parts back in place took some time, as I had to put the plate back in position with the return drum, add the mainspring, adjust the position of the escapement/tab drum to mesh properly with the operational shaft gears and tighten the setscrew. 

Next, the linkage to the backspace operational latch had to be put into place and the spring must be reattached that keeps it deactivated until the backspace function is triggered. This involves tedious manipulation with spring hooks through narrow openings. 

Spring around notches on the vertical lever, hooks to the rear

I have a set of tools that make it possible to attach and detach springs deep inside the machinery of the Selectric. There are hooks that grab one end of a spring and pull it into tension. These are useful when the far end is anchored and we just need to put the near end onto its holder. There are pushers that are used when the near end of a spring is attached and the far end must be pushed away into tension to fit over its holder. 

Finally there is a tool that fits through the body of the spring and clamps onto the far end. It allows a completely loose spring to be pushed into some cavity and then the far end hooked onto its holder, Before removing this tool, one would grab the near end with a spring hook and stretch it out to fit on the near end holder. 

The latch to the right of the backspace latch has its spring attached - hard to see in the picture but the spring fits around the vertical lever at the side notches and stretches directly backwards to a mounting point behind. Its role is to pull the lever backwards so that it is NOT pulled by the operational bail. The only way it is pulled down is if the activation of a backspace function forces the lever forward against its spring while triggering the operational clutch to take a cycle. Apologies for poor photo quality.

Far end attachment point circled

The surgery involves the tools inserted through every narrow openings, with limited opportunity to see what is going on or even to light it properly.

How I spend my hours at the shop

All too often, the spring pops loose and I have to start over. This is the kind of issue that arises which takes a process (reinstalling the drum, the cords and setting the tension) from what seems like a 30 minute task to a day or more of work. 

The area where I had to remove and replace the drum assembly is loaded with adjustments, quite a few of which are disturbed by the work and will need to be set properly once the cord attachment task is complete. 

The screw which wouldn't clear the horizontal bar until screwed way down

Saturday, December 2, 2023

Installation of new console loader on museum's 1130 system


The first version of the loader, which was a quick and dirty design at the request of another museum, required three relay boards (2@8 plus 1@4 relays), an Arduino Mega 2560 and a board with resistors, all of which were stuffed under the desktop, in front of the keyboard and behind the typewriter panel. 

I recently designed a version using optical isolated switches where all of the switch functions plus the resistors easily fit on a PCB the same outline as the Arduino. Plugged in as a 'shield', the stack is not much taller than the Arduino itself.

I designed and manufactured the shield PCB with connectors for cables that run to the rest of the machine, to simplify maintenance on the 1130 in the future. The Arduino stack will sit behind the 1053 front panel, under the typewriter mechanism, thus being completely out of sight. A set of sixteen wires run up to the console entry switches (CES) on the same front panel and end in a connector to hook to the board.

CES switches, Prog Start and Load IAR buttons

Another smaller cable with a connector to the Arduino stack runs out of the front of the 1053 alongside the IBM cable for the CES signal lines, underneath the desktop. That cable is hooked to the Program Start and Load IAR buttons, as well as bringing 12V to the Arduino stack. 

Exit notch bottom right for IBM cable, USB cable and my wires

I first disassembled the existing relay board implementation before wiring in the two cables that will hook to the Arduino stack. The area looked much neater already.


The CES toggle switches have sixteen wires running down to the 1130's logic cages, where the electronics can read the state of the switches. +12V feeds to the common terminal of all the switches and the normally open contact has a 470 ohm resistor in series to the wire running to the 1130 electronics. 

I soldered my wires to the 16 normally open connections such that my loader can deliver +12V through 470 ohm resistors to the 1130 electronics to virtually set the CES to a 1. I installed the connector and verified connectivity from the CES switch to the proper contact on the connector of the Arduino shield.


This design will activate as soon as the IBM 1130 powers up, but will not take control of the machine unless requested by a specific command code over the USB Serial link. When idle, not controlling the 1130, it provides the +12V to the common terminal of the Program Start pushbutton, replacing a wire connection to 12V installed by IBM. 

When the loader is activated by the special command character, it removes the +12V to the common terminal of Program Start. The normally closed and normally open contacts are powered alternatively by my shield to indicate button up or button pressed conditions. Thus, my shield drops 12V from normally closed and delivers it to normally open as a virtual button push. 

The Load IAR button is only fed +12V power to the common terminal when the rotary mode switch on the machine is set to either Load or Display mode. The normally open contact runs down to the 1130 electronics to trigger the setting of the IAR from the contents of the CES when the button is pushed. 

My shield will route the connection from the rotary mode control that is soldered to the common terminal of Load IAR, taking it to my shield and returning the output of the optical switch to the normally open contact of the Load IAR button. Thus, when I connect the two wires from that button, the shield is virtually pressing the Load IAR button. 

I grabbed +12V and ground from the power supply of the 1130 and delivered it over the cable to the Arduino stack. Thus, when the machine powers up, the Arduino will come up and go into its idle state, delivering +12V to the Program Start common terminal so that the operator can push this manually. When activated we disable Program Start button and instead virtually push it, plus virtually push the Load IAR button and virtually set the 16 CES. 


I found a good location to mount the Arduino stack. There is an empty volume behind the 1053 front panel, where the stack will fit underneath the typewriter mechanism. I only needed a few inches deep and high while the existing area is comfortably larger than my needs. 

I mounted the Arduino stack on a bracket which itself is mounted to the back surface of the 1053 front panel. This panel is removed from the rest of the 1053 in order to move the typewriter mechanism for service while keeping the panel with its CES close to the electronics. Thus, when the front panel mounts on the bottom are unscrewed from the 1053 base, the panel is pulled forward and upward to move it away from the rest of the 1053. The two connectors to the CES and pushbuttons can stay attached as the move with the front panel.

I simply drilled a couple of holes in the front panel, low enough to be hidden by the table top when closed. The bracket is mounted and fits exactly as I envisioned.

Inside 1053, rear view of front panel, top view looking towards keyboard

The final mounting decision was for the USB connector. When someone wants to control the 1130 and load memory, they plug into the USB connector and open a serial connection to the Arduino. The command lines that are sent over that link command the loader to set CES and push buttons, but require an activation command character to start the process and a second transmission of that command to deactivate at the end of a loading session so that the Prog Start button is again functional. 

I found that the USB cable would route out of the front panel near the bottom along with the IBM and my signal wires, then it can lie alongside the right side of the console printer cover, low where it won't be seen. The cord is hung behind the 1130 so that it can be picked up and plugged into the serial communications device when it is time to use the loader. 

Wednesday, November 29, 2023

Continued battle with tab/return cords on the 1053 console printer; installing new console loader


I secured the carrier return cord to the bottom of the carrier with a bit of tape while I was routing cord around, removing it once things were under tension. Similar tips helped with the whack-a-mole problem I had last time I worked on this. 

I put a clamp on the spring loaded pulley that adjusts the cord tension, to counteract the spring force. This permits me to route the cord and tighten it without fighting the power of that spring. 


I rotated the return drum relative to the axle as a way of taking up cord and shortening it. When I had it in the proper position I tightened down the two screws that sit 90 degrees apart to lock the return drum to the rest of the mechanism. I removed the clamp and checked the cord tension, but I saw the return drum move on its own a few times, releasing too much tension.

I reset the position and tried to tighten the screws a bit more firmly. One of them was spinning without ever feeling tight and the other initially felt tight then just fell right out! When I looked at the screws I could see that the threaded hole was stripping and releasing bits of aluminum. 

This won't work. I looked back at the other assembly that I had removed, the one where the drum was almost frozen on the axle and wouldn't rotate with the screws loosened. I had done a swap with parts from a donor Selectric but now the return hub is ruined on the machine.


The threads and screws of the return drum I had pulled from this machine looked good, in spite of the drum not turning on the axle. I used clock oil and finessed the drum to come off the axle. I could see that the axle was really scraped up, the cause of the frozen position. Now I have a good drum that needs to go on the working axle I put into the machine.


What this portends is another major surgery. I will remove the cords, remove the entire assembly, mainspring etc before taking the bad return drum off it and installing the better drum. Once I am convinced that the return drum will rotate freely and then lock down when the screws are tightened, without stripping them out, I will put it all back together. Then back to the cord installation and adjustment. 


The front panel of the console printer (1053) has 16 toggle switches that comprise the Console Entry Switches, an I/O device the program can interrogate. My new console loader fits on the rear of that panel, underneath and inside the typewriter in unused space, with the wires running up to the console entry switches to virtually switch them while loading.

The remaining connections, to power and to the pushbuttons Prog Start and Load IAR, run out of a notch at the base of the front panel where the CES connections are routed down to the logic inside the 1130. One final connection, a USB cable, will run out of that notch along with my and IBM's cables. 

Here you can see me in the process of joining the console loader CES cable to the wires (white) I already installed on the toggle switches. Once this is done, I will wire in the other cable to the buttons then fashion the mechanical connections of the console loader to the back of the front panel.

Sunday, November 19, 2023

Typewriter 'whack a mole' getting the carrier return/tab/escapement cords set up


The cords were removed and I had to replace the drum/mainspring system with parts from the donor typewriter, documented in an earlier blog post. This left me with the tab drum sitting on the front of the shaft but not fastened down and the mainspring installed but not wound up. I hadn't put the two screws into the CR drum to fasten it on the shaft either, and neither cord was attached. 


The front of the shaft where the tab drum sits has a flattened area and the tab drum has a setscrew that will lock the drum on the shaft at that flat spot. I moved the drum so the gear on the drum edge would engage with the mating gears on the operational shaft, tight enough to meet the backlash adjust of no more than .006". The setscrew was tightened to lock the drum in this position. 


The mainspring was installed on the rear of the shaft and I could replace the mounting bracket for the motor start capacitor which otherwise blocks access to the spring. The procedure for reattaching cords first puts about five turns on the mainspring which would be the force remaining when the carrier is fully rightward. This is a minimum sufficient to power the spacing and tab movements of the carrier even at the right margin. 

Then when the CR drum pulls the carrier to the left margin it will wind additional turns on the mainspring. In normal operation, for a return operation the motor turns the shaft through the tab drum to wind cord on the CR drum, let cord off the tab drum, and wind power into the mainspring. All this energy in the mainspring is available to pull the carrier rightward whenever the escapement teeth disengage, either to space one column over or to fly to the next tab stop or all the way to the right margin. The power for rightward movement of the carrier comes from energy stored up in the mainspring. 


My next move was to attach the return cord to the CR drum, route it around its three pulleys and attach the other end to the bottom of the carrier which was sitting at the right end of the machine. When that was done I would manually turn the operational shaft to draw cord onto the CR drum, wind the mainspring and pull the carrier to the left side of the machine. 

When it reached the left side, I would then attach the tab cord to the tab drum, getting at least one wind on it while at the left side of the machine, route the cord over two pulleys and attach it to the right side of the carrier. Turning the CR drum on its shaft (since the screws were loosened to let it turn freely on the shaft), while turning the tab drum in the other direction, I could get the lengths of cord approximately correct and lock down the CR drum screws. 

Pulling the tab cord over the spring loaded pulley on the right side of the machine will indicate whether the tension on the cords is correct or not, by the position of the pulley against a fixed mark. Slightly loosening the CR drum screws and turning that while holding the tab drum/mainspring from turning, while differentially loosen or tighten the cords after which I can lock down the CR drum. 

Unfortunately, this is where the Selectric began to play whack-a-mole with me. That is the game where as you try to knock down a mole popping out of one hole, others pop up from different holes, such that you never have all the moles down at the same time. The theory sounds simple, per the manual.

Lets summarize the number of items that need to be controlled or manipulated for this all to work out:

  • CR cord attached to bottom of carrier
  • CR cord positioned around two pulleys on left side of machine, in the groove on each pulley
  • CR cord positioned over small pulley in rear of machine on post, in groove
  • small pulley does not jump or fall off post
  • CR cord wrapped smoothly around CR drum

  • CR drum turned and held to tighten or loosen CR cord
  • Tab cord attached to right side of carrier
  • Tab cord fit round the spring loaded pulley on the right side of the machine
  • tab cord fitted over small pulley on post above tab drum
  • small pulley does not jump or fall off post
  • tab cord wrapped smoothly around tab drum
  • Tab drum and mainspring turned to tighten the tab cord
  • CR drum turned on shaft to tighten CR cord without releasing tab cord
  • Two screws set 90 degrees apart on CR drum must be tightened down while cords in tension
I no sooner get the CR cord properly wound on the drum when the cord pops off 1 to 3 of its pulleys. I get the cord back on the pulleys and the end falls off the bottom of the carrier. 

The issue is the number of hands which need to be involved to keep all of the elements in their proper positions - one hand for the CR drum and one for the tab drum. Other hands so the cord tension doesn't slacken so much that it detaches from the carrier or loses the even wind on the drums. Other hands to tighten the screws on the CR drum. Eyes and hands to ensure that the two small pulleys don't jump off. Eyes and hands to make sure the cords run in the grooves on two small pulleys and three big ones, plus in two drums. 

I put in a good two hours until the last time that the CR cord fell off the bottom of the carrier. When next I get into the shop, with a packed Thanksgiving week in the way, I will ever so patiently reinstall it, thread the cord on all the grooves, fix up the drum wind and then try to get the tab cord started on the tab drum. 

Saturday, November 18, 2023

Selection latch restoration and rotate selection adjustment work


There are a number of adjustments to work through for the rotation selection and I am going to focus on getting them exactly correct, by the book, in order to achieve proper selection. Some of them will require me to power up the motor because the adjustment procedure requires the print cycle to occur at full speed. 

One of the earliest adjustments is to set up the rotary pivot arm so that it as close to vertical as you can get it. The various manuals suggest measuring from the line etched in the arm at the top and bottom in order to ascertain whether it is equidistant. The snag is that there is no 'thing' to measure to from which it would be equidistant. 

Vertical etched line with no surface to match

You can see the pivot arm with its line etched running up and down. Notice that there is no vertical surface anywhere in sight that you could measure from . The mechanisms behind the rotational pivot arm include the tilt pivot arm and they block visibility of the metal frame behind them, at any position where you can observe the pivot arm vertical line. The opening to the right of the pivot arm is quite deep and even at its far end there is no flat surface where a measurement point can be taken. 

Note the nonexistent reference structure to which the measurement is taken

The vertical positioning of that pivot arm is accomplished by moving a turnbuckle on the black rod you can see running from the bottom of the pivot arm rightward into the depths of the machine. This is what pulls or pushes on the arm to effectuate tightening or loosening of the rotate tape, which in turn causes the type ball to spin on its axis to one of the five positive or five negative positions away from its idle 'home' spot. 

When the vertical position is set by lengthening or shortening the black rod using the turnbuckle, a later adjustment has the black rod attachment moved up or down on the pivot arm to increase or decrease the displacement of the arm for a given movement of the rod. These two are interrelated and one must iterate to get them both adjusted properly. The later adjustment, the pivot point change, is intended to make the positive 5 and negative 5 rotations of the type ball turn the same number of degrees. 

Before I can set the pivot point, however, I have to set the 'homing' position of the type element. This is the resting or idle position, called home. The adjustment manual requires me to half-cycle the machine using a set of selection latch activations, under machine power. A special tool, which I own, sits on the cycle clutch and forces it to step halfway through the print cycle, when the type element has achieved its full tilt and rotation. This is the dynamic half cycle tool. 

Dynamic half cycle tool
Initial home position setting

I have to begin with a tilt 3, rotate 0 character from the 'upper case' side of the type element, which lets me adjust the ball. There is a setscrew under the bottom of the shaft holding the ball, which is loosened and then the ball rotated to make sure that the detent bar enters the teeth of the ball at the right point on the side of the teeth. 

Next we adjust the selection mechanism until the I/O Home and Latched Home position of the ball is identical. There is a balance arm involved in this adjustment, which tweaks the mechanism so the ball remains at the home or rest position, in exactly the same spot, when either of the home types is activated. 

Latched Home is a configuration where all the positive rotate latches R1, R2 and R2A are selected, e.g. they are NOT pulled down by the selection bail but R5, which controls the -5 rotation, is pulled down. With no pull on the positive latches there is no positive turn and pulling on R5 blocks the -5 action - a net zero rotation is produced. 

I/O Home is a configuration where the three positive latches R1, R2 and R2A are not selected, so that they are pulled down by the bail and would cause a +5 rotation of the ball. However, because the R5 is selected and does not pull down, it imparts a -5 action resulting in no net rotation. The balance arm adjustment is what ensures that the -5 action of R5 is as equal as possible to the +5 action produced by R1, R2 and R2A. 

The type element (golf ball) has teeth under each of its 22 columns (11 per 'case') with four characters vertically arranged in the column based on tilt position to achieve the full 88 character capacity of the element. A detent arm slides into the tooth to slightly turn the ball and anchor it in the precise rotary position for the desired column of characters. A similar detent arm locks the tilt mechanism to the precise degree of tilt to select which of the four characters in the column to print.

The selection mechanism pulls on the pivot arms and thereby tightens or loosens the two metal tapes for tilt and rotate. Each tape is hooked onto the carrier at one end and to a lever or rotating part inside the carrier with the tape's other end. Thus tightening the tape will pull the lever or cam in one direction, while loosening the tape lets springs move the lever/cam in the opposite direction as tension is relieved. 

During the print cycle, the selection ball pulling down on latches causes the selection mechanism to tilt two pivot arms, one for tilt and one for rotate, a given amount to move the lever or cam to its approximate correct position for the chosen character. The detent arms then move in and jog the type element to its final correct position. 

To work properly, the selection mechanisms have to get the tilt and the rotate position close enough that the detent arms always enter the proper tooth position to lock the ball correctly. The homing adjustments and all the checks as I adjust the selection mechanism are intended to ensure that we will have a good initial position as the detent arms begin to move in. 

The tilt mechanism does work correctly. The detent arm barely causes any adjustment to the tilt as the initial position is good. The rotate mechanism, however, is where we have problems. The machine presented with a failure to move the type element enough to reach the +5 or -5 columns before the detent arm moved in, thus we locked the ball to the +4 or -4 column incorrectly. 

All my adjustments are intended to get the typewriter to initially move the ball so that for any of the eleven rotate positions, -5 to home to +5, we are set so that the detent arm enters the teeth at the right point to ensure that we reliably lock the ball on the chosen column. 


The hanging selection latches are pulled forward by springs so that they will hook under the bottom edge of the selection bail. That bail moves downward during a print cycle, thus pulling down any selection latch that is under the bail edge. Choosing a character involves selectively activating some of the solenoids for R1, R2, R2A, R5, T1, T2 and AUX and any activated solenoid holds the selection latch out of the way so that it is NOT underneath the bail. Thus, an activated latch is not pulled down while an unselected latch moves downward during the print cycle. 

The selection latches are supposed to have just enough clearance when the print cycle ends, based on the stopping position of the selection bail, that they will restore or pop under the edge of the bail if they had previously been activated during the print cycle. This restoration is important, otherwise a selection latch might incorrectly remain off the bail edge and pull down when the solenoid did not fire to choose it. 

In order to adjust this, the manual suggests bending the metal stop tabs of any errant selector latch until it has a given clearance beneath the selector bail bottom edge when we are idle, not in a print cycle. It is very unusual to need to adjust one of these and nobody who worked as a typewriter technician (and who is reading the Golfball Typewriter Facebook group in order to respond) has ever seen a machine where all the stop tabs are wrong. I too worry that having them all out indicates some other error in the machine, thus bending tabs will put the machine further out of adjustment in reality. 

The stop tabs are just bent sections of the backing plate where the mechanism is mounted, bent forward at nominally 90 degrees but then bent to push the selection latch down so that it pops under the selection bail bottom edge when the print cycle is at idle. 

The selector bail pivots on a rear rod, pushed down by cams on the main operational shaft when they rotate during a print cycle. Rollers on the end of the pivot arm ride on the cams. The adjustments given for changing this part of the machine carry warnings that it should normally not need to be adjusted, but I can't see any adjustments of the position of the rod about which the selector bail pivots that might raise it at the idle point of a print cycle to let the selector latches restore. 

The design of the cams that move the selector bail up and down does move the bail a bit higher than its rest position at the start of a print cycle, then proceeds to move it downward to pull on any selector latches still under the bottom edge. Thus, in this typewriter where selector latches do not restore at the end of a print cycle, they will restore at the very beginning of the next print cycle when I am hand cycling the machine. 

The adjustment instructions insist on having the restore occur when the print cycle is at idle, however. The bail is held up by the rollers riding on the cam, thus there is no room for the bail to move further up; I can't hope for momentum during powered printing cycles to get the latches to restore. 


Friday, November 17, 2023

Rotate work continues on 1053; new version of console loader modification tested


I made adjustments of the rotate pivot arm and the long bar that transfers the rotate selection mechanism to the pivot arm, giving me a good +5 rotate selection but then the -5 isn't turning far enough. All of the selection latches for the tilt and rotate selection mechanism should be popping over the bottom edge of the bail that drives the tilt and rotate movement when the print cycle finishes, but on my machine all of them just fail to restore over the bail. 

The manuals state that the stop tabs should be bent to hold those latches a bit lower so they will restore over the bail. However, I find it hard to believe that all six of the stop tabs somehow are misadjusted. According to the typewriter pros that I chat with on a Facebook group, it is incredibly rare to have to bend even one tab and nobody has seen all of them need bending. 

The bail is raised and lowered by rollers that ride on a cam turned by the main shaft when the print cycle clutch is engaged. I compared their positions to that of my properly working 1053 from my own IBM 1130 and they appear to be identical. There is no adjustment other than the rotary position of the cams that determines how far down the selection bail moves.

When a print cycle starts, the bail goes slightly lower at the start which does allow all the selection latches to restore under the bail, but at full speed there is the risk that they won't pop under. That would cause erratic mis-selection of print characters. 


I supposed we could have had extreme wear that cut down on the diameter of the rollers on the cam or lessened the size of the cam, but I do not see any evidence of that. The cam is narrower than the rollers, thus the rollers would form grooves if they were eroded down. The cam has a nice smooth shape just like my working 1053, so I doubt that answer as well. 

I need to figure out what is different between the two, before I continue on this task. I don't want to bend all six stop tabs, which are metal L shaped protrusions from the bracket holding the selection mechanisms. These could snap if over stressed and if I bend them when they aren't the actual problem, it may further throw off operation of the machine. 


Further, I don't see how the latch restore problem is related to the failure to get the type ball to swing the full amount for +5 and -5 rotation positions. It may well be an evil coincidence that this typewriter has both of these issues. 


I originally designed a console loader as a request for a friend at a museum in the UK who wanted a quick way to enter large amounts of data into core memory while their card reader was inoperative. It was to be a quick and dirty fix for them, one that I built using an Arduino and some relay boards. 

The console entry switches (CES) on the front panel of the 1053 are a set of 16 toggle switches allowing the operator to set bit values in a word. The CES are used to load core, set the instruction address for execution and can be read by programs during normal execution. The logic gates that read the CES value are pulled down to ground through a 470 ohm resistor when a CES is turned to its on position. 

My solution used 16 relays and 16 resistors to activate the CES, assuming the operator has them set all to the off position when using my device. In addition. another relay board is used to activate push buttons that normally are pressed by the operator. When the rotary mode switch of the 1130 is set to LOAD mode, pushing the Prog Start button will cause the contents of the CES to be stored in core memory at the current address from the IAR, then the IAR is bumped by one to the next location automatically. 

To load a new value  in the IAR, either to store data in core with the LOAD function or to begin execution when in normal RUN mode, the operator sets the CES and pushes the Load IAR button. This is a normally open switch and my relay simply closes the circuit as if the button were pushed. 

The Prog Start button is more complicated it drives two complementary signal wires. +12V is routed to the normally closed contact when the button is not pressed, but instead that connection is opened and the 12V is connected to the normally open contact to energize that signal wire. I therefore need a relay that switches the 12V the same way, either to the NC or the NO contact wire. However, since the physical button is still active on the NC contact, I have to use an additional really to block the +12V from going to the armature of the pushbutton when my device is controlling the machine. 

That first implementation means that there are several relay boards that have to fit below the tabletop of the IBM 1130, squeezed between the 1053 typewriter front panel and the rear of the keyboard. A board of resistors sits on the side as well, plus the Arduino Mega must be located somewhere under there. It is crowded and messy as a result. 

The sixteen wires from the 1053 front panel snake out from under the 1053 panel. Note that the front panel can be separated from the 1053 typewriter itself, and the front panel can be lifted out of position. Thus there need to be connectors to disconnect my wires to the front panel. Another thing to squeeze in that limited tabletop space.

I verified this on my own IBM 1130, even though I have a different and easier mechanism on that machine allowing me to load and dump core memory locations. I installed another on the 1130 I am restoring. However, the messy nature of the implementation bothered me.


To solve the messy nature and build a more elegant version I decided to replace the relays with photo-isolator switches. These electronic switches are considerably smaller and allow me the opportunity to place the device in a better location on the IBM 1130. 

I designed and fabbed a printed circuit board that sits atop the Arduino Mega 2560 (a shield to use Arduino terminology), mounting surface mount versions of the photoisolators and resistors. The sandwich of the Arduino and its shield is small enough to fit behind the 1053 front panel. The typewriter mechanism has lots of open space in the front, below the row of three buttons for Tab, Space and Return. The device can mount on the panel and fit in that open space. 

It has a connector for the 16 wires from the CES and another connector for wires going to the area under the tabletop. These bring +12V and ground to my device as well as wires to hook to the Prog Start and Load IAR buttons. Thus, the formerly cluttered area now has a small bundle of six wires that run under the front panel of the 1053, with everything else out of sight.

I put together a test rig to verify the operation of the loader, feeding it +12V from a supply and using LEDs on a breadboard to indicate when the wires were energized. Everything worked as expected, so the device is now ready to be installed into the 1130 for its final test, removing the ugly version 1 of the console loader.

Testbed for loader device on left

I had also improved the program running in the Arduino in quite a few ways. The goal is to take a text file on a PC or other terminal, feed text lines to the Arduino over the USB serial interface whenever the Arduino issues a prompt character, and have that file control the operation of the loader device. It will always be active, listening on the USB connector for command lines. The format of the files was chosen to match the format that the Simh based IBM 1130 Simulator will dump memory contents. Thus the simulator can be used to prepare and test information, then those files used with my device to load core on the physical IBM 1130. 

The file has four hex characters per line to be loaded into the CES. 

  • A prefix character (default @) indicates that the Load IAR button is to be virtually pushed to put the CES as the next address. 
  • A different prefix (default =) saves the value as the location for the IAR to be used when the machine begins to run at the end of the session. 
  • A third prefix (default Z) tells the loader to put 0000 in the CES and push Prog Start as many times as the value of the four hex digits indicates, thus zeroing out a block of memory. 
  • If there is no prefix, the value put in the CES by the four hex digits will be loaded to memory by virtually pushing Prog Start. 
The device is inactive in its normal state. When a command line with only the activation character is sent (default #) then the Prog Start button is disabled and my device will begin responding to the other lines of the file. If not activated, my code ignores any command lines. At the end of the session loading memory, another command line with only the activation character is sent. This returns the Prog Start button to its normal operation and loads the IAR with the saved value if we had a = prefix during the session.

The code allows for reconfiguration of the characters to be used for the various prefixes and activation characters as well as other customization options. It has documentation throughout the code showing what is intended. 

To use the loader, a text file is generated manually or one is produced by the IBM 1130 Simulator. Simulator generated files need to have a first and last line of the activation character added as my device needs those to activate and deactivate. The operator turns the rotary mode switch to LOAD, turns off all the CES and then transfers the file over USB serial with the program on the PC/terminal sending one line every time it receives a prompt character. When the file transfer is complete, the operator turns the rotary mode switch to RUN and then pushes Prog Start to begin executing what they loaded into core.