Connecting the Octasonic Board to a Raspberry Pi

These instructions will guide you through connecting the Octasonic Board to the Raspberry Pi. Note that you will need to use a Bi-Directional Logic Level Converter because the Octasonic Board requires 5V and the Raspberry Pi is 3.3V.

I have only tested using this one from SparkFun. If you want to use a different one, make sure it is bi-directional and supports SPI. I will not be able to provide support though if you do not use the SparkFun one.

Connect the Octasonic Board to the Logic Level Converter and Raspberry Pi

Using the following photo as a guide, connect six wires from the Octasonic board to to the High Voltage (HV) side of the Logic Level Converter, and connect one wire from the AVR block to the 5V pin on the Raspberry Pi.

The connections from the Octasonic to the Logic Level converter should be as follows:

Octasonic Logic Level Converter
5V HV
SCK HV4
MISO HV3
MOSI HV2
SS HV1
GND GND

Connect the Raspberry Pi to the Logic Level Converter

Using the following photo as a guide, connect six wired from the Raspberry Pi to the High Voltage (HV) side of the logic level converter.

Connect the 5V pin to the AVR block of the Octasonic Board as shown in the previous section. This is used to power the Octasonic Board.

The connections from the Raspberry Pi to the Logic Level converter should be as follows:

Raspberry Pi Logic Level Converter
3.3V LV
GPIO08 (SPI_CE0_N) SS LV1
GPIO10 (SPI_MOSI) LV2
GPIO09 (SPI_MISO) LV3
GPIO11 (SPI_SCLK) LV4
GND GND

Enable SPI on the Raspberry Pi

The Octasonic board will not work unless you enable SPI on the Raspberry Pi using the Raspberry Pi Configuration Utility.

SparkFun has written a tutorial explaining how to do this.

The Raspberry Pi must be rebooted once SPI is enabled.

Testing the Octasonic Board

Now that the board is connected, we can run a simple program to make the LED on the board blink. This verifies that the connections are correct and that the firmware is installed on the board.

Go to the octasonic-rs GitHub repository and follow the instructions there to run the blink example. There are more detailed instructions for this step in the Instrtucable.