Thursday, September 3, 2015

How to replace rotted T1-11 siding with a belly band

My wife and I live in the beautiful North West, near Portland Oregon. When we bought our first house last year we discovered during the rainy season that we had soft spots along the bottom 5 inches of our siding. We had two solutions, replace all the siding on the south side of our house or install a belly band / trim board. This tutorial will cover the basics of how to cut, replace and fix this issue. Hope this helps you in your DIY projects and best of luck!

Monday, June 3, 2013

Raspberry Wi-Fi Pi

Hope you like my play on words in the title Wi-Fi Pi! I'm doing a tutorial on getting your raspberry pi to run off a wi-fi USB key. This way you no longer have to use an Ethernet connection or have that cord running across your living room floor like mine was doing for months. I also wanted a way to connect to the RasPi when I *cough* finish my robot project. Yes I will very soon. So lets get started by covering the require parts and tutorials you might need to follow to get everything working.

Previous Tutorials Recommended:

Parts List:
  • Raspberry Pi (any version)
  • Wi-Fi USB (EdiMax EW-7811Un) 

Tuesday, March 5, 2013

Raspberry Pi Robot + Wii remote (Phase 1)

So I know my last post on how to use the Nintendo Wii controller with the Raspberry Pi was quite popular. I've been working on the next stage of the project which includes connecting my Digilent Cerebot II Atmega64L micro-controller to the Raspberry Pi. This required that I get the SPI connection working between the Pi and the micro-controller and get the Wii remote to control everything. I constructed this project using a set of Python and C programming with modules I either created or borrowed.

Saturday, January 19, 2013

Beagleboard XM - How to install Ubuntu 12.10 (Quantal)

UPDATE 7/9/2013: updated links in download folder

Hi folks so i'm back after taking quite a bit of time off. Had the unfortunate experience of my dad passing away recently. I truly believe that family comes first so i've been spending my time elsewhere. Thanks for your patients.

Versions of Ubuntu have changed over the last year so i'm going to give you the run down of the latest version, called Ubuntu 12.10 (Quantal) onto your Beagleboard XM. This procedure will be very similar to installing 11.04 but i'm going to give some more broad answers so if links/URLs die and such you can find your way.

Friday, August 3, 2012

Wii Controller + Raspberry Pi + Python = Awesome!!

UPDATE 1/2/2013:
-Corrected button numbers
-Bluetooth commands

        So this is going to be a many part series for a robot project i'm working on. This first one covers writing a program that runs on the Raspberry Pi. This program is going to connect through bluetooth to a Nintendo Wii controller and allow you to control the data via Python. Cool I know!

So what I did first was familiarize myself with connecting my Wii controller to my PC (virtual desktop running Ubuntu) and using Cwiid as a module I was able to write a small program to grab the data. Once I knew I could connect and communicate all I needed to do was port this over to my Raspberry Pi.

Wednesday, July 25, 2012

Getting SPI working on the Raspberry Pi

So one of the phases in my project is connecting the Raspberry Pi to a micro-controller that has many Pulse Width Modulation (PWM) signals. Since the Raspberry doesn't have the number of PWM signals I need to control i'm going to do so through SPI. This post is the 'how to' on getting your SPI signals outputting from your Raspberry Pi. More blogs to come later to show you more details.

First you'll need to download the beta "Wheezy" debian package from here. Then follow the normal instructions for installing it to your board. Once you have installed it and booted up for the second time i ran some updates (That took hours!!) 

sudo apt-get update

sudo apt-get upgrade

While that is updating lets talk a little bit of SPI background knowledge is needed in order to get this working. First off Serial Peripheral interface (SPI) is made up of 4 wires normally. It is a standard that was designed by Motorola for use with their micro controllers. If you're interested in learning more about SPI i've added the Wikipedia link. Here is what a standard SPI setup looks like, multiple slaves is optional.

SS - Slave Select (Beagleboard community calles this Chip Select (CS))
MOSI - Master Out Slave In
MISO - Master In Slave Out
CLK - Clock

Next it was time to update to the latest firmware for the board, as the latest has brought out the SPI controller. To do so I used Andrews Hexxeh rpi-update to do this. Some needed tools...

sudo apt-get install git

Now lets download his tool and install change who has access to read/write the tool.

sudo wget -O /usr/bin/rpi-update
sudo chmod +x /usr/bin/rpi-update

Once this is done you can run it by calling the following command. (mine took a while).

sudo rpi-update

*NOTE - while I was doing this I ran out of space on my 4GB drive. I figured I wasn't really low on space and when I checked it I found my windows tool originally only made me a 2GB partition. There are many ways to do this, but I used GPARTED to expand my space to the real 4GB. It's a live CD...

SanDisk 4GB Extreme 3 SD Card w/Reader

So once the updates are all completed. I rebooted my Pi.

sudo shutdown -h now

Unplug the power and plug it back in. And when I rebooted I went to my /dev/ directory and found my spidev devices!

The last part of this is to test the SPI signal. I'm going to download spidev_test.c

wget;a=blob_plain;f=Documentation/spi/spidev_test.c -O spidev_test.c

Next we want to short the MISO and MOSI pins. Located as GPIO 9 & GPIO 10 as seen below.

We want to edit the spidev_test.c file so it it uses the correct spidevice in our /dev/ folder.

nano spidev_test.c

scroll down and change the device to "spidev0.0" and then save it by pressing the Ctrl+O to save and Ctrl+X to exit. lets compile this thing and run it now.

gcc spidev_test.c
sudo ./a.out

If you see this it's working.

If you see this it's not working.

For more information on how to control your SPI with python try checking out my post for how to do so on the beagleboard xm. Many have found it useful and i'm sure you will too. Python controlling SPI on the Beagleboard XM

Friday, July 13, 2012

How to get 1080p videos running on my Raspberry Pi

      So one of the first things I was very interested in the Raspberry Pi doing was running 1080p videos. All that power coming from one little controller, I couldn't believe it. So here is my success story of how I got my new raspberry pi to run 1080p videos right after installing Debian onto it.

Here is a video of my working success:


There are a few different tools I found that play back HD content. The one I chose to use was called Omxplayer. From a terminal window lets install all the prerequisite applications first.

sudo apt-get install libpcre3-dev libpcrecpp0 libva-dev libva-x11-1 libva1

After some amount of time it will finish and then next we need to install the omxplayer.


After it's downloaded unzip it and install

sudo dpkg -i omxplayer_0.0.1-arm.deb

And that's it!!

Playing a movie
The last part of the tutorial will be playing a movie and how to call and use the omxplayer. Make sure you have a movie file i'm using an episode of friends that is located on a flash drive (extension MKV), many other extensions work too. Here is a list of all the omxplayer options and a general how to use them.

pi@raspberrypi:~$ omxplayer --help
Usage: omxplayer [OPTIONS] [FILE]
Options :
         -h / --help                          print this help
         -a / --alang language          audio language        : e.g. ger
         -n / --aidx  index               audio stream index    : e.g. 1
         -o / --adev  device             audio out device      : e.g. hdmi/local
         -i / --info                          dump stream format and exit
         -s / --stats                         pts and buffer stats
         -p / --passthrough             audio passthrough
         -d / --deinterlace              deinterlacing
         -w / --hw                         hw audio decoding
         -3 / --3d                          switch tv into 3d mode
         -y / --hdmiclocksync         adjust display refresh rate to match video
         -t / --sid index                  show subtitle with index
         -r / --refresh                     adjust framerate/resolution to video

For me i'm going to use my HDMI to DVI cable to output video and standard 3.5mm for audio output. So i'm going to use the command.

sudo omxplayer -o local /My/Folder/MyVideoFileName.videoextension

If I was wanting to send my audio through the HDMI cable I would call something like this.

sudo omxplayer -o hdmi /MyFolder/MyVideoFileName.videoextension

And that's it, your 1080p Video will now run!! Please feel free to check out my other blogs or leave questions and comments below.

Useful Links