We were out in a field taking pictures of C.H.I.P.py Ruxpin –as you do when you have a C.H.I.P.-powered talking bear– and I wanted to get C.H.I.P.py to comment on the weather.
Lacking my laptop and with no clue of C.H.I.P.py’s IP address, what was I to do? Easy. Use three wires to directly connect C.H.I.P.py and PocketC.H.I.P.. With a few commands on PocketC.H.I.P., it’s easy to setup a connection and gain shell access to the bear (or any other device with exposed TX, RX, and ground). Here’s how I did it.
- Three wires (18 AWG) – these don’t need to be fancy wires, but if you want to make them more robust, twist the wires using a drill, add header pins, and heatshrink tubing. Here are some great cable creation tips.
- PocketC.H.I.P. – you could also use C.H.I.P. to connect to other devices using the same commands, however, since there’s no screen on C.H.I.P., I didn’t use it.
1. Connect to target device
The connection between the two devices needs to share a ground wire and cross the TX and RX wires. The main reason I made this fancy wire is to have a cable with the TX and RX lines already crossed. This way I don’t have to think about wiring, I just make sure the ground pin is plugged into the proper pin.
Ground — Ground
TX — RX
RX — TX
2. PocketC.H.I.P. Setup
Power-on PocketC.H.I.P. and launch a terminal from the drop down menu.
Stop the tty that’s running on /dev/ttyS0 using systemd.
systemctl stop serial-getty@ttyS0.service
Ensure the wires are connected correctly (something my fancy cable already takes care of), then grant permissions to root for PocketC.H.I.P.’s /dev/ttyS0.
chmod a+rw /dev/ttyS0
cu -l /dev/ttyS0
To end the cu connection, simply type ~. and the connection will terminal.
Note: Learn more about cu here.
This method is great for more than just talking bears! When I need to setup a C.H.I.P. and don’t want to lug out a monitor and keyboard this is my default approach. Best of all, this trick works for any computer or device that exposes Ground, TX, and RX pins and has a UART. So the next time you need to access an unconfigured device, grab three wires and PocketC.H.I.P.!