Saturday, September 20, 2025

side project - restoration of IBM 3278 terminal - inspect, mechanical fixes, first power on

REMOVED COVERS AND LOOKED OVER THE TERMINAL

The covers were set aside and I could then see everything inside. The terminal looked complete and nothing was obviously damage inside. 






MECHANICAL TWEAKING OF FRAME AND HOLDERS

The covers and the mounts inside had been twisted and loosened, although based on the pictures posted from eBay this may have happened before shipment. I straightened them as well as I could. 

More work on bench testing for the 1130 MRAM core memory board

IMPLEMENTED BACKFEED PROTECTION CIRCUIT

I put a through hole IRF540N MOSFET on the prototyping tool breadboard, isolating the ground of my PCB until a voltage divider from the +12V bench supply feed is active. This low side isolation ensures no back-feed current will flow from the Arduino or any other input to the board unless we have our power turned on. 

REPLACED ONE OF THE BUFFER CHIPS ON THE BOARD

I had lifted a 74LV240 inverting buffer chip from the PCB while investigating the observed steady 1 voltage on the bit 14 net that had been producing a pulse on sense bit 14 for any and all addresses. I put a spare chip on the board so that I can write zero and one values to verify the memory chip is working.

I RESUMED BENCH TESTING BUT STILL HAVE POWER ANOMALIES

I checked to see if there was any back-feed voltage on the PCB with the Arduino active while I was not feeding voltage from the bench supply to the board. I used an ammeter on the ground line that passes through the MOSFET. After this was validated, with no current until I triggered the MOSFET, I thought I was ready for function testing. 

However, strange things are still happening. When I power the board from the bench supply, there is no indicated amps or watts being consumed when the MOSFET is connected. When I disconnected the MOSFET, I saw about 7ma of draw on the supply! At first I thought it might be my pullup resistors for the scope probes when monitoring the sense output pulses, but with those disconnected I still had 7ma flowing somewhere. 

I pulled the USB connection for the Arduino Due and my current disappeared! The Arduino is pulling current which is very odd since I have nothing but output pins defined on the Arduino. It isn't backfeed - it occurs when the Arduino is powered, not when it is getting power from my board. In fact, my board's outputs are open collector, with pullup done on the prototype breadboard (disconnected) not by my PCB components, so there is no voltage that should flow from my board to the Arduino configured in output mode - at least I don't expect there is any. 

I am going to disconnect groups of pins from the Arduino and monitor the current draw while my MOSFET is isolating my circuitry, until I get more of a clue to where this power consumption is going. The 12V from the bench supply flows through a regulator module to create 3.3V first, which means the draw is larger on the 3.3V rail than what I see on the bench supply. 

IMPROVED BENCH SETUP TO MONITOR PINS OF SMD CHIPS ON MY BOARD

I found it cumbersome to tack tiny wires on the pins of various chips in order to observe the signals during read and writes, so I pulled out my PCBite and put my board on that. This has probes with teeny pins suitable for measuring a surface mount chip pin, held in place with magnets onto the base plate. With my board anchored and the four probes set up, I could watch different pins as I study the function of the board in more detail. 

Using LT SPICE to study back feed voltages from digital inputs when power supply not operating

BACK FEED ISSUES I WANT TO AVOID

Digital abstractions for logic gates and other chips mask the analog reality of those devices, where the components inside have complicated behaviors that can produce results in the real world that don't exist under the abstraction.

For example, a NAND gate with two inputs and an output can feed power into its own chip and all the others on a board if the input to the gate is powered but the board is otherwise not powered. I would observe the board producing outputs but I hadn't turned on the bench power supply yet. 

This occurs because the input circuits of the NAND gate has protective diodes on the input - one of which will pass the power from the input to the VCC pin in the unpowered gate, powered input case I mentioned. That input pin is then providing all the current demanded by the chips on the board. The chip can easily be damaged because of that. There is even the chance that the power demands of the input can be more than the driving device (an Arduino Due in my case) can source, damaging the Arduino.

I set up a MOSFET to interrupt the low side (ground) of the board if the bench power supply isn't delivering voltage to the board. With the ground of the board isolated from the ground of the Arduino Due or other source to the input pins, no current will flow. 

The MOSFET is a complex device in reality, as is the voltage regulator providing the 3.3V from the 12V of the bench supply. Therefore I wanted to examine the real world behavior of these to see whether there is any back feed voltage and current pulled from the 

RAN LTSPICE SIMULATION OF THE BACK-FEED PROTECTION

I set up a schematic with the MOSFET circuit I will use for isolating the low side (ground) of my PCB. A diode representing an input protective diode on a logic gate as connected to a 3V voltage source to represent the source of back-feed. I then modeled the current flowing through my PCB circuits (represented by a simple load resistor in this model) while I alternated the control signal between 0V and 12V. It worked exactly as I expected, ensuring virtually no current flowed from the powered input pins of my PCB until the +12V was present. The simulation showed nanoamps of current flow due to the non-ideal nature of the MOSFET, but that is negligible.

I then set up a schematic with the LDL1117 voltage regulator I intend to use on future boards to replace the outboard voltage regulator module, dropping the +12V (or slightly higher) down to 3.3V for the chips on the board. I modeled what happened with the input pins of the board driven by 3 or 3.5V while the regulator chip was unpowered. I saw a slight voltage and only microamps flowing out of the regulators power input. This is insufficient to energize my MOSFET to connect the board ground to the grounds of the rest of the setup. 

Thursday, September 18, 2025

Side project - restoration of IBM 3278 terminal - shipment arrives

QUICK LOOK AT THE OUTSIDE OF THE PACKAGE

It was delivered today. The box is a bit beat up but intact. More importantly, I don't hear any tinkling of broken glass which is a good omen for the condition once I open it. 


BROUGHT TO WORKSHOP FOR FUTURE WORK

I will set it up next to its 3178 and 3179 brethren on a table in the shop. I have a 3174 controller and other equipment which will allow these to be connected to my P390 system allowing me to interact with IBM mainframe software via real terminals. 

First thing though is to unpack the box and assess the condition. I have guests visiting for a couple of days but when they have left I can get to it. 

Bench testing of the 1130 MRAM core memory board still not successful

MODIFIED THE CONTROL SIGNAL DESIGN OF THE BOARD

I had noticed that the data bits being passed through the buffer from the B register did not settle rapidly due to capacitance in the circuits, both on my board and the bench test setup. With a pulse width of 80 nanoseconds for both buffer enable and write, I was concerned that the data was not properly set up on the MRAM chip pins by the time the chip locked the data in for the write. 

The chip enable signal ~E is unchanged. It is asserted low when we have both +12V supply from the 1130 computing system and the Storage Use signal from the 1130 is asserted. 

The chip write signal ~W is unchanged. It is asserted low when we have Storage Write asserted and the write timer produces its 80 nanosecond pulse. 

The chip output enable signal ~G that drives the data output pins is asserted low when Storage Write is low.  During the read part of a memory cycle, Storage Read is asserted high and Storage Write is asserted low. 

The buffer enable control signal ~IO is asserted low when Storage Write is asserted high. 

The sense output pulses occur when the read timer pulse is active, some time after Storage Read is asserted. This is unchanged. 

I had to cut traces and apply bodge wires to implement the new scheme with the existing board. Due to traces passing underneath chip U14 where the control signals are generated, I had to temporarily remove the chip, modify the board and then solder the chip back down. 

Traces cut underneath chip U14

Trace cut to ~W pin on MRAM chip

Bodge wiring added

REDID THE WRITING PROGRAM AND THEN OBSERVED THE READING

The writing program was changed to loop through all of memory, storing a data value equal to the storage address in each word. The reading program now takes input over the serial monitor with an address to read, thus allowing me to read any desired address while observing the output pins. 

I could check the various addresses that are powers of two, verifying that only the sense output bit that matched the power of two from the address would be 1, with all others producing no pulse. Some random addresses that were not a power of two could be read to check the appropriateness of the sense output pulses. 

Lastly, I scoped the two parity output bits to see that the correct bit was output for each of the selected addresses. The board produces a parity bit to provide odd parity for each halfword (eight of the sixteen data bits), so that the number of pulses being produced in that halfword is an odd number. 

When the output word is zero, for instance, both parity bits should pulse to provide correct parity. With the values I am reading, there is only one bit that is 1 so the halfword that contains the bit should have no pulse on its parity line while the other needs to pulse. 

TESTING ON THE BENCH AFTER THESE CHANGES

I ran the new memory write program on the Arduino to configure the MRAM memory. I then started checking with the new memory read program and the oscilloscope. All bits came back as 0 for any address except for sense bit 14 which always returned a 1 pulse. Checking the static voltages showed that with the ~G signal asserted to output the memory contents, the net for bit 14 was at logic 1 level. 

It wasn't clear whether the MRAM chip was driving the 1 or that something else was wrong. If the 74LV240 inverting buffer chip was malfunctioning, it might be forcing output in spite of its control signal ~IO being at logic high (disabled) so that it should be in high impedance mode 

I then did a static check on ~IO to confirm that it was at logic high. I checked both of the 74LV240 chips, one for each eight bits of the word, to see if the results were different on the other half of the word. 

I was able to successfully load various patterns into bits 0 to 7 of some memory locations, thus confirming that the basics of my design work. However, bit 14 continues to show a high value regardless of what data is written there and for any memory address. 

One other issue I detected was that the parity generation process is now producing a check bit regardless of the number of 1 bits in the half word. 

As a final test of this possibility, I removed the 74LV240 chips from the board and did another set of read tests. There should only be outputs driven by the MRAM chip on the nets, thus sense bits should all reflect what the chip is emitting and nothing else. Bit 14 remains high while the others are not - that could be because I have written a 1 into all the addresses due to a defect in the removed chip, or it could represent a failure in the MRAM chip. 

POWER BACKFEED DIFFERENT FROM THE ORIGINAL LAPTOP CHARGER CASE

I noticed that the sense output pulses were being produced by the board but the power supply to the board was turned off! This highlighted that my bench testing setup is backfeeding the board through the protection diodes in the chips. That is not good. The current flow from a backfeed can damage the chips on the PCB. 

NEED TO RETHINK THE TEST BENCH SETUP - PLUS SWAP ALL THE CHIPS AGAIN

The setup I had been using has a prototyping breadboard setup that I used to implement the pull up resistors for the sense output lines. It had a main power supply to the PCB, with a bench supply delivering 12V that is then regulated down to 3.3V for the chips on the board. Finally, there is an Arduino Due that is being powered through the USB cable from my laptop. 

The Arduino is producing 3.3V logic high signals which I suspect is the cause of the backfeed of power. The prototyping setup has 3.3V but that is connected to open collector output chips on thus board thus not causing backfeed. 

There is one final vulnerability in my design. I  drop the 12V power coming from the bench supply (and eventually from the 1130 CPU) down and apply it as a logic input to produce the memory chip enable signal. This is a potential backfeed through the input of the logic gate if the 3.3V regulator output is not present or lower than the voltage divider result. 

I have ordered a full set up chips for the board in order to replace anything that was damaged during the testing regimen. This will take about a week to arrive, after which I will install them and begin testing with a new backfeed safe setup. 

BACKFEED PROTECTION WORKED OUT

To avoid backfeed, I can't have any voltage on a input that is higher than the VCC supply voltage and those voltages to inputs must absolutely not be delivered unless the board's power supply is active. 

I could power the Arduino through a MOSFET so that when my VCC is off, the Arduino is off and not supplying any power to input pins. That means it must not take power from the USB port, only through my MOSFET supply; generally that means a modification to the Arduino board. 

There remains the production use case where the IBM 1130 +3V power rail is active but the +12V is not active, either during power-up and power-down or due to loss of the other 1130 power rails. This will be pulling the inputs up to +3V and backfeeding power to my board. I need a solution to this, ideally one that does not require 29 sets of parts for the protection. 

The solution is to use a MOSFET to isolate the ground to my PCB unless there is the +12V supply available. When no +12V exists, the board is isolated from ground and this eliminates any power flowing into the board from the B reg or SAR inputs. It also blocks the +12V resistor divider from dropping the 12V but since the ground is isolated this doesn't inject power into the gates. 

This solution allows me to use the USB power to the Arduino without any modifications, since my board is isolated from the Arduino when VCC is not delivered to my board because my bench supply is not delivering the +12V to the regulator and board. 

Wednesday, September 17, 2025

Restoring IBM 2501 card reader - more focus on the stacker side of the mechanism

DISASSEMBLED THE STACKER AREA AGAIN TO GET ACCESS TO ROLLER

The small roller that pinches the card being ejected into the stacker was found to be frozen in my last session. To get to it, I had to remove the stacker hood, the curved arch and cover that directs the card upwards to the stacker, and then remove the rest of the stacker mechanism.

Curved arch and rest of stacker mechanism removed

I pulled the roller part off the mechanism and began working on clearing up the issue. I flooded it with clock oil and manually turned the roller. It was very stiff and crunchy, but with lots of oil and manipulation until it finally began to roll easily as the bits of dust in the ball bearings were flushed out. 


I found two levers on the underside of the joggler structure that were designed to pivot but were stiff due to old lubricants. I don't see what will cause these levers to pivot since they don't connect to any other parts in the mechanism. However, I worked oil into them and manipulated them to make sure they would pivot freely. This took quite a bit of time as well. 

I also tested card movement through the rest of the machine and found that the drag on a card coming in from the hopper was a bit high. The metal surface of the machine that the card will be pushed over had bits of crud on the surface from all the rodent deposits. 

I was able to partially clean it by using a stiff brush along with a cleanser (409) but will have to do more work to get this completely cleaned off. I will finish the cleaning at my next workshop session, along with reassembly of the stacker mechanism parts that I had worked on today.

Sunday, September 14, 2025

1130 MRAM board - failed chips identified and replaced

LAPTOP CHARGER IMPACT ON ARDUINOS

I have experienced odd behavior with multiple Arduino based items, where plugging my laptop charger into the outlet causes the Arduino and its connected signals to malfunction. The Arduino has to have its ground pins tied to the a ground of a device plugged into the AC mains. Somehow the laptop does a weird change to voltages seen on the Arduino in this case, perhaps it drives voltage onto the ground connections to the other device. 

I did see this again when I was bench testing my MRAM core memory replacement board, using an Arduino Due to produce the address, data and control signals to the board. The bench powers supply delivering 12V to my board would sometimes show zero current flowing, which I suspect was a consequence of power flowing into the regulator device or the bench supply. It also disrupted the behavior of the Arduino program and made the traces on the oscilloscope move up a bit. 

SUSPECTING THE LAPTOP CHARGER ISSUE FRIED ONE OR MORE CHIPS

Much of my board is still working - the internal control signals that drive the MRAM memory chip to read or write, the timers that produce a pulse around 800 ns after the Storage Read or Storage Write input control signals go high, the XOR chain that calculates odd parity, and the NAND output gate that emits a pulse for the two parity bits. What does not appear are any of the 16 data output pulses from NAND output gates. 

I didn't know if the MRAM chip itself had failed, or the NAND output gates for the 16 bits had failed, or the inverting buffers that route the B register inputs to the board onto the memory chip during write had failed. I tacked some wires on pins on the suspect chips so that I could positively identify any malfunctioning parts. 

RESULT OF THE TESTS - WHAT WAS DEFECTIVE

I saw the input bit being driven onto the memory chip data pin during the write, and confirmed that all the control signals were good for the chip to perform a write. I then starting the reading program and saw the memory chip data pin outputting noise when the chip was enabled to output the data that was read. 


The address line for location 1 is the blue trace that I triggered on. The yellow line is the control signal to the memory chip to output the data bits. Green is the sense output line that would pulse downward if the data bit was 1 and purple is the memory data pin itself. The output should go high if there is a 1 in memory at the selected address, but it is low. Within 35 nanoseconds of the Storage Read control signal, the chip should have resolved the contents of the address set up by the address lines (blue), then when the output is enabled (yellow) the result should be output on the data pin (purple). 

I determined from this that the most likely failed part is the MRAM chip itself. Secondarily and much less likely, it could be the NAND gates if they failed so they short their inputs to ground, which I don't believe is the case. 

I saw that some bits were working properly and producing output pulses while others were not. I tacked a wire on another data pin of the MRAM chip and saw similar results - data was gated to the pin during the write process but did not come out during the read process. 

ORDERED REPLACEMENT PARTS FROM DIGIKEY

I placed an order for the MRAM and four of the NAND gate chips which I received this week. I put them on the board and resumed testing. 

Restoring 2501 reader - linear bearing repair, still one roller bearing to resolve

MANAGED TO FREE UP THE BALL BEARINGS IN THE STACKER SLIDE

Previously I had despaired of getting the slide in the card stacker to move freely enough to be usable, due to corrosion in several places, particularly on the rod and linear bearing upon which the slide travels. I was able to inject the clock oil into the ball bearings inside the shaft of the linear bearing. This returned them to smooth operation. 

The rod is still a bit rough so the smoothness is not perfect but seems sufficient to have me stay with the IBM parts. I got everything reassembled and did some testing. It is borderline, but I may be able to relieve more friction on the rod, the flat spots on top of the slider and the underneath of the side rails that the flat spots slide upon. 

CHECKING CARD PATH AGAIN FOUND ONE ROLLER NOT TURNING

While hand cranking the mechanism, I tripped the solenoid to watch a card be fed from the input hopper into the pre-read station. It didn't reach the full end point but I believe the reader depends on the momentum of the card to continue its motion once it exits from the pressure rollers. 

I then tripped the other solenoid and cranked the card through the read station and up into the stacker. It paused partway through the stacker where I realized that I had a problem with one roller. A rubber wheel turns on one side of the card while a spring loaded metal roller pressed on the backside of the card. The wheel turns but the roller did not. 

roller circled in red

I began treating it with clock oil, but t may require removal from the machine to really get it working smoothly. We will see how it turns on my next visit to the workshop, otherwise I will partially disassemble the stacker once again to get that roller out. 

STACKER JOGGLER FUNCTION VERIFIED

The jogglers grab the bottom edge of a card that has fallen down after ejecting from the reader, moving it over against any other cards that are already in the stacker (or against a metal holder if this is the first card going into the stacker). The joggler linear motion is provided by a pivot that rides on a cam, but the pivot was almost frozen in place.

I forced the pivot off its shaft and removed some crud. There was a bit of corrosion near one end, but fter greasing the shaft and reassembling the mechanism, I observed very smooth and easy movement. 



Saturday, September 13, 2025

Restoration work on 2501 card reader - card path and stacker

CLEANING OUT CARD PATH INSIDE THE READER

Once a card is fed from the hopper into the card reader, it sits in the pre-read station until a solenoid presses a pinch roller onto the card to push it into the read station. The read station senses the holes in each card column as the card moves through it, driven by a roller pair pinching the card. The card is then moved up a curve into the stacker, where it will be ejected, then fall down to join the other cards already in the stacker. 

I fed one card from the hopper and encountered resistance. From this I looked for and cleared out some crud in the path so that the card can enter properly and come to a stop in the pre-read station. 

I then depressed the solenoid lever to start feeding the card into the read station, but it wouldn't move through the station. Testing with an edge of a card showed me blockage inside the throat of the read station. 

Read station, card moves through from left to right

The read station consists of a lamp at the top, twelve fiber optic cables which feed the light uniformly to the twelve row positions of a punched card. Underneath there are twelve photocells which detect the light when there is a hole in the card at the current column, otherwise they are left in the dark. I found some rodent paste (urine, dust and feces) that was built up over the top five rows of the photocells. 

Photocells

Light guides and roller

Once that was cleared up, I started a card moving from pre-read through the read station but it was jamming at one side in the curved guide just after the read station. Opening up the guide, I found some crud along the edge of the path. It was cleaned out and finally the card could move all the way from pre-read, through the read station, through the curved guide, and up into the stacker. 
Location of the gunk

Arc redirecting cards upwards into stacker

Inside stacker from left side

STACKER CORROSION KEEPS SLIDE FROM MOVING SMOOTHLY

The stacker is where cards are stored after they have been read. The card is accelerated out of the reader in an upward arc into the stacker, where the front edge of the card strikes a rubber bumper on the top causing the card to stop and fall downwards. 

Jogglers move back and forth at the bottom of the stacker, moving the card that just fell to the left of the machine so that it is up against previously read cards. A metal support on the left is what the cards are stacked against. 

As the number of cards in the stacker grows, the metal support moves leftward. It is on a slider that moves along a rod under the stacker, with spring pressure pulling the slider to the right so that it only moves leftwards as cards join the group in the stacker. 

The slider has a linear ball bearing on it that moves over a steel rod. The rodent urine and other contaminants have pitted the surface of the steel rod and frozen the ball bearings. The slider will not move freely nor reliably be pulled to the right by the spring. 

I tried to smooth down the rod but the bearing itself is shot. I now have to replace the slider bearing and perhaps the rod as well. The rod fits into holes on the right and left sides of the stacker, with a groove on the rod capturing a C clip to keep the rod in place. 

Slider on left, bearing removed and on the right

Groove on the rod

The top of the slider is held down by metal plates running horizontally across the stacker. The top of the slider and the underside of the plates also has some corrosion but I believe that can be resolved. 

Thursday, September 11, 2025

Side project foiled - restoration of an IBM 3278 terminal

FOUND A 3278 TERMINAL ON EBAY AT REASONABLE PRICE

I saw a terminal being offered on eBay which appeared to be reasonably complete other than it lacked the keyboard. For most people, without the keyboard this is useless which accounted for the relatively low price. 

The keyboards used with the 327x terminals is highly prized by keyboard pirates, people who buy these to adapt them as a PC keyboard because of the better feel of the keyboard. They will separate keyboards from their terminals since they have no interest in the terminal itself. This results in a terminal without keyboard that almost nobody could use. 

As a result historical devices like the 3278 are turned into scrap. Even mainframes, for example the IBM 4381, which use a special version of the 3278 as its system console, are make unusable without a functioning 3278. 

I made an offer which was accepted for the 3278, offered by a respected volume seller in Canada who packed it up and shipped it off using UPS. It was projected to arrive on September 9th, although there may be customs delays and I might have to pay some nominal duty for the package.

PLANNED TO BUILD A INTERFACE CIRCUIT TO USE 3178 KEYBOARD

I could not find any schematics for the 3278 itself, but felt there was a reasonable chance I could get this working. The other issue which kept most people from buying this was the lack of the keyboard.

I have found enough information that I should be able to generate the proper signals to the keyboard cable for the terminal to believe the physical keyboard is attached and works. I also have a spare keyboard for an IBM 3178 terminal. 

I believe I can build a device that will connect to the 3278 keyboard connector and have the 3178 keyboard plug into it. I can transform keystrokes and modify the signals to make this work. There is a mismatch between the keys available on the 3278 and on the 3178 keyboard I own, but I can pick keys to sacrifice, mark them as the intended 3278 key, and map the codes to produce the 3278 keycode when my chose 3178 key is pressed. 

LOST OR DUMPED IN A RAVINE BY UPS CANADA

I watched the package move from its origin in Alberta to a warehouse in Calgary early on September 3rd. The tracking system marked this as waiting in a secure facility for resolution or clearance. After four days with no movement, I called UPS who assured me that there was no missing information needed for it to continue movement; it was just waiting for customs processing. 

September 9th came and went with no change in the tracking. The seller contacted me and said that UPS told him that he should file a loss claim as it appears the package has disappeared. He told me that he has had several packages heading from Canada to the US disappear the same way - he speculated it had something to do with the tariffs. 

One can imagine a mountain of ignored packages while UPS Calgary avoids dealing with confusing tariffs. Since these are assessed by US Customs staff rather than UPS, there is no reason they should avoid passing this along to Customs.

There could be a mountain of ignored packages while US Customs in Calgary is totally overwhelmed. 

There could even be scenarios where employees annoyed at US tariffs and recent political actions are dumping packages going to the US. 

Finally it could just be plain incompetence. 

In any case, with the claim being filed by the seller, even if they find it they will not send it onward as insurance would now own it. I will get my purchase cost back, according to the eBay seller, but the 3278 is lost not only to me but to anyone interested in restoring it. 

Wednesday, September 10, 2025

Side project - restoration of Sony VP-5000 U-Matic tape deck for Space Force Museum

BOUGHT USB VIDEO CAPTURE DEVICE AND VERIFIED THAT IT WORKS

Connecting the video and the stereo audio output from the deck to a PC or Mac using USB, this captures the recordings and produces MP4 format files that can be further processed and archived. I will donate this to the archives and we will install the open source OBS software that does the actual capture and encoding using the USB device. 

MAY NEED TO BAKE TAPES BEFORE PLAYBACK

The sample tape I used to restore the deck didn't shed much oxide nor did it have layers sticking together, but that is a common problem with old tapes which may impact other titles in the archives. The solution is to bake these for a couple of days in an oven at low heat. We will need to look over the tapes to decide which need this treatment.

Tuesday, September 9, 2025

Side project - restoration work on Millivac MV-864A meter, part 3

PERFORMED ADJUSTMENTS AND CALIBRATIONS

The service manual provides a sequence of adjustments, mostly using an oscilloscope and various trimmer potentiometers to zero out the various amplifiers and detectors in the device. I worked through them methodically and the result is a meter as good as it was when new. 

Saturday, September 6, 2025

Side project - restoration work on Millivac MV-864A meter, part 2

METER DOES NOT MECHANICALLY RESTORE ALL THE WAY TO ZERO POINT

The meter on the face has a screw that changes a coil spring tension to make the pointer align exactly with the left side (zero) position of the scale. Moving the screw will move the pointer further away or closer but it never gets all the way to the zero line. Not sure what I will be able to do about this.

DECIDED TO CHECK POWER SUPPLY VOLTAGES AND OTHER CHECKS OF THE CIRCUITS

I opened the meter, with the expensive manual I purchased, looking for the test points listed for the +8.5, -6 and other voltages. The first thing I noticed is that the board shown in the manual does not look like my board. The one in my meter is larger and includes the resistor networks for the range switch. 

More importantly, it has no test points labeled TP1, TP2 and TP3. It does have points such as TP63, TP61 and TP62, but they are tied together or otherwise don't make sense as the place to check the supply voltages. 

The schematic shows five transistors, five diodes and a bunch of passive components for the power supply, but mine had only two transistor looking objects. The schematic has silicon transistor numbers on it, but my board has an obsolete germanium MHT3030 power transistor made by GPD Optoelectronics and a GE RA1 three lead component. 

I was able to track down an old GE manual and found the RA1 as a reference controller for power supplies, consisting of a germanium transistor and a zener diode encapsulated in a single TO-5 style can. The GE manual showed me an example circuit which matches decently with the connections I can see on my meter's board. 

I am reverse engineering the power supply part of the PCB in my meter - components that start with a 6 such as R601 or C602. The power transformer and the primary side circuit match well, but it diverges on the output side. The transformer has a long winding with three taps between the two ends. The center tap and the two outer connections are fed through a pair of diodes (half wave rectifier) in both the schematic and in my board. If you number the secondary wires as 7, 5, 8, 6, 9 then the center tap is 8 and the ends are 7 and 9. 

On the schematic, 5 and 6 are unconnected. The pilot light is powered from a resistor off the output of the two diodes. Yet, on my meter, windings 5 and 6 are connected to the pilot light, driving it with AC. 

I am carefully reverse engineering the power supply as it exists on my meter, drawing it out and noting parts values. I will then check whether it is working as intended and make adjustments if necessary. That will happen in a later workshop session. 

I paid a relatively high price for the manual from the manufacturer, who used my serial number but didn't have a version of the manual old enough. The sent me the oldest version in their files, which as I mentioned was in the silicon semiconductor era while mine is an old design using germanium devices. I suspect I will find many differences in the rest of the manual and schematic as I work on this project. 

More Bench Testing of the 1130 MRAM memory board

FLAKY BEHAVIOR OF DIRECT PORT MAPPING OBSERVED

I ran the program to load the memory and happened to put a scope probe on the Storage Write signal which I should be toggling on for each of the memory locations, but saw the signal stuck steadily at high. In some other cases I saw results that didn't match what I expected from the program to read memory.

I switched back to digitalWrite from the direct port access just in case there was something going on that I didn't understand with port access on the Due, which has an ARM chip rather than the usual Arduino processor type. 

 However, in retrospect this is due to the weirdness that occurs when the laptop is plugged into the wall using its power brick. Running just on batteries should eliminate these gremlins. 

NEW PROGRAMS LOADED INTO ARDUINO AND TESTING RESUMED

I ran the loader program that wrote the values 1, 2, 4, 8, 16 . . . 8192 into locations 0, 1, 2, 4, 8, 16 . . . 4096. These locations and values were chosen to have a unique wire I could monitor for each choice. This simplified triggering and monitoring on the oscilloscope.

I saw the B register inputs set low for the desired address and the board was generating the inverted write control signal that causes the MRAM chip to write the data into the selected memory location. The control signal is applied for a bit under 100 nanoseconds and the B register data is gated through to the memory chip at the same time. 

However, when I then ran the reading program (below), all outputs were 0. I could clearly see the address and the B register inputs were correct and all the control logic signals on my board worked properly for the writes. The address and all control logic signals were correct on my board for the read, yet the data was not the 1 value I expected. 

My XOR logic is producing a 1 for each of the two check bits and those pulses are emitted correctly during the reads. Earlier I had seen outputs that were 1 but my guess is that the strange power injection when my laptop is on AC power, through the Arduino, has damaged one or more chips on my board. 

Possible bad chips are the MRAM memory itself, the buffer chips feeding it the B register data, or some of the open collector NAND gates that pass along the pulse for any 1 bit read. Once I pin down the failure further I can replace parts and resume testing. 

NEXT SESSION PLAN

I will tack wires on the data bit 15 pin of the MRAM chip and on the input to the buffer that feeds the B register values to the chip. Using the scope, I will be able to verify that the B register value reaches the buffer and is passed through at the proper time to the MRAM pin. I can then look at the MRAM chip pin when doing a read to see if the 1 bit is making it back out. I will also be able to see if there is a 1 coming out of MRAM on a read but no pulse out of the NAND gates. 


Friday, September 5, 2025

Bench testing strange power supply behavior testing MRAM board - followup

FROM TIME TO TIME, BENCH SUPPLY SHOWED ZERO POWER DRAW

I was puzzled why this occurred yet 3.3V appeared on the output line going to my PCB. I originally ascribed this to buffer capacitors not needing energy pumped into them for a period, but this didn't really satisfy me. 

DISCOVERED THIS IS A CONSEQUENCE OF LAPTOP POWER BRICK CONNECTION

The test setup for the 1130 MRAM core memory replacement board used an Arduino Due to drive signals onto my PCB, a bench supply to deliver the +12V that will eventually come from the 1130 computer, a prototyping tool that provides the 3.3V pullup for the open collector sense output lines of my board, and an oscilloscope to capture the behavior of the board under test. 

The Arduino gets its power from the USB cable connected to my laptop. The ground of the Arduino, bench power supply, prototyping tool, oscilloscope and my board are all tied together. The odd behavior occurs when I have my laptop plugged into its charging brick - somehow this is causing difficulties but if I just run the laptop on batteries all is well. The brick must be driving energy into the test system somehow. The laptop is a Lenovo L340. 

Thursday, September 4, 2025

Continued testing of the 1130 MRAM Core Memory Replacement board

SWAPPED IN THE HC CHIP VERSION FOR 3.3V SUPPLY

I had installed 7400 series chips (and other types) on the board that were able to work on a 3.3V power supply, but a recent switch from an AND to a NAND gate, open collector, I put in 74LS03 which require a minimum of 4.75 VCC. The 74HC03 parts arrived last night and were installed on the board. 

TESTING ON THE BENCH

I am working to rigorously test the PCB while on the bench before I install it on the IBM 1130 system. I wanted to write to different memory addresses using unique data values, then test by reading the locations and comparing the returned values. 

I whipped up some code on an Arduino Due (because it uses 3.3V logic levels), expanding on my previous code that generated the correct timing of Storage Read and Storage Write signals that would come from the IBM 1130. These alternated for 1.8 microseconds duration. I stored fourteen addresses and corresponding data values in the program then stepped through the list cyclically. At the start of a Storage Read it sets the memory address (and data value for the upcoming write). The Sense pulses are generated during the Storage Read and then the location is updated during the Storage Write. 

I used direct port mapping to write the pins since the DigitalWrite function is relatively slow. The Due requires that a 1 be written in one control register to turn on a pin, but it doesn't turn off it 0 is written there. Instead, a 1 has to be written in a different control register that clears pins. 

After the first pass, the memory would have had all locations set up with the prepared values from the program. I would then set the scope to trigger on Storage Read rising edge or an address bit rising edge and monitor three output lines from the board at a time. Due to limited pins on the Arduino, I couldn't simultaneously produce the 16 B register data values, the 13 SAR address values and capture the 16 Sense pulses to verify. 

With just 3 pins that I can monitor at a time on the scope, I had to be clever to test the correct data returned from each location. These are open collector inverted outputs, thus a 1 bit pulls its pin to ground else it is pulled up to 3.3V using a resistor.

The addresses I chose were 0, 1, 2, 4, 8, 16, 32, 64. 128. 256, 512, 1024, 2048 and 4096. I can uniquely trigger on those addresses except for address 0. The values written were 1 through 14 decimal in sequence. 

I had previously validated that all 16 sense pulses are generated when the corresponding bit was written in memory, also that all 16 of the data value (B reg) bits were stored in the memory words. This is just a test to be certain that we are addressing memory correctly. Any result of 0 detects an addressing or write failure. 

When I tried to observe the outputs from the Arduino I found that it just could not keep up with the 1.8 microsecond durations of the memory cycle. To get reliable results, I had to slow it down to 1.8 milliseconds for read and 1.8 milliseconds for write. That won't stop my memory board from working, since my logic triggers on the edge of the read or write signal and its not sensitive to its duration. 

The connections using jumper wires are a bit fragile, thus I had to deal with some erratic results. More frustratingly, I would sometimes turn on the +12V bench supply and see zero current being drawn. The wire connection on my PCB showed 3.3V which is the correct output of the regulator, so I didn't understand why this was happening. 

UNDERSTANDING THE WEIRD RESULTS

The power confusion is due to the ability of the voltage regulator to buffer quite a bit of energy, when combined with the very low draw of my board, so that it can sit drawing zero power from the bench supply for long periods. 

I then realized that the slow speed I set up for alternating Storage Read and Storage Write cycles didn't completely solve the glacial relative speed of the Arduino compared to my board. I saw that the delay from when I set Storage Read high until the main loop of the software set the Storage Address Register and B Register outputs to the board was approximately 6 microseconds. I was already using direct port mapping for speed but the problem is that the read is accomplished rapidly and the output is provided from my board in about 800 nanoseconds (0.8 microseconds) thus the data being read does not have the proper address yet. 

The residual address from the prior pass of the Arduino code is what the MRAM is reading, not the one I intended. I checked a few cases and felt comfortable that this is why I see the wrong bit being output for a given address.

WILL REWRITE THE ARDUINO DRIVING PROGRAM

I cannot use the timer based 1.8 microsecond or even the drastically slowed 1.8 millisecond control signals because the Arduino can't set up all my outputs in time for the very fast board circuitry. Instead, I will use the Arduino at its native speed to set up the SAR and B values, then toggle the Storage Read and Storage Write signals from the code. 

Specifically, I will split the program into one that only does Storage Reads in order to observe with the oscilloscope as above. The other version of the program will execute one pass writing the intended values into memory. 


Wednesday, September 3, 2025

Restoration of top cover glass for IBM 1132 printer

GLASS BROKE ON TOP COVER

The cover of the 1132 printer has a glass window to allow the operator to watch what is being printed while lowering the noise due to the cover being closed. Sometime in the past this printer had its glass cover broken - bits of glass were inside the machine although most had been cleaned up before I received the machine for renovation. 

The glass had rubber channels around all four edges. These fit under metal channels that hold the rubber and glass up against the underside of the printer cover. 

All the parts to hold the sheet of glass in place were present - minus the nuts - so all I needed to do was buy a replacement glass or acrylic sheet to the correct size.

BUYING REPLACEMENT ACRYLIC

Ace Hardware in my area has a service to cut acrylic sheets to size, which is perfect for a replacement. They can also cut glass if I decide to go with a glass sheet instead. I carefully measured the size I needed and then went to the hardware store to get the new window cut. 

The rubber channels from IBM are so degraded that they don't work well. I believe I will need to buy some weatherstrips and press them into service. 

Too, one of the edges is rusted out (see below). I fit the acrylic I had cut onto the printer, but have left the peel off plastic cover to minimize scratches until the printer arrives back at its home in New Jersey.

DEALING WITH SEVERE RUSTING ON RECESS IN THE COVER

The glass plate is slanted with the front lower and the back higher so the operator looking through the top gets a good view of the printed page yet the cover clears the tall forms tractor on the back of the carriage. This forms a recess at the front where rainwater collected and sat for long periods of time, judging by the rusting away of the sheet metal rising vertically from the glass to the top of the cover at that recess. The paint is peeling away, creating a mottled appearance of rust and thick peeling paint. 

I plan to remove the paint from the vertical sheet, sand the surface a bit, use rust converter to seal the surface, and then spray paint as close to a color match as I could. The same spray paint will be used to touch up the rotary mode switch on the IBM 1130 which had some rust spots and peeling paint. 


Tuesday, September 2, 2025

Reassembly of the 1132 printer - part 9

REED RELAY REPLACEMENT PCB ASSEMBLED AND ATTACHED

A complex reed relay (RR1) was discovered to have an open coil. This relay has four reed switches - two are normally closed and two are normally open. Three of the four switches are used by the PCB that contained this relay. It had a 48V coil. 

The RR1 relay activates when the printer controller logic in the 1130 has activated the Carriage Magnet to move the paper down one line or to skip until a hole is detected in some channel of the carriage control tape. 

Three relays RR1, RR2 and RR3 are used in order to have the Silicon Controlled Rectifiers energized from the time the Carriage Magnet is activated until the printer carriage reaches the next line position where the Carriage CB switch closes.  

I was not able to find a similar reed relay but worked out a solution using a pair of SPDT reed relays to substitute for the three reed switches that were used in RR1. The relays were not 48V, thus I also had to drop the voltage to the 5-6V range of the parts I bought. A small PCB I designed mounted the two reed relays and the dropping resistor. 

I installed the two replacement reed relays, which were in 8 DIP form, plus a 2W resistor onto my new PCB. I added wires between this small PCB and the main IBM PCB which had contained the failed RR1 relay. 

CARRIAGE CONTROL TAPE PCB REINSTALLED

The IBM PCB mounts on the side of the frame at the right rear of the machine, with three connectors that plug into it from two sides. With that in place, I mounted the small new PCB with my relay substitute just above it. 


FORMS TRACTOR AND PAPER FEED GUIDES INSTALLED

The printer uses continuous forms with pin feed holes on the two edges of the paper. A tractor mechanism holds the paper with pins through the feed holes and advances it when the platen turns. This was inserted on top of the carriage mechanism.

A guide attaches to the top rear of the carriage to guide the new paper up into the forms tractor and to guide the printed pages as they come out of the machine. Often the operator would have a box of blank forms up against the rear of the printer with the paper fed up through the tractor and then an empty box behind the blank paper box to catch the output as it comes down from the paper guide. 



Dealing with the broken clutch fork on the 1132 printer carriage mechanism

IDENTIFIED BROKEN PART IN CARRIAGE

The knob which switches the platen in and out of engagement with the gear box is shown in the diagram below from the parts catalog, with the parts circled in green. The knob rotates and a pin on the inside turns with the shaft. That pin fits in the notch in the metal fork piece on the top of the assembly to the right.


The next diagram is an exploded view where you can see the piece that has one of its fork tines broken off. It is hooked onto the shaft with a tapered pin. 


With one of the tines of the fork broken, the pin on the back of the knob shaft can't move the fork back and forth, twisting the shaft to cause the platen clutch to engage or disengage. I believed I needed to restore the U shaped channel or add back the second tine so that the knob shaft can cause the fork's shaft to turn in both directions.

FINDING THAT SPRING IN CLUTCH OBVIATES NEED FOR THE SECOND TINE

While I was watching the motion of the knob and the fork, considering ways to replace the tine's function, I noticed that the platen clutch would be held out of engagement by the remaining tine when the knob was turned to Out but when the knob is turned to In, the clutch pulls the fork over to engage. 

That is, the tine doesn't need to move the fork since the spring force in the clutch assembly is trying to pull it to the engaged side at all times. It takes positive force to disengage, using the remaining tine, but when that force is removed the clutch snaps into operation. 

NO WORK NECESSARY, THE IN/OUT KNOB WORKS PROPERLY AS IT IS

I can cross this task off the restoration list since the printer works properly without having to address the broken tine of the fork. 

Side Project - Restoring an HP 4261A LCR (inductance, capacitance and resistance) meter

HP LCR METER

The 4261A meter measures the resistance, capacitance or inductance of components. It applies signals at 120Hz and 1KHz, treating the attached device as an series or parallel equivalent circuit. It measures resistances from 100mΩ to 10MΩ, capacitance from 10pF to 10mF, and inductances from 10 μH to 1000H. 

In addition it measures the dissipation (energy loss due to phase angle) for inductance and capacitance. The meter steps through ranges and in auto mode will even switch between series and parallel equivalent measurements for the device. 

QUICK INSPECTION

The device was a bit dirty but seemed in good shape otherwise. It had been powered on by the seller so I did the same and tried some measurements. The results were reasonable and the device appeared to be mostly working okay. 

I will perform all the tests and adjustments using the manual, after which I will determine whether there are any defects I have to find and fix. I ordered high precision capacitors, resistors and inductors for the testing. 

TESTING POWER SUPPLIES

The power supply was slightly off, but after adjustment all was correct with power. 

SELF TEST CHECKS

The device has two self tests that can be performed by sliding a switch on the inside to either test 1 or test 2 positions. I ran both tests. 

Test 1 will step the device through all its ranges, displaying a count of 1888 with proper decimal point positioning and a dissipation reading of 000. I saw a few ranges where it displayed 'out of range' instead of 1888, but the manual indicates that this is the expected result. 

Test 2 will display measured values of 1000 as it steps through all ranges, with some tests using shorted input terminals and others using open terminals. A few ranges were 'out of range' but that was also to be expected. 


I will run calibration and adjust this meter once my reference parts arrive, which will give me a very useful tool when I am repairing devices. 


Side project - repairing a Sony VP-5000 U-Matic video tape deck for the Space Force Museum

U-MATIC VIDEO MACHINES FOR PROFESSIONAL VIDEO WORK

The video recorder/playback universe spanned broadcast studio requirements with its 2" high speed tape down to home units such as VHS or Betamax with 1/2" wide tape. An intermediate level of quality (and expense) existed for professional but non-broadcast uses, such as the Sony U-Matic machines using 3/4" wide tape cassettes. 

EXAMINING THE MACHINE AND IDENTIFYING PARTS NEEDING REPLACEMENT

I opened this up and looked over the machine to see if there are any signs of damage or parts that definitely need replacement. I expect that the rubber parts are degraded. They didn't seem to be have hardened to develop cracks but I suspect their elasticity is lessened which would cause slippage for belts. 

EBAY KIT AVAILABLE FOR THE RUBBER BELTS AND TIRE

I found a kit with the rubber drive belts and the rubber tire for the main drive wheel which I purchased from eBay. This should give me replacements for all the worn parts, as these typically dry out on these machines (and on their Betamax smaller kin). The parts arrived and were ready for the restoration work. 


PURCHASE SERVICE MANUAL INCLUDING SCHEMATICS

Having the detailed schematics, adjustment procedures and other service information is essential to get a device like this operating properly. I received it and was ready to move forward with the restoration. 

CASSETTE LOADS BUT MACHINE GOES TO STANDBY, WON'T EJECT

Sliding the cassette into the front of the drive starts the load sequence, where it lowers the cassette into the machine, threads the tape around the head and should then be in stop mode waiting to play or perform other operations. Instead the deck enters Stand By mode which indicates some issue arose. Hitting Eject will not unload the tape, the machine remains in Stand By state. 

BELTS AND TIRE REPLACED, STILL GOES INTO STANDBY MODE

Once the new rubber was installed I tried again and did get the tape to load then let me start playback. However, attempting to return to Stop mode, rewind, fast forward or eject forced the machine into Stand By mode.

replaced main capstan motor

closing up the bottom side

Replaced belt that drives the threading motor and tire

Replaced cassette loading belt

DISCOVERED THE PINCH ROLLER ARM IS STICKING AS IT PIVOTS

There is an arm that moves the pinch roller on the tape to deliver controlled speed during playback, then moves out of the way for eject or fast tape movements. The arm stuck partway out, which the logic detected as a failure to complete its mechanical motion. There are many sensors in the deck to provide feedback to the logic state machines. 

I realized that it was just sticky old lubrication causing the problem. I partially disassembled it and dropped in some clock oil. The lever soon returned to free movement, so that the machine will now load, eject, play, rewind and all the other mechanical operations. 

NEXT UP - DISPLAYING IMAGE TO VERIFY THAT VIDEO AND AUDIO WORK

I will play the tape I brought with me from the museum and attempt to connect it to a monitor and audio system. The mechanisms might be moving tape just as intended but if the electronics can't extract the contents from the tapes it will still be broken. 

If it is working, I will make all the adjustments and lubricate it so that it is ready for use extracting content from the archives. 

Installation of new rubber drive belts for IBM 1132 printer

TWO DRIVE BELTS WERE IN BAD SHAPE

A pulley in the machine steps down the speed of the AC motor to produce 300 RPM at the print clutch cam shaft and 111.6 RPM at the print wheel.  The print wheel spins through the 48 characters that the printer can produce, thus it takes just over half a second to complete one rotation. 

Any print line that uses all 48 of the characters would need about 0.54 seconds to print on all the columns with all the characters. Spacing down one line in order to print the next line on the page takes approximately .2 seconds, allowing time for the print wheels of the last character being printed to finish movement and for the carriage to move down one line. 

This means the absolute maximum rate that lines with all 48 characters can be printed is about 1.36 lines per second, roughly 81 lines per minute. Lines with fewer characters can finish when the last character that exists on the line has been printed. For example, lines with only numbers could print around 110 lines per minute. A standard page at 6 lines per inch vertical pitch has 66 printable lines, thus the printer barely prints faster than 1 page per minute. 

There is a belt from the motor to the pulley, and a second belt that runs from a different circumferential ring to the gear train that links the print clutch cams and the print wheels. These had sat in a fixed position for decades, thus the rubber set into the shape and would thump for quite a while until (if) it relaxed to neutral shape. Worse, one of the two belts had a tear from the inside edge almost all the way to the outer edge, which would cause the belt to completely fail in a short time. 

NEW BELTS WERE PUT ON THE PULLEYS

I measured the belts, which where 1/2" width standard V belt shapes, and found new belts of the correct size which I could order. When they arrived, I installed them on the pulleys. A protective metal shield covers the belts and pulleys. Fitting that in place around the belts and pulleys was surprisingly difficult. It required a staged assembly - removing a top plate, leaving the center pulley too lose for proper belt tension, installing the metal cover, then reinstalling the top plate. After all that, the belt tension gets set with the belts mostly hidden under the cover!

ADJUSTING AND TIGHTENING CENTER PULLEY TO ATTAIN DESIRED TENSION

The nut on the back of the center pulley axle is accessible from behind the covered belts and pulley. A lug behind the nut allowed me to pull the pully axle to achieve a good tension in both belts. I tested by poking a finger through holes in the metal cover, tweaked the axle position, then tightened it up. 

Wednesday, August 27, 2025

Reassembly of the 1132 printer - part 8

TOP COVER REATTACHED

The top cover went on next, hinging at the rear and held open by a dashpot and lock plate. The dashpot moderates the rate that the cover closes. 

ORDERED NEW RUBBER DRIVE BELTS

The motor to pulley belt is a 34 1/2" x 1/2" V belt and the pulley to clutch pulley cam shaft belt is a 36" x 1/2" V belt. I ordered one of each from Amazon and had one of them when I returned from a week trip to Rhode Island; the other will arrive in a few days.9

DEALING WITH BROKEN GLASS ON TOP COVER

The printer had a glass window on the top cover, but it had been broken prior to my receiving the equipment. It won't be a complicated repair since it is a simple rectangle shape, I just need to measure, order and install a replacement. In the meantime I installed the top cover to complete the reassembly of the printer. 

GOT MY PCB TO REPLACE REED RELAY ON THE SIDE PCB

One of the three reed relays on the printed circuit board mounted on the left front of the printer frame had an open coil. I bought a pair of reed relays that will fit on a small daughter PCB I will mount above the IBM PCB to replace the functionality. The remainder of the IBM PCB works properly and just needs to be mounted and connectors attached once I finish up the daughter PCB connection to the IBM board. 

WAITING FOR REPLACEMENT RIBBON

This printer uses 3/4" wide black ribbon wound on open spools. Each end has a rivet that will trip a reverser so that when the end arrives as the machine winds in one direction, the reverser begins using the ribbon in the opposite direction. I have to buy an inked 3/4" ribbon, put on the rivets and attach it to the IBM spools. I found a supplier who provides as many yards of 3/4" ribbon as I wish. The original IBM ribbons are 18 yards long. 

AWAY FOR A WEEK

I am away for a week visiting my daughter, but that gives time for the drive belts and some other things to arrive for when I dive back in early next week. 

Sunday, August 24, 2025

Reassembly of the 1132 printer - part 7

FINISHING THE PLATES AROUND THE PRINTER MECHANISM

After some cleaning to remove the surface dust, rust and rodent sludge, I began fitting the remaining plates onto the printer. These are mainly the left mid and front section, but there is also a metal shield around the rubber drive belts and pulleys. 


INSTALLING DOORS ON THE PRINTER

The six doors that fit around the printer pivot on hinges with pins that hold them in place. I put them all back but had to leave as I have other appointments this afternoon.