Skip to content

Demo Assembly

This Vision Demo lets you build an all-in-one image capture and display assembly run completely on the RP2350. We created this project to showcase the raw processing power and data transmission speeds of the RP2350 in a local environment. This project connects the waveshare OV5640 Camera Board along with a 2" LCD (coming soon to SparkFun!) to the RP2350 over SPI and the RP2350's HSTX-capable pins. The example takes a live video feed from the OV5460 and displays it with nearly no image lag at about 40fps. While this demo is only a local image, with some code modifications you could theoretically take the images and stream them over WiFi or Bluetooth to create a true IoT camera.

Hardware Assembly

Soldering

Before wiring anything up, make sure to solder headers (or wires if you prefer) to both the Thing Plus and the LCD board.

Photo demonstrating soldering headers to Thing Plus.

Display Wiring

The display used in this example connects over SPI along with a few other connections for power (VCC & GND), reset . The table below outlines the connections between the display and Thing Plus when read from Left to Right on the display.

Display Pin Thing Plus Pin Notes
GND GND Any ground pin
VCC 3V3 Power with 3.3V only
SCL* 19 Clock signal
SDA* 18 Data In. Called "Din" in example code.
RES 3V3 Reset pin. Pulled HIGH to 3.3V
DC* 17 SPI display data/command select pin.
CS* 16 SPI Chip select.
BLK NC Backlight pin.

The photos below show the wiring before and after seating the LCD on the breadboard:

LCD wiring without display connected.

If you're following this wiring to the letter, take note of the orange jumper wire netting the display's Reset pin to VCC/3.3V. Also note to align the Backlight pin with pin 30 on the breadboard and everything else will match up.

LCD wired and connected.

Camera Wiring

The camera wiring gets a bit more compliated than the display is it requires power and data signals as well as image processing signals that must be connected to sequential pins. Due to the design of the Thing Plus, this wiring may seem a bit confusing when looking at the board but if you refer to the schematic you can match up GPIO pins 0 through 7 to their respective labels on the board. The table below outlines these pin connections along with the rest required to wire the camera breakout to the Thing Plus:

Camera Pin Thing Plus Pin Label Notes
3.3V 3V3 3.3V only
GND GND Any Ground pin
SIOC 21 Clock signal. Paired with data to any I2C pin pair
SIOD 20 Data signal. Paired with data to any I2C pin pair
VSYNC A1/27 Can be any GPIO pin
HREF A2/28 Can be any GPIO pin
PCLK A0/26 Can be any GPIO pin
XCLK 11 Can be any GPIO pin
D9 SCL/7 Must be sequential GPIO pins
D8 SDA/6 Must be sequential GPIO pins
D7 5 Must be sequential GPIO pins
D6 POCI/4 Must be sequential GPIO pins
D5 PICO/3 Must be sequential GPIO pins
D4 SCK/4 Must be sequential GPIO pins
D3 RX/3 Must be sequential GPIO pins
D2 TX/2 Must be sequential GPIO pins
RST - Not connected
PWDN - Not connected

We made an ad-hoc wiring "harness" for the camera board by soldering wires to a couple of trimmed female headers so please excuse the wiring mess in the photos below show. The photos below show the wiring for the camera with and without the camera board connected to our harness. Users can try and recreate this or if you're making a more permanent installation you can solder wires directly between all three boards. Alternatively, you could use some jumper wires (perhaps either male/female or female/female).

Photo showing wiring without the camera board plugged in.

Photo showing wiring with camera board plugged in.

Threshold Pin

The code also includes a thresholding pin set to GPIO22 on the Thing Plus. Connect this pin to ground using a jumper wire. The threshold pin is configured as an input with pull-up so it starts as disabled (22 connected to GND) and can be enabled by disconnecting the wire from ground. The images above and below show this connection using an Orange jumper wire.

Completed Assembly

Make sure everything is wired correctly and your completed assembly might look something like the photo below:

Completed vision demo assembly.