View Full Version : WANTED: Software for Unimation Puma 560 robot.

October 4th, 2004, 09:28 AM
I have several Puma 560 robot arms made in the 1970s by Unimation.

I have gotten two of them working, but I am looking for some software that was released on 5 1/4" floppoes called "potcal".

Does anyone know if they have a copy?

You can see my old-robotics website to see what's going on.

October 7th, 2004, 09:25 PM
I couldn't resist poking around for this one. This might all be old news to you, but I found this:
but no downloadable versions anywhere else. My guess is that it's proprietary software, and these are the guys that own it.

You might have already seen this as well:
but I figured I'd put it up here since they're using the same arm you are.

Good luck, it looks like a really cool project!

April 2nd, 2007, 10:16 AM
Don't know if you have found this software or not but...
I work at Becton Dickinson Canaan Ct in the late 70's and an engineer John Verbikas (sp) worked with these robots, also Alex Knowle the electrical engineer. I believe if you have not found this Potcal they might be able to help you find it. I understand they both still work there.

March 8th, 2009, 05:12 PM
I just became the gleeful owner of a Puma 560C. I have the PDP-11/73.
(youTube video here: http://www.youtube.com/watch?v=29JoJRHsn2g)

I was happy to see this post, then sad to see it was years old.

I have a Floppy drive that came with the unit that has a 3 wire serial connection to the PDP. When the PDP boots it asks, "Load VAL from floppy (Y/N)?"

The 5/25 floppy looks worn and I am sure it will fail sooner than later. I have heard of people making 'Emulators'. I captured both sides of the conversation from the boot up routine, loading VAL but I can not decode the protocol being used. It is similar to several I have seen before... Namely it looks a lot like RIFF for wav files. But not exactly. Any help decoding it would be greatly appreciated.

I know this might be a more of a vintage Robot thing, but from what I have read the PDP used a similar format for the TU-58 tape drive. Although that protocol (From what I could find) did not match the data I have.

I have attached a sample of the captured communications with my guesses as to what is being said.. I am close but not there yet. While this is the loading of VAL at startup, based on the size of the Z80 board used to control the floppy (8k-eprom) I am guessing the floppy is not smart enough to know this is a boot file. The file name 'VAL II 560C' is sent first so I am guessing that the floppy is just spooling out the file that was called for. If I am right then loading other files should follow a similar pattern.

If anybody can recognize this I would be very thankful... I hope to write a little floppy emulator program for the PC so I can reload VAL if I need to, but also so I can save and load settings, configs, and programs.

(ps. a listing of all the VAL commands would be a hoot also! I only know Move, Break, Pause and Teach)

Thanks all..

December 8th, 2009, 09:09 AM
I have the POTCAL and other files now.
I also have a PDF scan of a maintenance manual for the arm and my controller.
I have scans of chap3 (Path Control) and chap6 (Ext Communications) from the VAL I Language Manual.

I also have torn apart and rebuilt my arm and controller so I have some inside info now if anyone has any questions I might know the answer or I could help you find it.

Important Suggestion:
If your unit NEEDS to load VAL from Floppy every time you power up the NiCad batteries on your memory boards are shot.
Power down and in a static safe area, remove the three memory cards on the back left of the controller. The battery on my cards looked like a very thick watch battery. One had just started leaking. No board damage yet so I took all three out. I then soldered wires with Power plugs onto the boards and connected standard AA sized 1.2v NiCad batteries. The new batteries are mounted with Velcro pads on the inside of the cabinet.

P.S. Does anyone know where I can get a FULL copy of :
Programming manual user's guide to VAL II Part number:398T1


December 8th, 2009, 09:46 AM
Not much makes me jealous but I am green with envy. Those are wicked cool. I noticed you're in NE. Close to Omaha? :)


December 9th, 2009, 02:05 AM
We have replaced our Puma's with Epson and have a load of spare parts, 2 complete Pumas, documentation and the controller chassis. Feel free to contact for info. I'm sure we have Val programming manuals.


December 9th, 2009, 07:39 AM
Matt - They are cool. I had been trying to find one for years and finally one hit the market and I picked it up. I didn’t mind getting one that was removed from service. It was cheaper because all the cables and extra wires were just disconnected and thrown in a heap. It took me about a week to tear it down and figure out how to get it back together again. The refurbished ones cost over $5000 on the low end.. Shesh! I can buy cars that are newer than the Pumas for less than that!

I had a lot of help from a loosely knit Puma community. But I am still in the 'baby steps' stage because the manuals I have are not 100% compatible with the machine I am using. Some of the commands do not work and I have yet to get the CS4-IO units to accept INPUTS. Outputs work fine; SIGNAL(1) turns on relay 1, SIGNAL(-1) Turns it off.
(There are 32 output relays and 32 Optically Isolated Inputs on a single IO unit for those wondering)

There were jumpers in the unit that had to be changed on each input to select 110V or 24V input. Each Input has a Bridge Rectifier on it so AC or DC works just as good.

The LEDs light up when I apply the input signal but the SIG(x) command never shows any change. I am still working on that part of the system. I think I am just using the command wrong.

DUDE! MY NEW FRIEND! Talk about envy! I would love to have (Spare Parts). Don’t get me wrong, the new systems today are cool. I actually have 2 Kuka pallet loaders at my day job as well as 20 Automatic-Guided-Vehicles (AGV) Forklifts in our warehouse. But my Puma is like a vintage car, I just get a kick out of digging around in that system and learning how it was all put together. It makes me appreciate what the new stuff can do. I have also gained a better understanding of Kinematics then I ever had before.

About those parts and Manuals you have. How attached to them are you... Hummmm? Actually I would pay for a photo copy of the documents you have! I would also be willing to talk about those parts and Pumas you have. It never hurts to have extra parts for older systems!

I am setting up a new email address so you guys can get in touch directly it will be RobotGuy (at) Theatronics (dot) com {I know I shouldn't post addresses here, but How else can I get those amazing manuals eh!? Besides if it gets spammed I’ll delete it and make a new one.. }

I just configured the address so it might take a while for it to show up in email servers. If your email doesn't get through try again in a few hours.

I am also setting up a web page (www.theatronics.com) where I want to begin posting all the data I can about Pumas and Robotics I have found. There seems to be a huge lack of detailed technical info on the web. (Unless you like tearing through thesis and doctoral drivel looking for something useful)


December 10th, 2009, 09:52 AM
Hi all, I found this post browsing google. Lucky me!
I just came across a Unimate Puma 500 that a guy sells locally. I called him and he told me that he has the arm,power supply/controller box.
No cables are included.
I will love to wake this baby up if I can. I don't know how difficult will be.(the current owner is a consultant in robotic programing.) I have some electronic background but no programing at all. I will not only need the cables but also the handheld remote to program it right? I have no clue of how to get started and where to get parts. Thank you all for any info!

December 10th, 2009, 11:25 AM
that’s a bargain, I wonder how much is wrong with it… Hummm.
(I would buy it just for the chance to rebuild it!)

I don't have all the answers, in fact I think I have a fraction of them, but I know a few people who have a few more fractions. We should be able to help.

You will need the following things as a minimum.
(Depending on the exact model of course)
A controller box.
A "Teach" Pendant
An Arm (duh)
and the cable(s) to connect the arm to the box.

The 560 Model had 2 cables (one for Servo power and the other for Pots and Encoders) The 260, I believe, only had 1 cable.

You should also get a floppy drive possibly an older 5 1/4 inch or maybe a newer 3.5. IT will come with a disk labeled SYSTEM or VAL.

You may also get an older black & white terminal with a membrane keyboard.
The Terminal is not absolutely needed, but the floppy and the disk are really important.

Most controller units have a set of 2 or 3 cards that have CMOS memory chips on them. These chips are backed up by 2.4v NiCad batteries.

If those batteries are low you might loose the operating system (VAL).
That is not a major problem if you have the floppy drive and a disk.

You will need the floppy however because there is a file stored on the disk that holds the calibration data. The VAL OS calls it the OVERLAY. It tries to load it right after the system loads. See (INITIALIZE) down below.

You can not connect a standard IDE type floppy to the LSI computer; it only knows Serial ports, no South bridge to an IDE chipset. (Sigh)
The Floppy drives I have seen are actually a standard 5 ¼ floppy with a daughter board installed that handles all the drive access. To the Controller (LSI Computer) the floppy drive looks like a TTY Terminal.

If you do not have the floppy drive but you do have the disk then you might still be able to get this working. There is a Floppy simulator that runs on a PC. The trick is to get the data off the floppy and on the PC. Of course the floppy is in a weird format for the 5 1/4 size but there is a program that can read it (I worked with the developer to add the PUMA format to his lib)

If you do not have the floppy disk (even if you do have the drive) you are running the risk that the VAL OS is not in memory or may fade once the batteries get low. I do not know if the version of VAL that I have would be compatible with your controller. That might take some searching to find the right version for your unit.

The whole startup process should go something like this.
Connect Teach Pendant to Round serial port on the back of the controller. (It might be labeled Teach or Pendant or J10)

Connect a Serial terminal to the CONSOLE port (J11).

Connect the Floppy to the FLOPPY port (J12)

You may also have a J13, that is and AUX serial port that you can access from VAL.
It is useful for connecting to a PC running software. Don’t worry about it right now.

Connect The Arm cable(s) If there are 2, they will be different sizes so you can’t get them mixed up, and the cables are Keyed so you can’t connect them upside down or backwards

The exact switches on the front of your controller may vary for others I have seen, but the POWER switch should be easy to find. There should also be a switch that has a choice of a HAND or a symbol that represents the front of the controller. Turn it to the Controller icon .

At this point you should clear EVERY THING AND EVERYBODY away from the robot. If you can , don’t do this indoors unless you have an empty room with high ceilings.

Turn on the power.

IF all is well the fans should come on and you will hear a beep from the Pendant.
At first it should say something like “UNIMATE” or “UNIMATION” or even
Then a moment later it should say NO VAL.

IF you get this far your are over 80% home.

The NO VAL means that you need to load VAL or tell the robot to access VAL from Memory.

This is where you need a terminal. You can use a standard PC with Hyperterm connected to J11. I’ll look up the PINOUT for that port, You only need RX,TX and GND. The rest of the pins are not even used.

Once you get the terminal hooked up, after powering on the controller it should say
If you say ‘N’ then the system will ask if it should INITIALIZE.
If you have a floppy connected with the SYSTEM or VAL disk in place
Say ‘Y’

Then the system will warn you about overwriting user memory.
Say ‘Y’ again.

There will be a BEEP and the Teach Pendant will say ARM POWER OFF.

The terminal should show a single period ‘ . ‘ now. That is the command line prompt.

If you get that far you are 90% home.

Is this the kind of info you were looking for?


December 10th, 2009, 04:20 PM
Thank you Mike for taking the time to write such a detail explanation.
The problem is that the guy has no cables for the unit. The only things he has is the arm and the power supply/controller box. not the hand remote or terminal, no software or manuals, just that.
This means that I have to get the cables from someone and the rest of the stuff needed to make it work. Is this impossible? Is it worth it?
I will love to bring it back to life but I don't want to have it sitting in my garage for years.

Best regards!

December 11th, 2009, 07:03 AM
After a brief search of a few hours, I did not find much.
I did find a teach pendant on eBay. The buy it now price is 390 but I’d make a bid for less.

The hardest part with the cables is the connectors. I still have not taken the time to find the original manufacturer of these plugs.

I believe they are made by Harting Elektronik
AllienElec.com carries that brand. I can check the pinouts on my unit to see if they are crossover (pin 1 goes to pin 72) or straight (Pin 1 goes to pin 1)

If you are willing to spend a weekend crimping and soldering, you should be able to build a replacement cable in a weekend.

I will have to research more to be sure but I think the 500 model is similar to the 560.
For now lets assume you need a 72 conductor cable.
You would need 2 connectors (25.00 each)
And 2 housings (32.00 each)
And about 20 foot of 20ga stranded wire X 72 at about a buck a foot that can get very costly. I am asking around to see if I can find some Multi-conductor cable suppliers.
If a single 72 pin cable can not be found, 4 18 pin cables will work also.

I think the cables could be rebuilt from scratch for about $250.00
So if you find anyone selling them for less it would be a good buy.

The Terminal is not as important. If you understand electronics, interfacing a standard computer serial port to the Terminal connection is very easy; I can send you the pin to pin connection.

The only outstanding issue is the software. Without the disk or the floppy you will need to use the emulator program. This means connecting the second serial port of a PC to the Floppy port on the unit. The simulator program then acts like a floppy drive on your PC.

It looks like the 500 and 560 are similar. There are a lot of people out there that have not chimed in yet so someone might respond to the thread with more info.

Until then I’ll keep my eyes out for the software. If you decide not to buy it for yourself,
You might just pick it up and put it on eBay. You could get more than what you paid for it. That is a real deal for anybody who is into those systems.

As far as being worth it. If you really want to mess around with arms and work with them, buying this unit would be a good investment at least for spare parts. Many puma owners have to combine multiple units to get one working unit. Everything else goes on the shelf for spare parts.

If you are REALLY into electronics there have been a few people who have bought the arm and then used Brushed motor servo controllers by a company called GECKO (not the insurance co).

They take Sinusoid Encoder inputs and can drive the puma servo motors. They have entirely replaced the controller with these little units. The down side is that you no longer have the VAL language to help with path planning or other calculations but if you study Kinematics you can figure out how to calculate that stuff yourself.

Of course you said you didn’t do much programming so you might not like the idea of writing your own robotics driver library.

If you want to buy a robot for the nostalgia of the model or the challenge of rebuilding it, you are looking at a perfect starter package. You will need to get some missing parts and it could take a long time to get where you want to be, but the arm and the controller are the two main parts of the kit.

If you just want to get into robotics or robot arms, I’d suggest looking for a newer model that has all the parts. I have been working with automation and robotics a long time so my garage is already full of stuff that is just sitting around, but what else would I put there? (I heard some people put cars there. A car in the house; Who ever heard of such a thing.)

If you decide it isn’t for you, pass the word around, someone might be just waiting to scoop that thing up.

Good luck either way. I’ll keep looking for answers for you.


December 12th, 2009, 04:29 PM
Hey guys it was good to see others are still trying to work with the Puma robots. I just bought one and am trying to find any information that I can on it. Any help would be greatly appreciated. The first question is what is the difference between a 500 and a 560? It has 500 on the side of the arm. Also, the controller powers on, but nothing displays on the terminal and a couple odd characters on the pendant. I contacted the guys that I bought it from and was told that it worked the last time it was used, about a year ago, and that it probably needs to be manually moved to home position before the startup will begin. Is this correct? If so, where is "home" position? Thanks

December 12th, 2009, 07:19 PM
It is troubling that the teach pendant does not say ‘NO VAL’

The teach pendant is connected to a serial port on the controller. On many models there are multiple serial ports. The VDT plug is unique can only fit in one plug, but the teach pendant might be able to connect to the others.

Generally the ports are:
J10 – VDT port (also has a duplicate set of wires from J12)
J11 – Teach Pendant
J12 – Floppy disk (Serial interface)
J13 – Aux Serial Port. (Not the Alter port you hear so much about)

I don’t know if having the teach pendant in the wrong port would cause the system load to fail. I have never tried. Check to see if these ports match your setup and let me know.

Another thing you can check is the memory cards. There are usually three, but again, many models had unique hardware changes so not everyone is the same. If you take the top off the controller (With the power off please) the memory cards for the computer will be in the rear and on the left.

Each one will have some form of battery on them, check for leakage and if you have had the unit on lately, look for 2.4vdc on them. Dead batteries will not stop the program from loading. (I loaded for months with dead batteries before I finally fixed them) But I also wanted you to make sure the cards look clean and that they are seated properly.

The Q-Bus cards do not have a LOCK that holds them in place. If they were shaken around in storage or transport, they could have come loose.

Also check the contacts on the cards for corrosion, They should be bright and brass colored. You can clean them with a standard Pick pencil eraser. Just gently buff the contacts clean.

Another common problem with older electronics is Chip seating. Chips are often not soldered directly to the board but rather they are inserted into sockets. These sockets rely on friction to hold the chips in place and make good connections. Place the board on a firm flat surface. I usually put a piece of cardboard on a table top to insure that the protruding pins on the back of the board do not get bent over or pushed back through the board. Then using both thumbs GENTLY push the chips down into the sockets. You may hear some crackling noses as the chips seat back down. If the board is well supported the noise should just be the chips settling all the way back into the sockets.

All 4 of the standard ports are serial ports from a single card. The standard model number is DLV11J. It has jumpers on it to configure baud rates, Stop-start bits and byte length. Unfortunately, the LSI-11 computer is a very close relative of the PDP-11. Because the PDP had been around for a while, there were several manufactures of parts so the actual serial card might be a replacement. As a result the actual dip-switch or jumper settings change with each card.

But if both the VDT and the TEACH pendant are acting funny, I’d take a close look at the serial card.
It is easy to spot, it will have 4 (or 5) little 10 pin header connectors with ribbon cables coming out of it.

Use a sharpie and label each cable and the plug it goes to before detaching them.
Then pull the card and look for missing jumpers on the bottom of the cage and push the ones on the card firmly in place.

Clean the edge connectors, Seat the chips, and then make sure the card is firmly seated in the slot.

Give it another try and let me know how things go.


December 12th, 2009, 08:08 PM
The Home position:
On each joint on the Puma there is a tiny mark, It looks almost like a scratch in the paint. Both sides of the joint have the same mark. When all the marks are aligned the arm is in its READY or home position. The easiest mark to find is on the ‘elbow’ (joint 3) If you imagine the arm pointing straight up at the ceiling, the mark would be on the side of the arm where the two halves of the joint meet. I colored my marks in with a red sharpie and then cleaned the excess off with a tissue. The result were easy to see marks.
You will need these marks to perform a POTCAL function before you start using the arm.

The Puma has encoders in each joint that can accurately track joint movement however they do not track position. In order to know where the arm is located the system also has a standard potentiometer in each joint. This creates a voltage range that gives a general position of the arm.

In order to get the arm in proper calibration the arm is physically moved to the READY position by releasing the brake for each joint and moving that joint into position.
The process requires you to power up the arm, then turn a switch at the base of the arm to a joint number. Then on the base or on the back of the arm there will be a white button. Pressing that button will release the brake for the selected joint.
Joints 1-3 have their own positions, the last selection on the switch is labeled WRIST.
This position releases joints 4-6 at the same time. Because the wrist is light weight all 3 joints can be aligned at the same time.

Once we get VAL working again I’ll go over POTCAL and CALIBRATE steps.

Model 500 vs. 560
The difference between the models of Puma are still a bit of a mystery to me but here is what I know so far.

260s are smaller versions of the standard Puma arm. They are mostly used for small part pick and place or lab work. These are very popular in smaller schools because the arm fits nicely on a desk.

500-560-562 – all of these arms seem very similar. I have seen about 3 different controller units and some slightly different base configurations.
I believe that 500 is a model family. There is a 5-Axis version and a 6-Axis version. (The 6th being the ability to rotate the last joint of the wrist.

The largest of the models is the 700 series with 762 being the most common.
These look a little different from the other two, The wrist seems to be elongated. But other than that slight change, they still have iconic shoulder and elbow shapes.

From the units I have seen, it appears that the computers are the same but each model has a different amplifier section based on the size of the servos and the expected payload.
Another factor that might have something to do with the model numbers is the computer configuration. Some have only one serial card while others have 2 (a total of 8 ports)

Some use VAL-I others use VAL-II and I have heard that a few late models use V+ (Now used by adept) I have even heard mention of an elusive VAL-III but so far that is just a legend.

Overall I think they are all more a like than different. If anyone has a family tree for the PUMA arms I’d like to see it.

December 13th, 2009, 04:03 PM
Thanks Mike for all the information. I checked a few things today and found the batteries have been replaced with a couple AA batteries and they are dead. As far as the 4-port communication board, the contacts looked clean and didnt' see anything loose. The IC's are soldered on the board without sockets. As far as the ports, the plugs on the board were already labeled as the following:

(looking from the front of the controller from back to front)
P20-Connects to the front of the controller labeled "Manual Control"
P21-Connects to the middle connector in back labeled "Floppy Disc"
P22-Connects to the right connector (Looking at back) labeled "Terminal"
P23-Connects to the left connector (Looking at back) labeled "Access"
Small 4-pin connector that I didn't trace.

I connected teach pendant to "Manual Control", the terminal to "Terminal" and flopply disc to "Floppy Disc".

I haven't found the marks for homing yet will countinue looking and try to find out why is will not communicating and update as I go. Thanks again for all the information.

December 13th, 2009, 07:52 PM
Remember those batteries are most likely NiCads. They could have gone bad. After even a few seconds of Power applied they should have a tiny charge on them. Even if it is not enough to maintain the memory.

If all three are at ZERO volts then there may be a power supply problem.
The main power supply is in the front of the cabinet and is normally split into two sections. High Power for the servos and a 'clean' power for the computer.

I'll look for some specs on the exact voltages but I am expecting +5V and +12 and -12V.

Most of the older Serial cards needed a +/- 12v supply to generate the RS-232 / RS-485 voltage levels. (The actual spec levels were +/- 16 but many systems used 12 and called it good enough)

IF the + or - 12V line is not in spec or missing that would also cause the communications to fail.

A large number of supplies I have worked on drew the +5v from the +12V supply. So if the +5 was working it was likely the +12 was good also. Additionally most TTL/CMOS computer boards did not use the -12v buss for anything but external I/O

But the -12V is usually generated by a alternate winding on the transformer.
So it is possible that the Computer could be working fine with the +12 and +5 but the Serial card is not working well due to a lack of the -12.

December 14th, 2009, 02:42 PM
I just checked and all the voltages are there on the bottom of the connection board.

December 16th, 2009, 06:57 PM
I guess I'm just out of luck and at least one of the controller boards are bad? Any other thoughts or ideas?

December 19th, 2009, 10:37 AM
I just bought a Puma 500. Will post pics later on.
Mike, I will try to find the cable first. Thank you for your great support!

December 20th, 2009, 07:31 PM
I got the arm apart. Really interesting. I need to release the break of the base or the second joint. It seems locked, and it's really hard. I will try now to find the main cable and the teach pendant.
Anyone nows how to release the brakes?:confused:

December 20th, 2009, 08:16 PM
The brakes are electromagnetic.
Energize them and they will release.

I will pull my tech manual tonight and look for the voltage, it that doesn't
work I will open mine and measure it for you.

When the brakes are off the arm will fall limp and could damage the gripper or wrist on the floor.
Be careful when releasing J2. Make sure you are holding it before you disengage the brake.

I'll post again soon.


December 20th, 2009, 08:24 PM
Thanks Mike! I took the arm apart today. There is like a brown red grease really solid and sticky. I guess that the arm was exposed to the sun and the heat melted the grease. Strange. I'm posting a picture.

December 21st, 2009, 06:30 PM
Yup, that’s bad grease all right.
You will need to clean all that out.
Then you will need to grease the joints.
You will need a grease gun (a cheap one will do)
And you may need to buy grease plugs, Zerts, or Grease points.
Everyone seems to call them something different.

I am not a grease expert but I am using a standard modern grease
Intended for farm equipment.

Also there seems to be at least 4 different grease plug sizes so make sure
Your gun matches the points you get/have.

I have scanned the Backlash and Cogging adjustment instructions and I am trying to upload it tonight. Look for a post later with a link.

December 21st, 2009, 06:32 PM
I found some other troubleshooting details.
I am uploading a maintenance manual tonight. Look for a link
Later. It should be www . Theatronics .com

All might not be lost.

December 21st, 2009, 06:41 PM
The unlock voltage is about 16-17 volts DC.
In the base of the arm there is a Circuit board that connects to the position switch.

The system provides 22v to the pcb when the motors are running. There is a regulator on the board that knocks that down to 16.89vdc.

If the switch is left in NORMAL then all the motors will unlock.
Selecting one position will cause just that one brake to release when the
Button on the back is pressed.

When 22 V is provided and the switch is in any position other than NORMAL the button should light up.

The connector on the bottom corner of the board that has only3 wires on it goes to the button. The wires are Power, Lamp Return, Switch Return.

The smaller (24 pin) connector carries the 12 motor power signals (2 wires per motor)
They are paired (1,2) (3,4) (5,6) (7,8) (9,10) (11,12)
Pins 13-17 are not used.
Pins 18 and 19 provide the 22Vdc to the PCB. I am not sure what the polarity is.
It is important because of the voltage regulator and the diodes that are used to select all or a single brake.


December 22nd, 2009, 07:57 AM
Mike, I tried to find that cable and it looks like is almost impossible to find. I'm considering your option of building one from scratch. Still once I build the cable I will need the software. Without the software and the teach pendant there is nothing I can do. If I had the robot complete, I will still need to find the software to make it run.
Is there a way we can find a copy somewhere?

December 22nd, 2009, 11:36 AM
Hello, I have a Unimation PUMA MARK ll Robot. It used to work, terminal, teach pendant, not the floppy though. I sold it to my nephew, He is into robotics at school. He got tierd of it and my brother gave it back to me.

They say it worked when they gave it back to me. When I fired it up it showed something on the terminal for a second or two then nothing.

I tried to hook up a pc with hyperterminal, not sure if I got it right.

controller turns on, fans run ? What should I do now. I'm not a electronics or robotics guy, but I feel confident to follow directions. The post about the batteries on the boards could be the problem?


December 22nd, 2009, 12:15 PM
The cable is a straight through (at least mine is) Pin 1 goes to pin1 ect…
On my unit I have 2 cables.
The first (labeled J0A or just A) is smaller, it has 24 pins.
The first 12 pins are the motors. They appear to be 24Vdc brush motors so they are nothing special in the electronics sense.
As I mentioned in an earlier post they are paired 12,34,56,78,9-10,11,12
The next 5 pins are not used.
The last 7 pins are a bit more mysterious but with a little more work I could figure them out. They consist of the 24V supply to disengage the electric brakes on the joints,
Plus some other signal lines. Possibly a limit or safety sensor loop.

Each joint has a sine-encoder that has 4 wires connected to it. Additionally there are 3 sires that are connected to a variable resistor, or more accurately a potentiometer, and finally a ground wire. That makes 8 wires per joint.
Although I only have 6 joints on my unit, I noticed that the Circuit board in the base has an extra and unused connection for a 7th joint. So That makes 7 * 8 = 56 wires for the joint position sensors.

Allied Electronics carries the connectors that were used on the PUMA units so they are not hard to replace, the hard part is finding a cable. I would first look for some multi conductor wires and build the cable in bundles. LAN wiring uses 8 conductor wire so using a spool of CAT 4 wire you could run one length for each joint and then wire tie the whole bundle together when you are done. (For the Larger plug of course)

The smaller plug, for the first 12 wires, I would use a thicker wire because those wires provide the power to the motors. No less than 18ga. Don’t use speaker wire though.

Part of a wires current handling capability is it’s ability to disperse heat. Lamp cord and speaker wires have thick insulations on them that are meant to protect the wire from home owners who put chairs on them. They often overheat and cause fires because the think insulation keeps the heat trapped in the wire. Thinner insulation can be used for this application because the current the puma pulls is not high enough to overheat the wire.

On the issue of the software. I am working on that for you. I think that there may be a way to get you a copy of software. The issue I am checking into is how compatible the versions of the software are between the controllers.

The hardware changed quickly when the Pumas were being built so there seem to be a few different models. Plus the company changed hands a few times and each new owner put their own stamp on the product.

If you could send me all the serial numbers, model numbers and even any version numbers written on the EPROM chips in the controller I will try to find a match or donor for you.

The teach pendant might be a minor issue, I have seen them show up fairly cheap at times on ebay. But as a light of hope, The teach pendant is nothing more than a Serial terminal just like the VDT.

The only difference would be the E-Stop button on the top and the Dead-man switches on the back and on the side, and the speed/Slow switch . I am studying my pendant to see how I can write an emulator program to run on the PC.
The dead man switches and the E-Stop could be hardwired. And the Speed switch could be replaced with a simple toggle switch.

Once I get the communications down, the rest should be easy.

So in short, there is still hope.. Keep looking for parts and if you find spares, check with any other puma people you find. You might be able to swap parts for the ones you need.


December 22nd, 2009, 12:33 PM
If the fans come on the may be hope.

The next thing to check is the Arm Power modules.
Power up the unit and turn the selector dial to position 4.
A button on the back of the arm should light up.
If it doesn’t don’t panic yet, the bulb could be burned out.
Press the button and you should hear a click.
The Wrist brake should have just unlocked.

You should be able to freely move the wrist joints now.

If that works then we can start looking at your computer.

You mentioned that SOMETHING came up on the terminal.
What does the teach pendant say?
I would expect it to say “Unimation” when you first power up.
Then it will go blank and after a moment you should hear a beep
And the teach pendant should say “NO VAL”

If you get that far then we need to look at your serial connections to the
On the back of my unit there are 3 smaller connectors and a larger one.
They are labeled AUX , Floppy, Teach, VDT/DISK

The larger one is the VDT DISK port. Some terminals had a floppy built in so they put both the terminal port and a duplicate of the floppy port in the one cable.

The vdt cable has 12 wires and they are labled A-B-C-D-E-F-G-H-J-K-L-M.
Notice there is no ‘I’.. I guess it looked too much like an L or J.

The pins are
A – floppy Rx
B – floppy Tx
C – Terminal Tx
D – Terminal Rx
E – Terminal Gnd
F – Baud Select (?? I didn’t use it so I am not sure)
G – J12 Disable ( Disables the other floppy port if this one is going to be used)
H – floppy GND
J – Negative 12vdc
K – Positive 12vdc
L – Positive 5vdc
M – Power supply Ground 0Vdc

December 22nd, 2009, 02:06 PM
Thank you Mike. I contacted a company that has all or many parts that we need. They told me that they even have the manual and documentation for sale. I will keep you posted on that info. Here I'm posting some pictures. One guy told me that my robot is not a 500. Its a 500 series but a 560. Now I need to know if it's a mkI or MKII.

Here is a link to the zip file with the pictures:


December 22nd, 2009, 02:33 PM
Just got the pictures. Great collection!
I expect to spend some time going over each one pixel by pixel.

Your controller is very different than mine. I have seen that type before but never from the back. All 4 of the communications connectors on yours are the same size. I would guess that they are all the same pin-outs also (or nearly)

I am looking forward to getting more info on that company you found. I know of a few that sell Puma robots and parts, but they are very proud of the scraps they have. Because the manuals and documents a rare they seem to charge a lot. But I will check them out also.

Thanks again. MIKE

December 23rd, 2009, 11:27 AM
Thank you for your time and info, Mike

My controller has a manual control connection port on the front panel, lower LEFT side for the teach pendant.

On the back it has three connection ports, from left to right ACCESS, FLOPPY DISC, and TERMINAL , lower right side, and one more connection port called ARM PWR PORT.

Above the front panel are some switches, BRK/RLS, RUN/HALT, INT a momentary switch, LED's AMP A, AMP B, AMP C, 40 VOLTS, RUN. The RUN LED lights when I turn on the controller power switch.

The teach pendent readout flashes for a second when I power up the controller then nothing, the floppy LED flashes also, after the floppy LED flashes once the LED comes on again and I hear a click from the floppy drive.

I changed my Terminal cable to try to connect to a pc. My terminal is a ADDS Regent 20 according to the manuals that I have.

The manual says VOLUME l - EQUIPMENT MANUAL 398P1A, Unimation Robotics FEBUARY 1983 and VOLUME ll USER'S GUIDE TO VAL , Version 560.18.1A

My terminal shows letters briefly when I turn the power on and off again.

I don't seem to have a light on my arm or a connector like what you were discribing. My PUMA is like the one on E-BAY that Ariel sent you a link too.
The controller looks like the one in the pics from Alan Kilian.
My teach pendant is different than the one in the manual, it may be older?

Thank you for helping. Mark

December 23rd, 2009, 11:37 AM
Did you get any further with your trouble shooting? I have posted parts of the manuals I have gathered together on my website under
|_ Documents.

I'll send you the password to the documents site in a private mesg.


December 25th, 2009, 10:51 AM
Happy holidays to everyone here on the forum!!

December 28th, 2009, 03:15 PM

No, I haven't gotten anywhere yet. I've just been surfing/researching as much as I can online and waiting on the guy who I bought it from to get back to me when he finds out how the one he has boots. Any info you can give me, I will very much appreciate it!!

Thanks again for all the help you have already given me and others.

December 28th, 2009, 04:40 PM
I have a set of documents posted that might be some help. There is a troubleshooting section that may be helpful.

I'll send you a personal message with the access info. I don't want to post it publicly.


December 28th, 2009, 05:26 PM
Thanks Mike. BTW the website looks good.

Looking at the troubleshooting manual, everything looks good except maybe the CPU, Memory, "A" Interface, or Communication board is bad. I was looking at Brynn's Puma 560 website (http://bobodyne.com/web-docs/robots/Puma560/Inside_1.jpg) and his controller looks like the one I have except the modules are not in the same slots. Any advice on if these may have been swapped? I can send a pic if it would help.

Thanks again,

December 28th, 2009, 05:44 PM
Also, the 4-Port Communication card has the connectors labeled J20-J23, back to front of controller, but connected to J10-J13 labeled connectors. They are connected as follows: J20-J11, J21-J13, J22-J12, and J23-J10. The connectors on the controller are labeled as followed: J10-Terminal, J11-Teach, J12-Floppy, and J13-Access. Any ideas on this?


December 28th, 2009, 06:43 PM
The only things I know about Board positioning is the first few boards.
The CPU should be in the first slot,
Then the memory boards (rom and ram),
And finally the Serial communications board.

They all need to be right next to each other because there is some sort of daisy-chain
Effect where signals are passed from one board to the next. The there is a gap the signals
Will not travel.

The I/O boards on most controllers seem to break this tradition. Apparently they do not use the interrupt system so they do not need to be in any particular slot, Although they do appear to be addressed so you will have to make sure they have different addresses set with dip-switches or jumpers.

On the serial card,
Each connection is made up of a PORT and JUMPER. Or at least that’s what I have always called them. Basically, “Tab T” goes into “Slot S” just as “Jumper J” goes into “Port P”

Each JP pair is uniquely numbered throughout the system, thus the numbers where the ribbon cables meet the card will not be the same as the connectors on the back of the controller.

Just think of the whole thing drawn out as a giant schematic, If I had two buss wires labeled J11, How would I how where each one goes in the drawing?

I am still researching and learning, but from what I can tell, the Terminal, Floppy, and AUX ports are fairly simple serial ports.

The TEACH port has the same serial port connections but it also has some safety wires.
A ‘Deadman’ loop and a E-Stop loop.
Both the E-stop loop and the ‘Deadman’ must be closed before the arm will move.

The Deadman is normally held closed by a button on the back of the pendant that is pushed in when the pendant is hanging on it’s post. Or by the thumb switch on the side that is held in by a mobile operator. (thus the name ‘Deadman’.. Should the arm strike the operator and knock them out, hopefully the pendant will be released and the switch will cause the robot to power down. I suppose ‘Knocked Stupid by a robot’ switch was not nearly as scary as “Deadman” switch.

December 29th, 2009, 11:30 AM
From what I can tell from the information that I have found, everything looks to be correct. There has to be one of the controller boards bad. I don't know which one to try? Any thoughts?

January 3rd, 2010, 08:52 PM
I do have stockpile of parts and 2 complete 550 and 560 Pumas with 3 controllers ready for sale. You can contact me thru e-mail.


January 5th, 2010, 09:14 AM
Hi,Theatronics are you still there. Kramnhaz

January 9th, 2010, 09:51 PM
Been busy the last couple of days.. Blew a fuse on my power board and had to hunt it down.
Seems the brake coil on the wrist joint (#4 motor) dropped from 60 Ohms down to 4 Ohms.

This usually happens on coils that are wound too tightly or with thin enamel on them when they over heat. The enamel softens and eventually the wires in the coil begin shorting between layers.
as the wires short and the coil resistance drops, the coil heats even more and the process accelerates. Eventually the coil melts down or a fuse blows.

I have entirely disassembled the motor for the joint and removed the coil. I plan on wrapping a new coil and rebuilding the motor this month. Why? Just to say I did.

I have taken many photos and I hope to post them on the board very soon.


January 9th, 2010, 10:27 PM
I am going to try attaching a jpg to this msg. The right of the diagram shows the LSI-11 CPU above the memory, then the Serial cards for VDT, TEACH, FLOPPY etc.. After that are the Parallel IO cards.
From my adventure this week, I leaned that the IO cards also send some signals back to the power boards (The next row of cards over) through the back plane. Finally the Digital Servo and Arm signal cards. these are Input cards from the Encoders and POT outputs.

If the CPU, CMOS and Serial cards work, then you should at least get the NO-VAL error on your teach pendant , or a LOAD VAL prompt on the VDT. Before VAL is loaded, the other cards are not even talked to by the computer.

You might also want to look at the second diagram. it is of the same stuff, just at a conceptual level.



January 10th, 2010, 03:35 PM
Thanks Mike. The information verifies that one of the cpu's boards are bad. Now I have to figure out how to determine which one and find a replacement or get it repaired. Any ideas?

January 10th, 2010, 08:38 PM
I pulled all the cards out of my system except the CPU card
The 3 memory cards and a single serial I/O Card.

With just 5 cards in place the system still booted up and asked
If I wanted to load VAL from the floppy.

I pulled the memory cards and the system powered up without any
Messages at all.

I am packing for a biz trip tonight, Next weekend I will try a few more
Tests to see if I can get the system to boot in a minimal state
(1 CPU, 1 MEMORY, 1 SERIAL card)

It seems that some RAM is needed for the CPU to do anything so I am guessing
That at least one RAM card will be needed.

When you say CPU CARDS, do you mean the computer cards including
The serial card, RAM and the actual CPU card?

There should only be 1 CPU card.. IT will have a HUGE chip on it
That should look like it has two smaller chips mounted on it’s back.

The memory cards all look like you would expect.. Rows of memory chips.

I have some pictures I will try to upload after 14 hours of meetings Tuesday night.
The hotel room web connection could limit my upload speed but I’ll do what I can.

I think there may be a way to get the CPU into a DEBUG mode with just the three cards installed and NO VAL.


January 11th, 2010, 02:27 PM
Yes, those are the cards that I was referring to. Thanks for all your help!

January 17th, 2010, 02:12 PM
Do you have an Osc. Scope? I can trace out a few key signals on some of the bus lines and let you know what they should look lilke.
No good if you don't have a scope to see them though.


January 17th, 2010, 04:11 PM
Yes, I have a dual trace 100mhz analog scope


January 18th, 2010, 03:26 PM
I have published the datasheet for the JAWS-11 chipset on theatronics.com

Look at your processor board. I hope it is labeled M8192.
It should have a large white (60 pin) chip on it that looks like it has two smaller chips mounted to it.
On the back of the processor board along one edge should be the label: KDJ11-A PROCESSOR

This is the main processor board I have and that I will be sampling signals from.
I will post my findings tonight or tomorrow evening.

The datasheet is very helpful in identifying the pinouts for the main chip.

January 18th, 2010, 05:28 PM
My processor is labeled M7270.

January 29th, 2010, 05:41 PM
I bought another M7270 board and it does the same thing. I'm suppose to receive another quad serial board next thursday and will give you another update then.

February 5th, 2010, 02:02 PM
Replaced the quad serial board with a "Tested" good board and still the same. I give up!!

February 6th, 2010, 05:34 PM
I'm surprised to see there is an active forum for a PUMA robotic arm, but pretty cool nonetheless.

I'm a student a georgia tech, and for our senior design project we are interfacing a modern PAC (an Allen Bradley ControlLogix) with an PUMA 500 6 axis arm. Finding documents on the PUMA has been a bit tough. Does anyone have the pin outs or a spec sheet for the umbilical connector they care to share or point me at?


February 12th, 2010, 08:54 AM
Hello Mike

Your getting around the WEB with this Puma of yours

Marcus from the UK

February 12th, 2010, 09:24 AM
Nothing useful but I thought I recognized that robot somewhere (http://www.youtube.com/watch?v=LAtdsDTt__s&feature=related). So be honest.. what are ya gonna throw? ;-) Maybe if you can track those guys down they'll have some info?

February 19th, 2010, 10:29 AM
Hey Marcus!
Friends, meet my mentor! When I had a giant coat rack , he helped me get it moving .
I ahve been trying to help others as best I can. It has been very stressful at the day job
so getting home at a deicent hour and having any time to do some research has been hard.

Interesting note: I had a Eletromagnetic brake on Joint 5 go out. I completely disassembled the motor,
Removed the burned up winding (Dropped from 60 Ohms down to 4.) it was quite cripsy.
Then I made up a teflon bobbin and wound my own replacement. I took plenty of pics and I hope to
add it to the website. (http theatronics com)

I am already shopping around for more parts. I'd like to have at least 2 functional arms and some spare parts.
(maybe even a 260 to complete the collection... <grin>) My workshop isn't big enough for the 720 but some day.......

February 19th, 2010, 10:31 AM
GetTEchPuma -

I have some docs, including Pinouts. Contact me and I'll forward everything I have.

February 23rd, 2010, 01:19 PM
Hi Puma freaks!

I used to work with the Puma 56x, 76x and 861 (Kawasaki arm with VAL-II controller). Sadly I have neither software nor hardware to offer, but maybe I can help with my memory / experience.

Does anybody sell a 56x in parts or in decent condition?

@Theatronics: Is it possible to get access to your documents on your website?

February 23rd, 2010, 02:12 PM


when I look at your pictures, it looks like you have a mk1 controller.
Just for your info: since these units are pretty old, you might want to check all lytic caps for the proper values since these tend to fade over time (10 years). Another issue is the status of the pot / encoders. Usually the pots wear over time so that the 'ready position' changes.

February 23rd, 2010, 07:38 PM

Hi! If the batteries on the memory card are actual 1.5V batteries, you have a problem. As far as I remember, the buffer batteries are either lithium or mercury cells. If you have access to the schematics, you should see what kind they are. The memory card will not work, if these are missing / dead.

February 28th, 2010, 05:31 AM
Do you have any idea where I could find a schematic for it?


March 1st, 2010, 07:00 AM
Can you make a picture (good quality) of the card(s)? There were different memory boards, some with AAA-size batteries, some with button shaped batteries. You need to know the exact part no. Do you have any kind of documentation or software for your system?

I am currently trying to get user manual, schematics and software for 56x and 76x systems.

March 1st, 2010, 05:16 PM
OK, I will try to get some pictures and the number on the board as soon as I can. As far as software, I was given several disk but I think they are just programs that was written for the robot, not any software. I will look at the disk again and see if anything jumps out as something other than a user program.


March 1st, 2010, 09:12 PM
Something like 'VALI.I.560C' or 'VAL2POT.56X' would indicate that you have a system disk. Stuff like 'test.pg', 'test.lc' or 'test.v2' are user programs / locations / combination of both.

March 25th, 2010, 07:27 PM
I just purchased a complete puma 762mark lll robot. I have no idea why I bought it. I want to turn it, right away. Any info on what it is worth or what I could sell it for other then scrap. Thing is huge. If anything can you give me a value, It will be on ebay soon, Thanks if interested call Dave (810) 560-0296. I would appreciate any help.

March 25th, 2010, 07:29 PM
I just purchased a complete puma 762mark lll robot. I have no idea why I bought it. I want to turn it, right away. Any info on what it is worth or what I could sell it for other then scrap. Thing is huge. If anything can you give me a value, It will be on ebay soon, Thanks if interested call Dave (810) 560-0296. I would appreciate any help.

March 29th, 2010, 07:14 PM
Check your email!

May 2nd, 2010, 05:47 PM
I finally got a chance to look at the cmos memory board, and its a 1816CMOS D4-10399 Rev 1. It looks like it originally had a couple AAA batteries mounted on the board, but it has been modified with two 1.2V Nicad batteries attached remotely. They are dead!

May 2nd, 2010, 10:02 PM
I have a 1822CMOS in my 761 MkIII and it uses two AAA NiCad batteries. The data retention voltage of the RAM chips is lower than the 2.4V. I have to check the exact value if you want me to. As I said, a picture would help.

September 11th, 2010, 10:07 AM
Hi PUMA folks,

since a few days I am a proud owner of some NOKIA Pumas.
I live in Germany, but I looking for this old stuff, the world isn't big enough...

As my robots only have Russian translations of the VAL Manual, I am in a desparate search for other documentation.

Is anybody willing to share / sell documentation?

Thanks and best regards

September 13th, 2010, 05:22 AM
Please write a PM, I might have info for you, even in German.

September 15th, 2010, 12:50 PM
Hi all,

so far, I managed to get one controller to a sign of life. Not very much more, but attached is what I got.

Maybe someone has an idea to what I could look further.

@NoMoreSleep: Thanks for your kind offer, I'll send you a PM.

Thanks and best regards

September 18th, 2010, 02:55 AM
Hi all,

no good news...

After fixing a PSU the controller came up, but shows 'Error Prom Bank 8" and bank 9.

Any idea how to get these PROMs ?


December 22nd, 2010, 02:19 PM
Hello All.

I am the owner of a PUMA 762 Mk III with a ton of spare parts and manuals. I have pictures of it in action, and I have used it with plasma cutters and routers to make many parts.

I have now outgrown it and I am looking for a good home for it.

The spares include extra CPU board, memory boards (battery backed 512k word), drivers cards, amplifiers, PSU, and many other parts.

I have a cable to allow it to connect to a PC, and all of the VAL program disks and POTCAL calibrations to make it run.

If you are interested please contact Greg. My email is at rodesch@pacbell.net.

I am looking for $2500 for the lot, OBO.

July 11th, 2011, 02:08 PM
Just came across the following boards/parts that seem to match up for this thread;

- D4-10399 Rev 1
- PROMS for Digital LSI Micro-Computer (various - about 20 of them)
- Digital LSI Micro-Computer BLANK boards (3)
- MRVII-C M8048
- KDii-HA M7270
- DLVII-J M8043

If interested, contact me!

July 17th, 2011, 05:19 AM
Hi all. I hope I've posted this in the right place...

I have a Puma 560 arm, but no controller. It's been changed slightly by the University that was throwing it out. The original sin/cos encoders have been replaced with digital A/B ones. Each joint works ok - I've tested it using a Servo-sc card contolled from a pc.

Does anyone know where I go from here? I'm looking for control cards and servo amplifiers (currently looking at Servo-SC from JerryKerr and OSMC from RobotPower) but the biggest problem is software to run all 6 joints at once in coordinated 'world' motion.

Any help greatly appriciated. Thanks (London, UK)

November 12th, 2011, 05:34 PM
I have a PUMA 560, it is currently operational and has VAL loaded.

I am trying to help a friend who has a 200 series and is getting the the LOAD FROM FLOPPY message. Any help appreciated. I suppose too that I need to consider installing new batteries in my unit... if it looses VAL I'm pretty much screwed. Again... any help... much appreciated.

Here is where I may be able to help you... I had access to a high speed scanner... so I made a PDF from my VAL programming language manual... I put it on my page...


I hope that helps.

(My first post here too.)

November 12th, 2011, 05:35 PM
Hi PUMA folks,

since a few days I am a proud owner of some NOKIA Pumas.
I live in Germany, but I looking for this old stuff, the world isn't big enough...

As my robots only have Russian translations of the VAL Manual, I am in a desparate search for other documentation.

Is anybody willing to share / sell documentation?

Thanks and best regards

I uploaded my copy: http://rutherford-robotics.com/PUMA

November 12th, 2011, 05:39 PM
Uploaded yesterday: http://rutherford-robotics.con/PUMA

January 15th, 2012, 09:53 PM
I don't want to sound like Mr. KnowItAll, but when you get the 'Load Val from Floppy' message, you have a VAL-II machine, if you just get the 'Initialize?' message, you have a VAL machine which keeps the OS in Eprom memory. There is no way you can reload VAL for these units. You would have to programm old TI Eproms (TMS2716).
Long story short: VAL and VAL-II are different animals, software and hardware are different.
I just got a new, or better old, VAL 560 and I have 3 VAL-II 760, one in working condition, one in rebuild state and one ... I don't want to go there, worst case it will help me with spare parts.

Questions always welcome!

July 15th, 2012, 11:42 AM
Thanks for the info. I found out later that mine does not need the batteries... that's good. :D But someone also told me that the EPROMS are subject to "ROM ROT" and can loose the data over time... he suggested that I make a backup copy of them... so it's good to know that I need the TI (TMS2716) EPROMS. (I'll have to find a programmer and get some to do the backup.) I used to have a PROM programmer too... need to see if one of my Motorola buddies still has access to one. If so I'll copy them each to a HEX file and have it for anyone else that may need it... I imagine they are getting hard to come by.

Hey... while I'm here... someone said the second user port could be used to send serial commands to the robot directly... not via the VAL programming language. I've seen where people were running the machines with C or Visual BASIC directly... does anyone have information or manuals on that? It was like a 19.2K RS232 connection or something... much faster than the 9600 BAUD TERMINAL port.


July 16th, 2012, 10:18 AM
The TMS2716 have a slightly different pin out compared to 'normal' 2716. Either you got a somewhat old eprommer that can handle these or you build an adapter. I did go the adapter route and have backups of my system. It is a Val version 18.1B. If you need the files or have a different version, please let me know.
I addition to the OS eproms I did backups of all the other programmable ics (proms and microcontroller of teach pendant).

You still need batteries for your RAM if you don't want to load your programs from floppy all the time.

August 5th, 2012, 01:59 PM
I don't have the floppy... and I suppose the batteries are still good because a couple of weeks after I last used it I can answer "N" to the init prompt and the programs and positions are still good. I'll have to see if there is some notice or something to indicate which version I have in the event you have the same one... then I could back up the files which would be great. We found a PROM programmer... don't know yet if it is the right type or not... need the time to look into that more.

I am interested in finding out what the Teach Pendant sends... I found the pinout... and I know it is just serial data... it would be nice to have the ability to program an Atmel or similar micro to act as a teach pendant... possibly with some function keys or special features. There is also an Accessory port... I found some documentation that says it is RS232 and can be used by an external computer... but I can't seem to find out exactly what is sent for control. It could be a command set like VAL, or it could be something more streamlined like J6200 to drive joint 6 to position 200... and so far... no way to find out.

Anyway... if you find any info on that it could be very useful!


By the way... I have a beta G-Code converter working... and hopefully shortly will have a setup where you can convert a large G-Code (10,000 lines or more) and send to the PUMA as a stream. If I get that working... we can use the PUMA to carve 3D stuff.

August 6th, 2012, 03:01 AM
...someone also told me that the EPROMS are subject to "ROM ROT" and can loose the data over time... he suggested that I make a backup copy of them... so it's good to know that I need the TI (TMS2716) EPROMS. (I'll have to find a programmer and get some to do the backup.)

I don't know anything about "ROM rot," but I do know of a fellow up in Canada who can make you backup copies of those EPROMS. The fellow's name is Stephan, and he can be reached at info@hobbyroms.com.

His web site is http://www.hobbyroms.com/ (obviously).

I highly recommend this fellow. He will watch out for your special instructions, like if you specifically need TI devices. And, above all, his prices are amazingly low.


October 18th, 2012, 12:23 PM
I have heard of 'Rom Rot'. Most of the things I have heard were about UV-Eproms and some EEPROMS.
One time I had a instructor tell me that Gama rays from outer space, although rare, can strike the atoms in memory cells and cause them to degrade. I have not heard of PROM chips suffering the same fates.

Most memory loss that I have ever encountered was caused by static shock to chips.

October 18th, 2012, 12:35 PM
Hi folks,
IT is amazing how a few years can slip by so quickly. I hve finally been allowed to return to working on my Puma robot arm. Of course when I finally got it all powered up it doesn’t work. It figures.
So here is what I am researching now. The CPU and Serial card seem to be working. When the system powers up, I see the boot message followed by the ‘Load VAL from floppy?” prompt.
The load seems to start properly, but the process fails on the 3rd block with a ‘Checksum error : 23”
I am not running from an actual floppy, I am loading VAL from a PC serial port with a Floppy emulator. I tried a few backups of the original file just to make sure I didn’t have an actual ‘Checksum error’ in the file.
So now I am ticking through a list of Troubleshooting guesses. Anyone have any suggestions, I am all ears. I’ll post what I find. Right now I am checking for back connections on the boards and ways to test the information that is actually being sent to the serial port. Maybe I have a bad port?
P.S. My memory and serial cards were made by INSTEM as part of a short lived production run between 1972 and 1985. If anyone has any INSTEM card guide books or documents I would really like to see them. Some of the jumpers are similar to the digital PDP counterparts, but they are just different enough to make me uncomfortable making changes.
Thanks and sorry for the long absence.

October 18th, 2012, 04:40 PM
Hi and welcome back...

My first guess would have been a damaged / modified file where the block checksum does not match the calculated.
Second guess is a bad memory chip. As far as I remember you have 3 identical ram cards. What about trying to swap them to see if you can boot further. In order to do that you have to change the base address. There should be information about that in the electrical drawing set. If you don't have that, you can compare the boards and swap the settings. Just make pictures first and / or have everything well documented. If you want you can send me the pictures and I will see what else I can think of.

One other thing: how are the batteries doing? If they are weak, the memory starts acting 'funny'


October 20th, 2012, 11:46 AM
The batteries are good, I replaced them about 2 years ago. Still holding a charge.. I did swap the 'bottom' two memory cards with no effect. The dip switches on them had me scratching my head though. I'll have to post Pics. I don't have the electrical specs manual.

This is what I actually see when loading:
* VAL-II Boot B560C.2.3 15JAN91 *

Load VAL-II from floppy (Y/N)? y

Language for VAL-II error messages:
English(0), French(1), German(2), Spanish(3), Swedish(4)? 0

Robot serial #? 0063
23: Checksum error

Looking at the actual files I can see the blocks and after a lot of math they have the correct checksums. (for those following along: Add up all the bytes in a block except the last one. Strip off all but the last 8 bits. Invert it and then add 1. It should equal the last Byte in the block.
[For those of you playing along at home:
The Bootloader uses a 2's complement
checksum method.

Here is the actual first block from my VAL II executable file
is only 9 bytes long. There are 246(dec) zeros that fill the remainder
of the 255 byte block.
{01 00 08 00 EA F4 80 01 98}

Start of Block 01 {1}
Um - maybe block size? 00 {2}
Definitely block size 08 {3}
um - Dont know for sure 00 {4}
Actual data in block EA {5}
... F4 {6}
... 80 {7}
... 01 {8}
CheckSum 98
01 + 00 + 08 + 00 + EA + F4 + 80 + 01 = 268
268hex = 10 0110 1000bin
Take just the last 8 bits 0110 1000
0110 1000 Inverted = 1001 0111
Add 1 = 1001 1000 = 98hex
Checksum matches. (yea!)

Here is what I see on the terminal screen when I try to load VAL:
* VAL-II Boot B560C.2.3 15JAN91 *

Load VAL-II from floppy (Y/N)? y

Language for VAL-II error messages:
English(0), French(1), German(2), Spanish(3), Swedish(4)? 0

Robot serial #? 0063
23: Checksum error

Load VAL-II from floppy (Y/N)?

I am assuming the error is being kicked out AFTER the third block is loaded into memory.
The first two blocks are very short, only 9 bytes long with a lot of zeros.
Before each block the system must request the next block before the floppy emulator will begin sending again. So the communications must be working well enough for the first two blocks to complete. I am also guessing the Checksum calculation is working for the same reason.

I am using the ODT (@ prompt) to scan the memory for problems. So far I have found a lot of 8 bit data but very little that could count at actual Op-codes.
Again for the home audience:
To use the ODT Prompt (@)
type a memory address followed by "/" and the system will give you the value of that location.
Press (ctrl J) and the system will move to the next location.
To change a value type in the octal value on the same line and press return.
You can key in an entire program this way and then start the program by typing in the memory location followed by "G"
Typing R followed by 0-7 will display the CPU registers.
RS shows the (PS) register.. Not sure what the PS register is yet..
P resumes a program from the current location after a 'Halt' stopped it.

Right now I am trying to decode the meaning of the first two blocks. If the error takes place AFTER the third block, I would expect to see those 250 Bytes of data in memory somewhere. So far I have scanned from 0 through 171616 and I haven't found it yet. I am guessing that one of those two 9 Byte blocks at the start contain the 'Origin' location where the cost should load into memory. But I haven't been able to guess how to decode them yet.
Here are first 3 the blocks. Well some of them
Block 1: 01 00 08 00 EA F4 80 01 98 {lots of zeros}
Block 2: 01 00 08 00 CA F4 06 7F B4 {lots of zeros}
Block 3: 01 00 FE 00 00 A0 5F 00 18 00 EE 9C 00 ...... Ect
The 3rd block is FE bytes long and that is the one I am trying to find in memory.

I am running at 9600 baud and it has never been an issue before, but I might try lowering the baud rate to see if it helps, but that doesn't seem like the issue as the terminal and the first two blocks all seem to work properly.

Sigh. The quest continues.
But then, I think that’s what I like about these older machines.


October 20th, 2012, 12:44 PM
I am interested in finding out what the Teach Pendant sends...

I haven’t broke into the teach pendant communications yet. I do know the Main system sends a constant stream of data to the pendant. I think it keeps the display updated. IT seems like a lot of overhead, but the pendant is sometimes the only interface an operator has, so it might make sense.

The Serial pin out is important, but don’t forget the ‘Deadman’, Speed, and ‘E-Stop’ circuits.
The Deadman is a loop that lets the robot know it is safe to keep moving. Usually the pendant has a button on the side and a switch in the back. If the pendant is hanging up the back switch is held in, If the pendant is not hanging up, the operator has to hold in the ‘Deadman’ in order to keep the robot moving.

The Estop is a circuit loop through the whole system. Break the loop and everything stops. If you are going to have a virtual device, you could just loop these two lines through the connector I guess.

The final is a toggle switch that sets the move speed in the teach mode. Normally the robot will move slowly but flipping the switch will enable faster movement.

There is also an Accessory port... I found some documentation that says it is RS232 and can be used by an external computer... but I can't seem to find out exactly what is sent for control. It could be a command set like VAL, or it could be something more streamlined like J6200 to drive joint 6 to position 200... and so far... no way to find out.

The Accessory port is just a serial port on the system. You need to access the memory locations 776520 – 776526 to use it.
776520 Rcv Status register
Only 2 bits:
<6> R/W – Enable =1 / Disable =0)
<7> R - 1 = Ready to read. Cleared by Reading Buffer
776522 Rcv Buffer
16 bits ( yes 16!)
<7:0> 8 bit data
<11:8> - Not used
<12> Parity Error
<13> Frame Error
<14> Overrun Error
<15> Any error (set if there is ANY error)

776524 Tx Status Register
3 bits
<0> R/W - 1=Space mode. Create a space or Break signal.
<6> R/W – 1 = Enable
<7> W - Buffer Empty –or- TX complete

776526 TX Buffer
8 bits
<7:0> - Data to be sent
I can send you a sample program that shows how to access this port from inside VAL. Once it is set up, it is just a port that the VAL program can use for a printer, or any other Aux I/O you want.

To actually control the joins from outside of VAL you will want to use the ALTER mode. It requires another serial card. They are still out there on ebay. Adding another card you get another 4 ports. The SUPERVISOR and ALTER ports allow you to directly control the arm from outside. A small VAL program is still needed, but you loose all the Kinematics and frame tools of VAL so you will need to do all the heavy lifting in your own code.

I’ll get the materials I have together if you are interested in those also.


October 20th, 2012, 02:35 PM
Hi Mike,

A block always starts with 01 00, then 2 bytes length. Then in byte 5 and 6 you have the address in memory where the data should go. Then comes the actual data and the last byte is, as you already thought, the checksum.
The first two blocks write data to control registers in the PDP11: 0xF4EA = 172352 octal = KISAR5 and 0xF4CA = 172312 octal = KIDSR5 to map memory space around. I hope you don't want more details for that, otherwise I will send you the datasheet of the PDP11 ;)

The third block actually writes to RAM at address 0xA000 = 120000 octal. You might find the data there with ODT, but only if the mapping registers are still set correctly.
After a little calculating: the code will end up at 200000 octal start address in memory (in kernel instruction space). You would have to find out the mode you are running ODT in. If you can switch to kernel instruction, then the data can be found at 120000 octal (if KISAR5 is still 0x0180 or 600 octal)
You can find out more in the 'KDJ11-A_UsersManual.pdf' under memory management.

The floppy transfer protocol wraps this block data '01 00 .... crc' in its own frame, again checking for the right checksum. That just for your information besides everything else. Need details, send me a PM.

Just swapping the cards won't help since you would have to change the address jumper settings. If you don't do that, you actually didn't change anything besides the contacts on the backplane...

I saw the pictures on your website: http://theatronics.com/Memory_Card_Archive.php.

That's it for now, H.

October 20th, 2012, 06:26 PM

just for the record: Jerry has a VAL machine, not a VAL-II. There is just one additional 'accessory' port which is not supported by the OS. 'For future use', that's what the manual says. And there are no commands that would allow IO access to the actual UART.

Unless you modify the eproms there is no way to communicate to the outside world besides the floppy. And even the floppy has a slightly different protocol compared to the VAL-II / 'high speed' floppy we are dealing with.


October 20th, 2012, 09:38 PM
dang. That just makes me want to find a way to make it work.
I uploaded a VAL program to my projects site that 'pokes' an assembly lang program into memory that connects to the UART board directly through it's mapped memory location. Is there any chance the 'extra' port is connected to a 4 port card? I have a cleaner version of the program somewhere and I'll load it as soon as I find it.

Maybe the program could be modifyed to 'take over' the floppy port. Once the program is loaded, a simple (A/B) switch could be used to change the connectons. I just can't give up... sorry.


October 20th, 2012, 09:52 PM
Block 1 is [KISAR5] and it is loaded with 0x8001.
Block 2 is [KIDSR5] and it is loaded with 0x067F.
Block 3 begins loading at [0xA000]

It is so fun when things start to come into focus.

Yes, I will read the KDJ11 Manual. I am not as familliar with memory mapping for the PDP family as I should be.

Thanks again!

October 20th, 2012, 10:24 PM

almost right. The numbers would be 0x0180 and 0x7f06, low byte first, then high byte. 0x0180 is 600 octal. That gets shifted left by 6 so it is 60000 octal. Add that to the actual address you want to access and it gives you the hardware address: 60000 octal + 120000 octal = 200000 octal.
Funny memory management: if you write 2000 octal to KISAR0 you would be able to access the exact same memory when you read write from 0 octal. 2000 shift left by 6 = 200000!
Each KISAR (0 to 7) is responsible for 20000 octal. KISAR0 = 0 - 17777, KISAR1 = 20000 - 37777 ...

Don't forget that you cannot map ram into the 4k IO space between 160000 and 177777.

Regarding the serial port of a VAL machine: there might be the possibility to load a custom program into ram with the 'dia' command. The only issue would be that you need to mark this area as used. Otherwise the OS would overwrite that as soon as the memory gets full. I don't know the exact memory management of VAL so that could get tricky. I do have disassembled VAL V18 which is running my old 560.
For the same system I wrote a memory test in assembler to be able to repair a bad memory card.
Did you ever hear about PDP11GUI? That is a great tool if you want to mess with ODT or write small programs.


October 21st, 2012, 06:22 AM
Does the memory offset take place even in ODT? I am still confused about the serial ports being mapped into the same area as ram. I just dont see how the system could boot and ask "Load VAL" unless that offset is put in place before the load starts. I will have to read more.
Isn't it possible to offset one memory card ON TOP of another one accidentally?


October 21st, 2012, 08:23 AM
I just read a little: ODT handles 22 bit addresses so you would be able to type 200000/ and it should get you the content of 200000 octal. The IO addresses must have the full 22 bit address, so 160000 - 177777 is moved to 17760000 - 17777777. I was wrong with the memory management in ODT, so don't worry about it.
The concern about overlaying one card on top of another is plain hardware. For testing you should be able to run the system with just one memory card but it has to be the one that starts at 0 octal.

The only difference between your cards and mine is SW1-1. Yours are turned off, mine is on. I have no idea what that would do. I might just drive over to my 761 and test it.

Something else that's interesting: offset 0x2300 in the VAL-II file you have another place where the offset is changed to 0x01ff. That shifted right by 6 = 77700 octal. Add the next virtual address of 0xa038. That gives you 217770 octal.
When you go through the file you will find several places where they rewrite the offset.


October 22nd, 2012, 09:47 AM
Block 1 is [KISAR5] and it is loaded with 0x0180.
Block 2 is [KIDSR5] and it is loaded with 0x7F06.
Block 3 begins loading at [0xA000]

I have been looking all over for the registers [KISAR5] and [KIDSR5].

I did find a mention of the address 172352, but it was called [PAR5]. The remark with it said ‘handler addresses’ Along with it was address 172354 [PAR6] that had something to do with ‘ibid, TSX’ ?

Where did you find the terms KISAR5 and KIDSR5 ? I have some manuals in PDF image format so I can’t scan them for actual words, I have to flip pages and search for details the old way.


October 25th, 2012, 06:17 AM
Argh. Computers are frustrating.
Ok, I was checking the signal and I found the data seemed to be fine up to the UART.
While I was checking out the Serial card, I noticed that one of the jumper wires (wire wrap) was a little long and looked like it had gotten caught on something. I eventually removed all the wire wraps on the settings pins and re-wrapped them to 960 Baud
0 = N Teach Pendant
1 = N Floppy Drive
2 = N External Accessory Port
3 = EX (External signal selects between 300 and 9600 baud for Terminal)
Now the program seems to load, but right after the last byte is sent, the system locks up.
Even an ‘INIT’ will not bring it back. I hear the safety relays chatter some times.
I am going to look real close at the power supply. If this turns out to be a weak 5V line I am going to be so frustrated.


October 28th, 2017, 11:19 PM
Hello everybody,

I am Peter and I come from Germany. I have a Puma 500 with a Unival control.

As far as I got everything to run. But an error message is still pending. So I can not perform calibration.

*BATRAM not initialized*


What does "BATRAM" mean?

Maybe someone still has the files from the system or manuals from the parameterization and the commands.

I hope for an answer despite the long time.




Testing internal S.C.M. RAM....Passed
Testing the Bank...............Passed
Testing the Timer..............Passed
Initialize S.C.C. Bit Bus......Passed
Initialize S.C.C. Network......Passed
Configure the System...........Passed
Testing expansion memory.......Passed
WARNING hardware configuration has been altered !!!

UNIMATION VAL-II Copyright (c) 1986 by Unimation, Inc.
Initialize (Y/N)? y
Are you sure (Y/N)? y

Batram not initialized.
TMS servo gains obtained from EPROM.
TP servo gains obtained from EPROM.
VAL-II 560c.4.3A P/N W231.162.02 27-Aug-1991 271Kw
*BATRAM not initialized*

September 20th, 2018, 08:40 AM
In honour of throw back Thursdays how about a good old fashioned Dead Thread Revival!

Because I have a Puma 560 robot arm with a dead controller that I would really like to see move again. The only pinouts I can find seem to be missing several wires and it is hard to line all the colour coding in my pinouts with the 5-7 blue wires I do have.

I have found that if I apply voltage to the white/purple wires I can get the three small motors to turn, I am pretty sure if I did the same on the three big motors I would just get noise and smoke because the brakes are on. Looking to see if anyone is still on here that has some info on what does what in this arm so I can bypass the controller and replace it with something I can work on.

Any help or hints or anything would indeed be greatly appreciated.

November 12th, 2018, 11:02 AM
I'll second for the thread revival, as I just obtained a Puma 260A. I still need a VAL II manual. I downloaded Jerry's, but it's VAL and doesn't include the disk commands. I need to know how to backup the VAL II floppy. Also looking for the calibration software.

Amona, which controller do you have? If it's a Mark II, I may be able to help.