Hacking the Electrolux Trilobite

Inside the Roomba and Scooba and more, Cool mods, Repair and Upgrades - including the all new iRobot Create Kit. Let's void that warranty baby!

Re: Hacking the Electrolux Trilobite

Postby Link » October 9th, 2011, 9:28 am

I did my best in optical tracking down the lines, hopefully this adds some light to it.....
Attachments
bxnbejkbk6pkegdaf.jpg
Link
 
Posts: 2
Joined: April 7th, 2011, 2:41 pm

Re: Hacking the Electrolux Trilobite

Postby Parker » October 18th, 2011, 11:17 am

Thanks for posting this. I guess only a few pins are needed for the serial link and the remainder are for controller diagnostics/debugging.
Parker
Robot Groupie
 
Posts: 58
Joined: November 29th, 2010, 2:08 pm
Location: UK and Europe

Re: Hacking the Electrolux Trilobite

Postby bhylak » October 19th, 2011, 10:40 am

Perhaps you could get a better view if you removed all the components.
Ben

Homemade Telepresence Robot:
http://mayarover.blogspot.com/
http://www.instructables.com/id/MAYA-Te ... nce-Rover/

There are only 10 types of people in the world. Those who understand binary and those who don't
User avatar
bhylak
Robot Addict
 
Posts: 1629
Joined: October 17th, 2009, 7:30 pm

Re: Hacking the Electrolux Trilobite

Postby vespaman » February 7th, 2013, 9:18 am

OK, so I accidently got two Trilobites last week-end. (Could not resist; good price and shape) :)

So:- now I have no excuse; while waiting for new batteries, I decided to take this a step further, and I thought I should check if any of you are still interested in the old Trilobite?

I notice that soon two years has passed since labude made contact with Prof. Henrik I. Christensen - a couple of years no? :) Not sure if labude is still around here, it might be a good idea to try to get hold of the documentation again.

Either way, I am going to document the connector one step further this weekend.
vespaman
 
Posts: 23
Joined: January 6th, 2011, 1:25 pm
Location: Sundbyberg/SE

Re: Hacking the Electrolux Trilobite

Postby vespaman » February 13th, 2013, 5:13 pm

Update:
The mapping of the connector was harder than I anticipated, mainly, because I did not see the signals I expected, and also due the very thick protective paint on the CPU, which makes it hard to measure the signal paths.
The PCB of the Trilobite that I used is a bit updated from the other pictures posted here, but only smaller changes it seams. For reference, my trilobites are ZA2's.
The main pins on the '332 for uart rx/tx seams unconnected, so either the only way to get to the serial protocol is to solder a connector onto them, or I'm on the wrong port. On the '332, it is also possible to program the TPU to do uart comm's, but I would have thought that they used it mainly for step motor control.
I will therefore solder in some cables on the dedicated port, and try to stimulate some response from the CPU by pushing data onto it in different baud rates.

Meanwhile, I decided to send a mail to Ulrik Danestad @Electrolux, and his answer was that they had decided internally not to disclose those documents, so it seams that the only way for us to get them is from someone with ending NDA's.

I''m also trying to get hold of a debugger for this processor, possibly I can get one from my previous employer, but they where not sure if they had them still (or had thrown them away), so only time will tell.
vespaman
 
Posts: 23
Joined: January 6th, 2011, 1:25 pm
Location: Sundbyberg/SE

Re: Hacking the Electrolux Trilobite

Postby vespaman » February 14th, 2013, 12:57 pm

Update:

Connected! :D

9600N81 connected to the '332 primary serial port at pin 75 and 76. Remember this is 5V interface!

Code: Select all
****  O'Tool/CPU32/A  Rel:3.57  SN:0000  T+  Dec 21 1994  CCC68k 1.2  ****

Trilobite TM  (c) Copyright 1995-2004 Electrolux AB
Revision voltage 1106 mV  HW 3  16 bit FPROM
Software revision:
113105401 r05
Software date:
070529 09:57:02
Compiled by Peter Dahl Electrolux FCLA AB (VM)
60 kHz Dual Band 8 Channel Sonar

Power on (batt2): 384 times.
Fan/brush 128:59 hrs. 400 380 charge cycles.
Revision ID 1106  seed 881215
OEM option: 0
RTC option: 1 (1:0)
Previous shut down cause: 18
Map search disabled
Temp batt 1 23.11C
Temp batt 2 22.75C
Motor voltages OFF 19.34 0.02 18.54 5.59 5.57 5.58 5.55
Enter main loop
UBAT: 19.4 V  19.3 V. U_CH: 18.7 V Lifted!


O'Tool is the real time operating system, which I incidently have been working with on a similar processor.
CCC68k is, I think, the Microtek Research C++ compiler.

Now, if we only had the protocol... I'll do some more testing

Unfortunately, on my unit, the Flash memory isn't a PLCC as with the earlier units, so I really need a BDM connection to get the machine code.


I wonder what that "Map search disabled" means... :shock:
vespaman
 
Posts: 23
Joined: January 6th, 2011, 1:25 pm
Location: Sundbyberg/SE

Re: Hacking the Electrolux Trilobite

Postby vic7767 » February 14th, 2013, 1:50 pm

Great effort getting that access and data. I also wonder about the mapping feature.
Roomba and Neato Mods, come visit: http://www.vic7767.com/

http://www.Robot-Doc.com/
User avatar
vic7767
Robot Master
 
Posts: 10177
Joined: January 14th, 2006, 8:31 pm
Location: Haughton Louisiana - USA

Re: Hacking the Electrolux Trilobite

Postby vespaman » February 14th, 2013, 3:08 pm

YES!! :D :D

Another break-through this evening: I found RX/TX on the connector. I think Electrolux deliberately made this tricky!!
The primary serial port on the CPU goes off to a hex inverting schmittrigger all tracks very hidden. This means that we don't have to do any soldering on the board, and infact, everything we need are available on the red connector.

I'm getting a bit low on energy now, but here's the complete mapping of the connector.
'*' is active low/inversion sign in table below.

1. *TX
2. +V Battery through 10R
3. *RX
4. ???
5. *IPIPE/DSO through 220R
6. VDD
7. *IFETCH/DSI throug 220R and 22K Pull down
8. *RESET
9. FREEZE
10. GND
11. *BKPT/DSCLK through 220R and 4K7 Pull up
12. GND
13. *BERR through 220R and 47K Pull up.
14. NC (goes to unpopulated resistor R68)

Numbering as specified in Links excellent picture earlier (helped me a lot!).

As you can see, pin 4 is still a mystery. I goes in an inner layer, so it is impossible to see where. I *think* it might go to the battery/charger area of the board, but I am probably mistaken.

Next task for me is probably to make an interface board, which gives correct rs232 levels and a standard debug connector.
vespaman
 
Posts: 23
Joined: January 6th, 2011, 1:25 pm
Location: Sundbyberg/SE

Re: Hacking the Electrolux Trilobite

Postby vespaman » March 2nd, 2013, 5:36 am

Haven't hapened too much, still waiting to see if I can get hold of a debugger from old job..
While waiting, I have made a cable for serial port and debugger interface which I use, even though it is 5V - not real RS232 levels, but it seams to work fine, the USB-RS232 adapter gets a bit warm though.
Attachments
dbg_cable.JPG
vespaman
 
Posts: 23
Joined: January 6th, 2011, 1:25 pm
Location: Sundbyberg/SE

Re: Hacking the Electrolux Trilobite

Postby vespaman » March 2nd, 2013, 6:06 am

I think the Trilobite debug outputs are quite nice, it always reports what up ahead, and what it is doing;

Code: Select all
Formatting transmitter band:
1472 027 1322 029
Start following wall
Track width 0 0 0 0 mm
Obstacle at -67 deg 2 cm
Starting wall trace (0 s) condition: 0
Batt2 low (3 s)Temp batt 1 20.95C
Temp batt 2 19.85C
, charger exists
Motor voltages OFF 19.72 0.16 18.92 5.76 5.75 5.75 5.73
Motor voltages ON 19.69 10.30 10.12 13.44 13.48 13.47 0.07


and

Code: Select all
Power on (batt1): 400 times.
Fan/brush 129:01 hrs. 400 380 charge cycles.
Revision ID 1107  seed 667468
OEM option: 0
RTC option: 1 (1:0)
Previous shut down cause: 15
Map search disabled
Temp batt 1 21.35C
Temp batt 2 19.86C
Motor voltages OFF 19.59 0.02 18.80 5.76 5.75 5.75 5.72
Enter main loop
UBAT: 19.6 V  19.5 V. U_CH: 19.0 V Lifted!
Motor voltages ON 19.56 10.30 10.03 13.44 13.48 13.47 13.44
Formatting transmitter band:
0344 008 0199 007
Start following wall
Track width 0 0 0 0 mm
Obstacle at -50 deg 5 cm
Starting wall trace (0 s) condition: 0
Found fence, following it


Especially reporting stuff like "Obstacle at -82 deg 10 cm" is very useful. It seams that it always reports the nearest obstacle, "Obstacle at 55 deg 107 cm" etc. It will be interesting to see how far the sonar reaches, it obviously pics up small items, so special setup needs to be done, since it has a very wide view ~180 degrees.

I have realized that I either need to make a treadmill for the trilobite, or get a wireless connection. I'm considering setting up a linux computer on/in the Trilobite, with a WiFi USB dongle.

Oh, and my last thoughts about the mysterious "pin 4" might be a way of starting up the trilobite when it is powered off.
vespaman
 
Posts: 23
Joined: January 6th, 2011, 1:25 pm
Location: Sundbyberg/SE

Previous

Return to Robotic Hacking

Who is online

Users browsing this forum: vic7767 and 116 guests