Cow Pi mark 3c Assembly Instructions (Raspberry Pi Pico form factor, SSD1306 OLED graphic display via I2C communication)

These are the instructions to assemble a Cow Pi circuit on a through-hole printed circuit board using a Raspberry Pi Pico or another microcontroller board that has the same form factor. [1]

Warning

Cow Pi mk3c PCBs produced in August 2023 have the Raspberry Pi Pico’s GP02–GP17 pins mislabeled as GP03–GP18. Boards with this defect can easily be identified by examining the labels for the SPI pins to see if there are two pins labeled GP18.

../../_images/defective-mk3c.png

If you have one of these boards, we recommend that you correct the error by re-labeling pins GP02–GP17 with a label maker.


Prepare to Assemble the Cow Pi mark 3c

Required and Optional Components

various electronic components that are described in the accompanying text

Fig. 63 Components for a Cow Pi mk3c development board, prior to assembly.

The components for a Cow Pi mk3c development board are:

  • One (1) Cow Pi mk3c printed circuit board

  • One (1) Raspberry Pi Pico with headers

    • Shown are a Raspberry Pi Pico H, which has the headers pre-attached, and an original Raspberry Pi Pico, which does not have the headers pre-attached. This is to illustrate the two options; you only need one Pico, not two.

  • Four (4) PCB “feet”

    • Shown are nylon spacers; many other options are viable.

  • Two (2) 2x20 female headers with 0.1 in (2.54 mm) spacing

  • Nineteen (19) 6mm 4-prong tactile switches

    • You do not need the colorful ones shown in the photo.

  • Two (2) “breadboard compatible” SPDT slide switches

    • “Breadboard compatible” is how these switches are often described; they need three pins with 0.1 in (2.54 mm) spacing, regardless of whether they are described as “breadboard” switches.

  • One (1) SSD1306-driven OLED graphic display module with header

    • Specifically, the display module needs to have four pins in the left-to-right sequence: GND VCC SCL SDA

  • Two (2) LEDs

  • Optionally one (1) piece of cork sheet or other insulating material, approximately 1 in (25 mm) square

  • One (1) Adafruit “4-channel I2C-safe Bi-directional Logic Level Converter” with headers

    • Electrically, any similar device will work; however, the PCB expects this particular device’s pin arrangement.

  • Sixteen (16) general-purpose rectifier diodes

    • Shown are 1N4448 diodes; however, nearly any other common rectifier diode will do.

  • Two (2) current-limiting resistors for the LEDs

    • Shown are 1 kΩ resistors; any resistor value that keeps the current within the LED’s rating and the RP2040’s pads’ rating, and that allows for an appropriate illumination level, will do.

  • One (1) mini-breadboard with adhesive backing

Tools and Expendables

  • Soldering iron

  • Solder

  • Small fan or fume extractor

  • Suitable eye protection

  • Wet sponge and/or copper wool

  • Recommended soldering vise or clamp

  • Optional magnifying glass

  • Adhesive tape (does not need to be electrical tape)

  • Needle-nose pliers

  • Diagonal cutter

Note

Except as noted, all components should be mounted on the top of the board. Only the “level converter” and the “feet” should be mounted to the bottom of the board.

Attach Headers to Components

The  "level converter" and the display module resting on their headers' pins; the headers have been inserted into the mini-breadboard.

Fig. 64 Ready to solder the headers to the “level converter” and the display module.

:[   ]:

Using the mini-breadboard as a jig, solder the headers to the “level converter”.

:[   ]:

Using the mini-breadboard as a jig, solder the headers to the display module.

:[   ]:

If your Raspberry Pi Pico does not already have headers attached, solder the headers to the Pico.

  • Even though mini-breadboards do not have enough rows to hold all of the pins in the Pico’s headers, some mini-breadboards have borders that are narrow enough for the headers to straddle the borders. If this is the case for your mini-breadboard, then you can use your mini-breadboard as a jig when attaching the Pico’s pins.

  • Otherwise, you will need to use a half-sized (or full-sized) breadboard as a jig when attaching the Pico’s pins.

Attach the Pico’s Sockets and Voltage Converter

One of the 2x20 female headers is taped to the circuit board

Fig. 65 Ready to solder the lower socket to the circuit board.

:[   ]:

Mount the circuit board in your soldering vise.

:[   ]:

Insert one of the 2x20 female headers into the lower set of holes for the Raspberry Pi Pico (the set that includes the labels 5V and 3V3).

:[   ]:

Tape that header in place.

:[   ]:

Turn the board over and solder all 40 pins on the 2x20 female header to the board.

The "level converter" resting on the back of the circuit board near labels indicating its correct orientation

Fig. 66 Aligning the voltage booster.

Important

The Adafruit Level Shifter will be mounted to the underside of the circuit board, straddling the pins of the socket that you just attached.

:[   ]:

Note the labels for the Level Shifter.

The Level Shifter’s LV pin will go in the hole labeled 3V3, and the Level Shifter’s HV pin will go in the hole labeled 5V.

../../_images/blank.png

Fig. 67 Attaching the voltage booster

a

../../_images/voltage-booster-without-cork.jpg

Voltage booster inserted without cork sheet.

b

../../_images/cork-attached.jpeg

Voltage booster’s pins piercing the cork sheet.

c

../../_images/level-booster-with-cork.jpeg

Voltage booster inserted with cork sheet.

There should be enough clearance between the socket’s pins and the underside of the Level Shifter that you do not need to use cork sheet to isolate them (Fig. 67(a)). However, if you are a “belt and suspenders” type of person (or if there is not enough clearance) then you can use cork sheet (or other insulating material) to be sure that the socket’s pins do not scratch the Level Shifter’s solder resist and come into contact with copper on the Level Shifter’s PCB (Fig. 67(c)). The only consequence of unnecessarily using cork sheet is that the PCB “feet” you will use will need to be about ⅛in (3mm) longer than they otherwise would need to be.

:[   ]:

Optionally pierce the cork sheet with the Level Shifter’s pins (Fig. 67(b))

:[   ]:

With the Level Shifter’s LV and HV pins lined up with the 3V3 and 5V holes, respectively, insert the Level Shifter into its holes, straddling the socket’s pins.

Attention

CHECKPOINT 1 | Before proceeding further, have a TA, a classmate, or a friend verify that the Level Shifter’s LV pin is in the 3V3 hole, and the HV pin is in the 5V hole.

:[   ]:

Tape the Level Shifter in place, turn the circuit board over, and solder the Level Shifter’s pins to the circuit board.

With both sockets inserted into the circuit board, a Raspberry Pi Pico is partially inserted into the sockets

Fig. 68 Aligning the sockets for the Raspberry Pi Pico.

Despite your best efforts, the lower socket probably is not perfectly perpendicular to the circuit board. That’s okay, because it’s more important that the lower socket and the upper socket be parallel to each other. You will use the Raspberry Pi Pico as a jig to assure this alignment

:[   ]:

Insert one of the 2x20 female headers into the upper set of holes for the Raspberry Pi Pico (the set that includes the labels UART TX and UART RX).

:[   ]:

Rest the Raspberry Pi Pico’s pins in the inner set of holes in each socket.

:[   ]:

Gently press on both ends of the Raspberry Pi Pico, inserting it into the sockets just enough that a light tug will not remove the Pico from the sockets (Fig. 68).

../../_images/blank.png

Fig. 69 Attaching the upper socket

a

../../_images/tacking-upper-socket.jpeg

Tacking the upper socket in place.

b

../../_images/upper-socket-finished.jpeg

Both sockets are attached.

:[   ]:

Turn the circuit board over (underside up), and tack the upper socket in place by soldering its four corner pins to the circuit board (Fig. 69(a)).

:[   ]:

Turn the circuit board over (topside up), and remove the Raspberry Pi Pico from the sockets.

:[   ]:

Turn the circuit board over (underside up), and solder the remaining pins to the circuit board (Fig. 69(b)).

Attach Discrete Components

The nineteen tactile switches inserted into the circuit board

Fig. 70 Tactile switches inserted into the circuit board, ready to be attached.

:[   ]:

Insert the nineteen tactile switches into the circuit board

  • Sixteen for the matrix keypad

  • Two for the left & right pushbuttons

  • One as a RESET button

You do not need to tape the tactile switches in place: the spring tension in their prongs will hold them in place while you solder.

:[   ]:

Turn the circuit board over, and solder the tactile switches’ pins to the circuit board.

The two slide switches inserted into the circuit board

Fig. 71 Slide switches inserted into the circuit board, ready to be attached.

:[   ]:

Insert the slide switches into their holes, and tape them in place.

:[   ]:

Turn the circuit board over, and solder the slide switches’ pins to the circuit board.

A resistor with one of its leads folded over, being held with a pair of needle-nose pliers. In the background, another resistor has already been inserted into the circuit board.

Fig. 72 Inserting the resistors into the circuit board.

:[   ]:

Place two approximately-90˚ bends in one lead of one of the resistors.

Tip

If the second bend isn’t quite 90˚, leaving the two leads slightly oblique to each other, then spring tension will help hold the resistor in place while you solder it to the circuit board.

:[   ]:

Locate one of the pairs of holes that has a resistor symbol next to it.

:[   ]:

Insert the resistor into that pair of holes, with the resistor’s barrel in the hole surrounded by a circle.

:[   ]:

Similarly bend one lead of the other resistor, and insert it into the other pair of holes.

:[   ]:

Turn the circuit board over, and solder the resistor’s leads to the circuit board.

:[   ]:

Snip the excess leads.

Fingers holding an LED next to the circuit board so that the LED's shorter lead is near a square solder pad, and the longer lead is near a round solder pad.

Fig. 73 The LED’s shorter lead goes into the square solder pad.

Important

An LED’s shorter lead is its cathode, and its longer lead is its anode. The LED will not function if it is inserted backwards.

:[   ]:

Locate the pairs of holes that have LED symbols next to them. Note that the symbols indicate that the cathode should go into the holes with the square solder pads.

Attention

CHECKPOINT 2 | Before proceeding further, have a TA, a classmate, or a friend verify that you are about to insert the LED’s shorter lead into the hole with the square solder pad, and the LED’s longer lead into the hole with the round solder pad.

:[   ]:

Insert the LED into its holes.

:[   ]:

Insert the other LED into its holes.

:[   ]:

Tape the LEDs in place, turn the circuit board over, and solder their leads to the circuit board.

:[   ]:

Snip the excess leads.

A diode with one of its leads folded over, being held with a pair of needle-nose pliers. In the background are diodes with bent leads and other diodes without bent leads.

Fig. 74 Preparing the diodes.

Important

A diode’s cathode is the end with a bar on the barrel, and its anode is the end opposite the bar. The diode will not function if it is inserted backwards.

:[   ]:

Place two approximately-90˚ bends in the anode lead of one of the diodes.

Tip

If the second bend isn’t quite 90˚, leaving the two leads slightly oblique to each other, then spring tension will help hold the resistor in place while you solder it to the circuit board.

Attention

CHECKPOINT 3 | Before proceeding further, have a TA, a classmate, or a friend verify that you bent the anode lead and not the cathode lead.

:[   ]:

Similarly bend the anode leads of the other fifteen diodes.

:[   ]:

Locate the pairs of holes that have diode symbols next to them. Note that the symbols indicate that the cathode should go into the holes with the square solder pads. Notice also that each of these square solder pad have circles surrounding them, further indicating that the diode’s barrel should be above this solder pad.

Two diodes inserted into the circuit board. Their barrels are over the square solder pads that are surrounded by circles, with the bars on the downward ends.

Fig. 75 Diodes inserted into the circuit board.

:[   ]:

Insert two diodes into the circuit board, with the diode’s barrel in the hole surrounded by a circle. Consequently, the cathode – the end with a bar – should be inserted into the hole with the square solder pad.

Attention

CHECKPOINT 4 | Before proceeding further, have a TA, a classmate, or a friend verify that the cathode is in the hole with the square solder pad, and the anode is in the hole with the round solder pad.

:[   ]:

Turn the circuit board over, and solder the diode’s leads to the circuit board.

:[   ]:

Snip the excess leads.

:[   ]:

Two at a time, insert the remaining diodes, solder their leads to the circuit board, and snip the excess leads.

Two diodes being soldered to the circuit board. Other diodes have already been attached, and a few holes are empty, waiting for other diodes.

Fig. 76 Soldering diodes to the circuit board.

Attach Display Module

The display module held to the circuit board with tape

Fig. 77 The display module held to the circuit board with carefully-placed tape.

:[   ]:

Insert the display module into the circuit board.

:[   ]:

Attach tape to hold the display module to the circuit board, taking care not to attach tape directly to the display itself.

:[   ]:

Turn the circuit board over, and solder the display module’s pins to the circuit board

Attach Remaining Components

The circuit board with nylon spaces inserted into the board's mounting holes

Fig. 78 The circuit board with nylon spacers inserted into the board’s mounting holes.

:[   ]:

Remove the circuit board from the soldering vise.

:[   ]:

Insert a PCB “foot” into each of the circuit board’s mounting holes.

The circuit board with the mini-breadboard attached

Fig. 79 The circuit board with the mini-breadboard attached.

:[   ]:

Remove the covering from the mini-breadboard’s adhesive backing

:[   ]:

Place the mini-breadboard in the rectangle labeled “Mini-Breadboard”

The circuit board with the Raspberry Pi Pico inserted into its sockets

Fig. 80 The circuit board with the Raspberry Pi Pico inserted into its sockets.

:[   ]:

Rest the Raspberry Pi Pico’s pins in the inner set of holes in each socket. Be sure that the Pico’s USB connector is over the “USB” label on the circuit board.

:[   ]:

Gently press on both ends of the Raspberry Pi Pico, inserting it fully into the sockets.



Kit Assembly is Complete

../../_images/complete-front.jpg ../../_images/complete-back.jpg

You have now finished assembling the Cow Pi mark 3c.


The schematic diagram of the Cow Pi mark 3c

Fig. 81 The schematic diagram of the Cow Pi mark 3c.