Raspberry Pi Projects

I have been experimenting with the GPIO on a Raspberry Pi Model B (26-pin GPIO)

I was testing clock output and so far I've tried it from about 1.5mhz to about 80mhz. It is interesting to note that the voltage drops the higher the freq.

RPI-gz_test_00.jpg

1.2 MHZ

RPI-gz_test_01.jpg

83.3 MHZ

I plan on using this relay board controlled by the Pi

relay-pcb-01.jpgrelay-pcb-02.jpgrelay-pcb-03.jpg

2018-06-12

Humble Pi Assembly Instructions with Regulator Kit

I have decided to build my last (2) of these units for some new prototyping work I am doing now on the Pi 1 Model B. I know, it is so ancient but it works well and is reliable. .

These boards are long extinct so I am recreating the assembly instructions because I noticed several decent articles had disappeared since the last time I built one of these around 2012. I didn't take any pictures or write anything about it back then but I am going retro tonight and will do this. This will hopefully recreate a set of instructions which are really very simple but should be documented for at least posterity.

2018-06-12-rp-humble-pi-004.jpg 2018-06-12-rp-humble-pi-005.jpg

Hopefully some day when the lonely hacker gets their hands on one of these and has a useless Raspberry Pi 1 Model A or B and wants to assemble the kit and then a bit of common sense, a few tools and maybe this article will suffice. I noticed almost all of the documentation on building them or which components has disappeared. You can still find a few traces of the assembly on the wayback machine so check there also.

2018-06-12-rp-humble-pi-001.jpg

I am still not really completed, I was unable to locate my header strips and need to make (2) 13-pin strips to add a second piggyback header on top of the Humble Pi. I also need a (2) pin header added to select internal or external power. I built this board with the 3.3V regulator. I will build the second Humble Pi board for 5V as well so I can interchange as needed. I ordered some new header strip and will complete this unit soon.

The power kit for the Humble Pi includes (2) voltage regulators LD33V LD1117V33 (3.3v) and LD50V (5.0v) and the writing on my regulators was almost impossible to read with a magnifying glass in very bright light. Anyway you will choose 3.3V or 5.0V when you build the unit. There are (2) electrolytic capacitors, There is a three-pin PCB barrel connector.

2018-06-12-rp-humble-pi-002.jpg2018-06-12-rp-humble-pi-003.jpg

This is what you get with the main kit, a PCB, the 26-pin GPIO connector and a plastic bolt with nut. This turned out to be useless for me as there was no hole in the RPI pcb that matches. I suspect this hole was only on the first Raspberry Pi Model 1. It was a good idea to stabilize the Humble Pi. Too bad it can't be used on this RPI 1 Model B.

2018-06-12-rp-humble-pi-007.jpg

Insert the 26 pin GPIO female connector into the bottom of the PCB with the pins coming up through the top. Make sure when aligning the holes that you avoid the first 2 pads marked 3.3v and 5.v..

Solder all 26-pins on the 26-pin GPIO connector.

Attach the barrel connector,it has three legs and needs to be placed as shown in the finished picture above and solder this. When you solder that on, fill the entire space with solder on each pin. This is so it would be strong in a structural sense and hold up to normal use of plugging and unplugging the external power cable. This is a 2.5mm standard connector.

Now we can attach the electrolytic capacitors, they are polarized so you have to make sure to orient the leads correctly. Just remember the long lead is positive. The two values are C1: 25v 10uf and C2: 16v 100uf. The PCB is clearly marked with a minus (-) symbol on the pads where you will solder them so it is easy to orient them properly. The PCB also details which values are to be installed on which pad.

The pins of the voltage regulator are clearly-marked as well.

You can get some header strips and solder in a second 26-pin GPIO piggyback connector to allow you to attach another PCB or a GPIO cable, etc. on top of this board

2018-06-12-rp-humble-pi-006.jpg

2018-06-20

I was ale to get this Humble-Pi completed a couple days ago after receiving some breakaway headers.

2018-06-20-rp-humble-pi-001.jpg

2018-06-25 I was revisiting some basic GPIO stuff today, it has been a long time!

2018-06-26-rp-led-001.jpg

Using a PI for simple I/O is quick and easy.

You connect your breadboard to the GPIO and pick the GPIO pins you want to use. Set up your circuit so that any output or input is connected and ready to be used by the Pi. In this case, we will light an LED.

Attach the anode of the LED to the particular GPIO pin you want, in this case GPIO 25. Connect the cathode to ground from the Pi's GPIO cable. As root just do the following:

echo "25" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio25/direction
echo "1" > /sys/class/gpio/gpio25/value # led on
echo "0" > /sys/class/gpio/gpio25/value # led off

Since the Pi asserts a logic 1 (3.3v) on the anode of the LED, it will Illuminate.

gpio-led-output.jpg

It really this simple to perform GPIO output. You can do it from a bash script even.

2018-06-27 It is equally simple to read inputs like switches.

2018-06-27-rp-dipswitch.jpg

Attach a dipswitch (straddle the two sides) to the breadboard. Make sure the switches are off. Then attach one set of contacts on the dipswutch as follows. First attach one side of the dipswitch to GPIO23, this is the INPUT. Then attach the opposite contact on the dipswitch to +3.3v. source from the Pi. Now we need to attach a 10K ohm resistor on the INPUT side of the dipswitch. The resistor should be attached to ground. This will keep the GPIO pin from floating which may cause some unpredictable behaviout in any software listening to the GPIO input.

Once you have verified that everything is connected, you can use the following sequence of commands to read the switch states.

root@terminal-02:/# echo "23" > /sys/class/gpio/export
root@terminal-02:/# echo "in" > /sys/class/gpio/gpio23/direction
root@terminal-02:/# cat /sys/class/gpio/gpio23/value #switch is open, close switch now.
0
root@terminal-02:/# cat /sys/class/gpio/gpio23/value # switch is closed
1
root@terminal-02:/#
gpio-switch-input.jpg

2018-07-07 I installed a power indicator on the 3.3v version of the Humble Pi board regulator output.

2018-07-07-rp-humble-pi-002.jpg

I think it is a much-needed addition though I might want to replace this large red led with something much smaller. The power supply is 5V-20A so there is a lot of power available.

I am using one of my bench supplies feeding a distribution panel with this output on a 5A fuse. I am sure that will be enough for anything I will do on this board.

2018-07-07-rp-humble-pi-001.jpg

2018-08-01

Adafruit Prototyping Pi Plate

adafruit-protoplate-03.jpg
This is the finished product.

I had one of these still un-assembled so I thought I would do a write-up of a product that no one manufactures any more but some day someone might need some documentation. This is the 26-pin GPIO version so you know it's for Raspberry Pi A and B, not the newer 40-pin model. I guess I purchased it back in 2011/2012. I just never got around to needing a second one and so I wanted to document how you build these in case Adafruit documentation becomes unavailable.

adafruit-protoplate-01.jpg

This is really a great prototyping plate. All the GPIO/I2C/SPI/POWER pins are broken out to 0.1" strips. All of the breakout pins are also connected to 3.5mm screw-terminal blocks which are labeled. There a 4-block terminal block that is broken out to 0.1" pads for general non-GPIO connectons. What sets this plate apart is the included SMD area. Adafruit put in an SOIC surface mount chip breakout area,

All the GPIO pins are separated in two locations. The pins are connected to the 0.1" breakout pins as well as the terminal blocks.

The layout of the protype plate is a combination of'breadboard style' (top middle) - with two "rails" down the center and then 5-pin connected rows down the side.

On the bottom right there is a 4-pin terminal block with 4 x 0.1" spaced pads right above it, these are for "free wiring". They aren't connected to anything attached to the Raspberry Pi. This is a good design to allow connection of isolated circuitry.

raspberry_pi_bbtop.jpg
This image is copyright Adafruit

One of the unique features of this prototype plate is that Adafruit designed the plates so you can fit a tiny breadboard (see https://www.adafruit.com/product/65 ) on top and still see the pin labels on the breakouts. This is VERY useful when prototyping circuits.

adafruit-protoplate-02.jpg

Here are the parts that comes with it.

Assemble it

Fit the 26-pin female to the underside of the PCB. The connector is not keyed so it does not matter how it is oriented as long as all 26-pins are correctly inserted into the 26-pin GPIO holes properly. There is no way to insert it incorrectly as there are only 26-holes with nothing else next to it.

Assemble the terminal blocks by sliding them together to make (1) 8-pin block, (1) 5-pin block, and (3) 4-pin blocks. You should have (2) 2-pin blocks remaining. Install the remaining (2) 2-pin blocks. Solder them all in, make sure the terminal block is oriented facing outwards before you start soldering.

Install the (2) 8-pin and (1) 6-pin female headers. These allow you to plug wires in and out easily,

Peel and stick the included rubber bumper underneath the SOIC breakout area. This will rest on top of the ethernet port connector. NOTE: the rubber "foot" that ships with the protoplate is too thick. You will have to use something else to fill the space between the pcb and the top of the ethernet port connector. There is a definite gap of about 0.12" and you don't need the underside of the pcb shorting out against the top of the etnernet port connector.

You are finished. I guess you did not need to read this document it was just too easy!