Close
0%
0%

Raspberry Pi breakout board

Setting up my old Model B for hardware experiments

Similar projects worth following
I found a good way to put my old Model B Raspberry Pi to use.

I bought a Raspberry Pi Model B a few years back. I had intentions of turning it into a thin client to my Linux workhorse, running an X server, and X programs would run on my workhorse. I got that working but it was too slow for comfortable use, after all it has only 512MB RAM and a single core ARM processor. I later bought a Pi 2 and that's another story.

At the time I wasn't (back) into hardware hacking, so I didn't do anything with the GPIO pins. I've kept updating the Raspbian version on it but otherwise the Pi has been sitting on my bench idle.

It's easy enough to use jumper wires to connect the GPIO pins to a breadboard but I was looking for something neater. While prowling eBay for parts I noticed that I could get a kit comprising a 26 connector ribbon cable, a breakout board, and a small breadboard to plug it into. Connections to the GND, +5V and +3.3V to the buses on the breadboard are also made. Since the full kit only cost a few dollars, I didn't hesitate to buy. If you are tempted to use your own breadboard, note that the spacing of the pins on the breakout connector is tailored to the breadboard. I have the 26 GPIO pin Pi, not the later 40 GPIO pin Pi's for which analogous breakout kits are sold.

The kit depicted in the photo landed in my mailbox, and it only took a few minutes to put everything together, see instructions below. The breadboard is small but it's easy enough to expand it to another breadboard with jumpers. My only gripe is that my polycarbonate case doesn't have an opening to put the ribbon cable through, the manufacturer wasn't targeting hardware hackers, so I'll have to operate the Pi without the cover.

I then proceeded to install the wiringPi library using git. This provides an API very similar to the Arduino wiring API. Bindings to other languages are also available.

I connected a 220Ω resistor in series with a LED between P0 and +3.3V, compiled the good old blink.c example, and ran it. Worked great. NB: Do not put more than 3.3V on any of the GPIO pins. This is one major difference from the Arduino. Also it's preferable to sink current rather than source, as the limits are higher.

I've set up the Pi to automount a directory on my Linux workhorse so that development files actually live on my workhorse and are backed up, etc. I'm also going to plug in a USB WiFi dongle so that I can use the Pi untethered from the Ethernet switch.

Now to use the Pi for hardware experiments. It's a full Linux environment so you can use any of the tools there, including debuggers like gdb, whereas on the Arduino, most people use the IDE and the intrepid use the command line for the AVR tools, and debugging uses the serial console. There is no download delay as the program doesn't have to be squirted through the USB serial interface.

Enjoy your new development platform!

  • WiringPi deprecated

    Ken Yap09/12/2020 at 01:09 0 comments

    I was saddened to read the blog WiringPi deprecated. It's a pity there are people in the world who won't do the right thing by GPL software, or inconvenience the author in many other ways.

    Incidentally the Raspberry Pi mentioned in this project has been turned into a GNSS NTP server but using the breakout board depicted here, so it did turn out to be useful.

  • Using surplus power adapters

    Ken Yap03/20/2019 at 05:57 0 comments

    I wasn't going to write any more on this project since it's finished but I remembered that I found a use for surplus power adapters as 5V power supplies and wrote it up on this page.

  • Adding a WiFi interface

    Ken Yap03/13/2019 at 02:52 0 comments

    Addendum: As mentioned I wanted to add a USB WiFI dongle so that I can move the RPi1 to my workbench, away from the Ethernet switch.

    I bought a Mediatek MT7601u WiFi USB dongle from eBay. The Linux drivers are in-tree, one should ignore the link to the manufacturer drivers, those are years old. Even after entering the SSID and PSK using raspi-config I had problems activating it on my RPi1, not helped by the fact that it would disconnect the headless RPi from the network  when I plugged the dongle in. I tried the dongle on other machines and it worked fine though I noticed it ran fairly hot.

    So I connected the RPi to a keyboard and monitor and noticed that the RPi rebooted when I pushed in the dongle. I had thought it disconnected from the Ethernet because it was reconfiguring the interfaces. It was actually rebooting. Long story short, the voltage from the power supply (an old repurposed power brick for a Zip drive) was drooping due to the current drawn. When I substituted a better power supply it worked fine.

    Maybe the MT7601u is cheap and nasty. I don't know if newer dongles would draw less current. Anyway aren't you glad that modern microcomputers have built-in WiFi?

View all 3 project logs

  • 1
    Putting the breakout kit together

    The breakout connector is plugged into the breadboard at the end with the lower row numbers. Also the + buses will connect with the +5V and +3.3V pins on the connector.

    It's obvious which end of the ribbon connector goes into the breakout connector. If the breadboard is oriented with the connector at the bottom, pin 1 of the cable (the red stripe) is on the left.

    The position of the other end of the cable is also obvious, pin 1 should go in where the Pi board has P1 printed.

    Just to be sure, double check with a continuity tester. The GND line of the breakout connector should connect to the rim of the RCA video connector.

    When powered up, the power LED on the breakout connector will glow.

  • 2
    Installing wiringPi

    Assuming you have Raspbian installed on the Pi, follow the instructions at the wiringPi site to download and install.  You probably will need to install git-core first. Test using the gpio utility and also the pintest program.

  • 3
    Compile and run the blink program

    There is a blink.c program in the examples/ directory. Compile it with gcc thus:

    gcc -O -o blink blink.c -lwiringPi

    The -lwiringPi tells gcc to link with the wiringPi library. Connect up a 220Ω resistor in series with a LED between P0 and the +3.3V bus. Don't use a LED with a forward voltage greater than 2.5V or it will not turn on. Run it with

    ./blink

View all 4 instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates