Week 10

Networking and Communications

Bluetooth Board

This week I decided to make a board for bluetooth communication based on the RN4871 bluetooth module. The board itself was based on Neil's RN4871 board. On top of this baseline design I added two LEDs on the reccomendation of Rob Hart. One LED indicates that power is actually getting to the board and the other indicates connectivityt. I'm quite glad I included these because I had flaws in my design that these two LEDs helped in identifying. Also, shoutout to Rodrigo Escandón Cesarman and Jim Peraino from previous years. Their pages were helpful this week.

Below is my initial schematic. There are two problems with it. First, I'm not actually sending power to the board. This is not the first time I've done this but I think I have now actually (hopefully) learned my lesson. Second, I had my TX and RX mixed up on the FTDI cable. I haven't been using FTDI because I've mostly been using the SAMD chips. Basically, the "receive" (RX) on the FTDI cable needs to be connected to the "transmit" (TX) on the chip. This of course makes sense, but I was thrown off by the labeling in the schematic and connected the TX on the chip to TX on the cable.

Responsive image
Problematic schematic.

Responsive image
Problematic board.

Soldering the RN4871 is a bit tricky. I started by using a reflow technique but ultimately found it easier and more reliable to just solder by hand using a fine point solder tip in this case.

I realized I wasn't getting power to the board thanks to the power indicating LED and added a little jumper wire shown above. However, when trying to communicate with the chip with pyserial's miniterm I was just getting no response. After some confusion I realized the mistake and updated the schematic and board design seen below. Note that this week I made boards in the architecture shop on the Roland SRM-20.

Responsive image
Updated schematic.

Responsive image
Updated board.

Responsive image
Final board.

Once I had the new board milled and stuffed things were pretty straightforward. First, I connected the board to my laptop via FTDI cable. Then I used Bluetility to make contact with the board. The red LED blinking below indicates that a connection has been made.


I used the miniterm tool from pyserial to read messages sent from Bluetility to the chip. Once installed, "sudo miniterm.py" will list available serial ports to choose from. Once the terminal is running I entered the commands on the left. They don't show up unless echoing is turned on with the "+" command. "SN,GILRN4871" changes the name of the chip to make it easier to find.

Sending messages over bluetooth!

File: 201119_traces.png

File: 201119_outline.png