GBAmp3 Mod PCB Order Now
also available at retromodding.comand Deadpan Robot

Monday, September 28, 2015

Neato Botvac Lidar Repair Part 2: Lidar PCB Replacement

So the final fix will be replacing Lidar turret. But as I said in the part 1 of Neato Botvac Lidar Repair I could not find Botvac Lidar turret to replace. But there are many XV Lidar turrets available on eBay and Amazon.
And they are different. XV series turret has mechanical data and power connection between spinning turret head and base using sliding contacts. This is major point of failure of XV series turrets. And Botvac turret has optical data connection to the base and wireless power, so no contacts would fail. Well how do we replace the Botvac turret using XV series turret if they are not compatible?

Let's take them apart and compare. I removed housing from both units.
As you can see there is a bit different lens and different laser diode housing.

The same 3 wires from laser diode and 5 wires from Lidar PCB soldered to the base. Also a note, that connector for a laser diode may go loose because of rotating vibrations and such. This is a point of failure which cause "can not see" errors. Easy to fix though, just pull it out and reseat. Also cleaning might help, and also metal pins inside laser wire part can be loosen and should be squeezed to sit tighter in the pcb connector.

This is how data and power transferred to Lidar PCB. XV one has rotary sliding connections. And Botvac one has optical data feed and power transfer inductor coil (like wireless Qi charging). There is another coil inside Botvac which produces power and this coil on the Lidar base pcb is receiving power.

Here on the Botvac Lidar base pcb you can clearly see ir detector diode to receive data and ir led to send data back to Botvac. Also there is diode bridge with linear voltage regulator ic to convert AC power from coil to DC power needed for Lidar.

OK, here is a main part. I desoldered Lidar PCBs from bases. Take a closer look. What do you see? Yes, they are exactly the same. They have the same revision/model number and date. So they should be interchangeable. Botvac one has flux residue all over the place because I was retouching it like there was no tomorrow.
They may have different firmware version though. I actually forgot to check that. Because when I soldered Lidar PCB from XV to the base PCB from Botvac and run tests, it just works. Here what the output looks like with working Lidar turret. No 8055 error codes. There was several 8035 errors, but it is because turret head cap has "legs" which cause Lidar to think that something is too close. But robot "knows" about turret cap and ignores that errors.
getldsscan
AngleInDegrees,DistInMM,Intensity,ErrorCodeHEX
0,664,229,0
1,662,266,0
2,670,222,0
3,682,249,0
4,687,306,0
5,684,281,0
...
352,676,464,0
353,678,472,0
354,681,477,0
355,684,440,0
356,688,437,0
357,692,422,0
358,696,422,0
359,700,386,0
ROTATION_SPEED,5.12

And this is how bright laser diode should look like through IR webcam.
Much brighter than on the picture from part 1, isn't it?
Botvac is fixed and works pretty fine since then.