Hi all,
For last few months I have been reverse engineering how 400/500/4000 series Geodimeters work. Browsing through assembler instructions, 100's of KB of code, different processor types... splitting data from instructions, making sense of arithmetic and math used in these units. Too much time invested. Here I bring (some and restricted) fruit of this work:
This link points to my personal repository on github, I will post there tools I have for these Geodimeter machines.
So far there is:
1. 600/5500/5600 station backup and restore tool (gdm600). To use it you need to read readme, and you need python3 installed.
2. 400/500/4000 magical interface
400/500/4000 series units are programmed and configured using special LabCard, this card is not manufactured anymore ( since 1988), and there are still few operating (at trimble service centers). But there is another way to program these stations. I have successfully replicated the protocol that these stations use. I am now able to program these station with data I want, enable programs I want, set serial number, coefficients.
If you have working station its possible to backup all data and restore them later. If your station is "cleared" - Error 51. You have problem.
For this problem I am working now on calibration rig, that attaches to station and moves vertical/horizontal axis. In the end it "should" come up with working coefficients. Don't expect this tool anytime soon. But hardware is ready now.
Geodimeter did this calibration at factory, stored these coefficients. And when battery died they just reupload the same values. (and make you pay $$$, yes they check the station's calibration, bla bla, but still ... $$$ you already payed).
I have gathered tons tons of information about the inner working of the stations, but it will take time to make it available.
If you have any trouble or improvements: use github's issue tracker. I don't visit the forum that often.
Impressing work!?ÿ Many thanks! Have to find time to test this and make a memory dump. Have not used Python but I guess I will figure it out.
?ÿ
Here is a 5600 series user guide and ACU user guides.
?ÿ
?ÿ
That's a labor of love, and a definite +1
The Geodimeter 142, with the Geodat collector, were a traumatic experience as a younger filed hand.
I still have a copy of the operating instructions for the dc if I ever want to relive that horror.
I have updated the backup tool. There was slight error, and the backup could not be loaded easily. have fun.
@robots?ÿ Have you downloaded functional firmware, erased the memory and then uploaded the firmware and it still works the same?
I did read your github notes and it seams that you fixed an error that would not pass the above test??ÿ
@bugg I have used different method to get the firmware. But when i built the "backup" tool to automate everything, i was lazy to test it and i copied mistake from different program.
Now it should be correct. Ill test it for you this evening. I have station that cant loose anything 🙂 I got it cleared.
I just posted latest fix to the upload utility. I have made so many changes, but never actually tested it. I did it now.
First screenshot is from backup utility. It takes 10 minutes or so, very slow over 9600 baud rate line.
Upload is also very slow, there is no counter, i was lazy to make one, it just shows which line is uploaded. After the end it will write "bad" but, its just that it didnt receive any reply. It takes a while for the station to boot and it timeouts sooner. Meh, i don't care 🙂 If you care, fix it and send fix 🙂
Just to make it clear: i just downloaded FW from my station, cleared it, and reuploaded the memory content. Correctly. Station is turned on now, shining laser on my wall and making UUUUU sound.
Testing is OK then!?ÿ ?ÿ Well done! I am rather busy with other things for a couple of weeks but I will let you know when I have tried it.
I have added another tool - to upload full memory dump back into 600 CU. Problem is with creating of the dump. Right now i do that by replacing EPROM with modified one, that allows to dump whole memory. Original dumps only few kB of ram.
@robots?ÿ One idea would be if it is possible the modernize the 5600 code with a point cloud function? Sweep an area using servo and fire away thousands of measuring points. Would increase the usability and value of the units. Or are the storage capabilities too slow?
@bugg you can do that externaly with serial commands. Just do the math, how many points? 1000? 10000? 1000000? how long does it taoe for edm to calculate distance? Multiply it by how many points you want and you are screwed. It will not fit into your workday.
Excellent product,?ÿ
First and only working prototype of "geodimeter multi interface".
This device serves multiple purposes:
- 400/4000/500 station programmer, also talks to 200 distance meter.
- serial port connection to 400/4000/500 stations (mostly for debug, and/or other uses)
- radio interface - for 600 station
- it provides output for hobby servos for 400/500 station calibration
First 2 points are already verified and working. The radio needs lot of firmware coding. Not done yet - corona lockdown was released and there is little time to work on hobby projects.
Calibration was tested on my own 400 station. I have been able to calibrate VA axis, bud no time to test HA axis. I have mechanical problem on this axis.
?ÿ
Hi robots, I am new to the site. Is there a way to upload this firmware to my Geodimeter 540n? If I get a serial cable to USB will it communicate with Windows 10? Thanks for your help and expertise you are a savior!?ÿ
I am having problems reading out my 5602 , see pic.
Any suggestions ?
?ÿ
?ÿ
@hvac you need to do this on station without CU. otherwise you are talking to CU and not station. Second ... what is your firmware in station ? you should see that by sending ? command over terminal
@lazyfern no ... 400/500/4000 stations need special interface to communicate. And your station still has firmware, its only missing calibration and some other variables.
Station is turned on now, shining laser on my wall and making UUUUU sound.
If you don't mind, what exactly is all this for??ÿ What Total Station are you using with laser on wall??ÿ Thanks!
@timd1971 all geodimeter stations (since digital age) have battery inside. This battery makes memory inside of the station not forget stuff. By stuff i mean: Calibration constants for angular sensor, calibration for servo board (if there is one), tracker, various constants used in computations (in gdm210 all math constants).
Since last year or so all geodimeter stations are not supported by Trimble, only way to make "service" on your station is to bring it to shop that already serviced it (they still might have copy of the calibration constants).
Ah yes, those calibration constants - they do not change at all. Its not like they calibrate each sensor separately. They upload the same data into station as factory did, check mechanical alignment, grease, oil and return your station. Yes you get new battery that costs 5USD. But the cost is nowhere near 400-600-1000USD as they ask.
So with these tools, you can make copy of the internal memory of station and CU and you can change battery yourself at home and later reupload content of memory. And if you are careful enough not to drop your station to ground/hard surface chances are that the mechanics is intact. (or if you get sand inside, you are in trouble). You then make the alignment that's in manual, and your station is good to go.
?ÿ
Problem is that there is very little number of 400/500/4000 stations still working. So i am working on how to calibrate these at home. It should be same for 600 station, but its still long way to be done. And if someone is going to argue that this calibration is not precise enough as factory calibration - yes you are right, but for playing it is ok 🙂 i am not surveyor.
@robots Thanks for the detailed explanation! I did not get this answer when I asked multiple repair shops, and all of them do not service these older units anymore. The person who sold the geodimeter to me failed to tell me that the internal battery was shot. I was getting error 54 (no internal communication). I was also told that I had a large paperweight and better off making this museum piece! Hoping I can revive this unit with your help, thanks!