Help establishing a connection BotVac 85 serial with raspi

News and information about the Neato XV-11 Robotic Vacuum. All discussion and troubleshooting questions go here.

Help establishing a connection BotVac 85 serial with raspi

Postby MadAEng » July 9th, 2019, 9:29 am

Hi all,

I'm currently working on a project to integrate a pi zero W in my neato Botvac.
Connecting it by way of a USB cable was pretty straightforward, tried that out according to this method: https://www.instructables.com/id/How-to-Control-a-Neato-Robot-From-a-Raspberry-Pi/

However, since I want to be able to use it differently then in that thread, the USB port was not an option as that didn't fit with the dust bin in.
So, I decided to use the RS232 port on the BotVac board instead, connecting the pi's UART port with a MAX3232 board
https://www.sparkfun.com/products/11189
to convert the signal suitable for the RS232.

The MAX3232 draws its power from the pi and everything is hooked up as follows, with the only differences being that I used the 3V3 pin on the pi, and I don't utilise the 'bottom' part of the BotVac board.
Image
Image
Image

I've disabled the terminal on the pi, and tried to connect to the BotVac using
Code: Select all
sudo screen /dev/ttyS0
(instead of
Code: Select all
sudo screen /dev/ACM0
)

However, whenever I try this, screen is non-responsive to any input and I have to CTRL-A CTRL-D out of it. I figured I may have switched the rx&tx, but switching those is to no avail either.

Does anyone have any clues on where the problem may lie?
MadAEng
 
Posts: 8
Joined: June 26th, 2019, 12:39 pm

Re: Help establishing a connection BotVac 85 serial with ras

Postby valamilamasag » July 10th, 2019, 5:49 pm

MadAEng wrote:Does anyone have any clues on where the problem may lie?


Yes. You just killed the serial port on the botvac in the best case or did unknown amount of other damage to SOC.
Its a 3.3V TTL serial on the botvac, you could have just connected directly to the PI with two 1kohm resistors.
The MAX3232 creates RS232 level voltages which are up to +-15V (30V swing). The SOC on the botvac operates at 3.3V IO voltage and 1.8V (or 1.2V) core voltage, thus anything under 0V (MAX3232 outputs -15V) or over 3.3V (MAX3232 outputs +15V) will damage the SOC.
valamilamasag
 
Posts: 16
Joined: March 19th, 2018, 5:31 pm
Location: Hungary

Re: Help establishing a connection BotVac 85 serial with ras

Postby MadAEng » July 11th, 2019, 5:45 am

valamilamasag wrote:
MadAEng wrote:Does anyone have any clues on where the problem may lie?


Yes. You just killed the serial port on the botvac in the best case or did unknown amount of other damage to SOC.
Its a 3.3V TTL serial on the botvac, you could have just connected directly to the PI with two 1kohm resistors.
The MAX3232 creates RS232 level voltages which are up to +-15V (30V swing). The SOC on the botvac operates at 3.3V IO voltage and 1.8V (or 1.2V) core voltage, thus anything under 0V (MAX3232 outputs -15V) or over 3.3V (MAX3232 outputs +15V) will damage the SOC.


FML, wish someone told me that sooner....

Anyways. thnx for helping me solve that mystery.....
MadAEng
 
Posts: 8
Joined: June 26th, 2019, 12:39 pm

Re: Help establishing a connection BotVac 85 serial with ras

Postby valamilamasag » July 14th, 2019, 1:04 pm

MadAEng wrote: wish someone told me that sooner....


You were told in the other thread. There are countless posts here about that debug interface. You could have easily measured it too, even with a 1 dollar multimeter. Or read what RS232 is and from the measurements quickly determine that it is not RS232.
Alongside where you got the picture in the first post, there is a description about the interface. But pictures look pretty and reading is tiring right?

But I'm curious, did you managed to kill it? Or did one of the ESD/TVS diodes shorted itself and protected the SOC? MAX3232 can only supply a few mA (maybe 15) which if you are lucky sinked away by the protection diodes and dumped into the power line of the SOC.
valamilamasag
 
Posts: 16
Joined: March 19th, 2018, 5:31 pm
Location: Hungary

Re: Help establishing a connection BotVac 85 serial with ras

Postby MadAEng » Today, 7:19 am

valamilamasag wrote:
MadAEng wrote: wish someone told me that sooner....


You were told in the other thread. There are countless posts here about that debug interface. You could have easily measured it too, even with a 1 dollar multimeter. Or read what RS232 is and from the measurements quickly determine that it is not RS232.
Alongside where you got the picture in the first post, there is a description about the interface. But pictures look pretty and reading is tiring right?

But I'm curious, did you managed to kill it? Or did one of the ESD/TVS diodes shorted itself and protected the SOC? MAX3232 can only supply a few mA (maybe 15) which if you are lucky sinked away by the protection diodes and dumped into the power line of the SOC.


Apparently not clear enough, otherwise we wouldn’t be in this situation now, would we?
I appreciate your previous post cuz that is clear on what needed to be done!
I don’t have much of an understanding of what an RS232 is, and in hindsight, I completely don’t understand why that was brought up in the first place. Like I said in the other topic: I’m a n00b at this. But that is one lesson learned I guess.

Anyways, to answer your question: everything else seems to be working fine.
So on that basis and your apparent understanding of the circuit, in theory it should be possible to fix it by replacing the diodes, correct?
MadAEng
 
Posts: 8
Joined: June 26th, 2019, 12:39 pm

Re: Help establishing a connection BotVac 85 serial with ras

Postby glnc222 » Today, 10:24 am

Background: In the early days of personal computers, and until just a few years ago, serial interfaces were common for peripheral devices and can still be found today. RS232 is "Revised Standard" 232 for such interfaces, from a commercial, industrial main frame computing, not PC, world, with substantial "D" shape multi-pin connectors etc., and use 12v for contact over long cables. Display terminals, printers, teletype machines etc. could have these interfaces. So when referencing serial connections this standard may be mentioned, even though there are logic voltage level (on 5v supply with 2.5v logic high or true) interfaces within devices where cable distance is not an issue etc. Similar devices are used to generate and interpret the data pulses in both. Superseding this old tech are the high speed interfaces with USB and competitors (Apple etc.) today, with more complex signaling methods, differential voltages etc.; the old serial was limited in speed. You would not interface a disk drive with old serial, limited to a few thousand characters per second if even that (the fastest telephone modems were only 9600 bits per second). Serial connections may operate one character at a time while with USB, entire lines of text or data blocks are sent at once for speed as single blocks of hundreds of bits -- similar to disk drive interfaces common on those devices. Neato's USB connection uses software which originally was for a serial interface, where USB packets of single characters are sent at a time, allowing Terminal Emulator PC programs to work.
The serial connection uses timed pulses over a single wire sending one bit of data at a time, with a couple extra status signal wires; printers would typically use a parallel interface with multiple pins, sending all the bits in a character 8-bit byte at a time, the so-called Centronix printer connection (an old brand name). Parallel interfaces filled the need for high speed connections, until superseded by the super speed serial interfaces today. These are enabled by advances in the component electronics for speed. The data "bus" within a computer connects microprocessors with a parallel interface, up to 64 wires, one for each bit in a memory Word or Byte to memory components etc. and operates at the highest speeds within printed circuit boards.
In the RS232 age there was also a "current loop" as opposed to voltage based signaling method, which was used on teletypes machines (the most available early terminal device, with video terminals a luxury). It is suitable for even longer cables. It is still used in the "Midi" musical-instrument-digital-interface for many electronic keyboards, sound synthesizers etc. equipment, maybe for stage-capable use for performance. With MIDI each end is optically isolated as well, generating and receiving light within the interface (not an optical data line like available today) instead of electrical conduction, to protect equipment from any electrical problems in a stage environment with heavy lighting, temporary heavy power wiring, speaker systems etc. MIDI has been somewhat superseded by USB on newer music equipment. USB-to-MIDI adapters are sold.
glnc222
Robot Master
 
Posts: 4963
Joined: January 23rd, 2012, 9:19 pm
Location: North Carolina, U.S.


Return to Neato Robotics

Who is online

Users browsing this forum: BotFixer, BrettS, im1kissfan, jdong, KeldBroe, leonicholson, mfortuna, vic7767 and 438 guests