Add Omega2+ wifi/ssh to Neato XV robot vacuum
-
Bought a used robot vacuum (Neato XV-21 no wifi) with a non-functional display.
I found the following on the Neato's motherboard:
D38: USB D+, D-, and V+
Q2: 3.3v+
Battery Terminal: GNDI connected the Omega2+ in this way
3.3 Vin -> Q2
GND -> GND
USB+ -> D38
USB- -> D38
GPIO11 -> 1k resister -> D38This is the second XV (different model/year) for me to do this... it was a bit tricky finding the 3.3v source because this particular XV would "hibernate" by default until you plugged it in to an AC outlet or you pushed the button. So if you do this yourself keep the Neato LCD ribbon cable plugged, push the large button so the mainboard wakes up and you can probe for a 3.3v source near the ribbon cable on the main board. You should see several transistors/voltage regulators and be able to find one.
I have the Omega2+ GPIO11 -> the Neato USB Vin since you need to "disconnect" the USB cable for it to accept cleaning commands (otherwise it thinks it is tethered to a PC).
I can then enable USB serial with the following:
fast-gpio set 11 1
screen /dev/ttyACM0
help
clean
Ctrl-A Ctrl-k
fast-gpio set 11 0You can now ssh into the robot, manually control, or automate.
root@boubagarage:~# cat /etc/rc.local
#Put your custom commands here that should be executed once
#the system init finished. By default this file does nothing.#turn of the pin for USB V+ by default
fast-gpio set-output 11
fast-gpio set 11 0
sleep 1#signals boot complete but also sets up the serial port
#so that echo and cat from bash works similar to screen
/root/xv playsound 2exit 0
root@boubagarage:~# cat xv
#!/bin/bash
#/root/xv#error out if already high
fast-gpio read 11 | grep -v ': 0' && exit 1T="$(echo /dev/ttyACM* | awk '{ print $1 }')"
echo T="$T"#clear out old data
[ -e "$T" ] && cat "$T" > /dev/null && sleep 1fast-gpio set 11 1
while [ ! -e "$T" ]
do
sleep 1
T="$(echo /dev/ttyACM* | awk '{ print $1 }')"
done#emulate screen settings
stty -F "$T" -echo -icrnlcat "$T" &
sleep 1echo "$@" > "$T"
sleep 1echo "geterr" > "$T"
sleep 1fast-gpio set 11 0
-
This post is deleted!
-
@David-Duffey Awesome project! Definitely 2-Bullet Tuesday worthy.
For your code, if you add a line with just three backticks ``` before and after your code, it will format it and usually do some syntax highlighting!echo "like so"