2016
04.01

I’ve been looking for things to do with my older Pi’s since purchasing the Pi 3 last month and I have been leaning back towards the Pi’s roots of quirky electronics projects. I bought a Pi camera a few weeks back and was considering making a portable PiCam and I also wanted to make a Remote goal light for hockey games.

I decided to actually combine the two ideas into 1. I am going to make an NHL Goal light that takes goal reaction pictures with the Pi camera.

First trials

Initially I wanted to see if I could set off the light I had with my Pi. The light takes a 3V disc battery, the Pi can output 3.3V over GPIO. What I did was I took a pair of Jumper cables and lobbed off the one end and stripped it a bit and plugged the other end into a GPIO pin and a GND pin. I took the stripped ends and put them on the +/- where the battery would go and pressed the button while the pin was set HIGH. Voila it can work in the basic sense and it didn’t blow up the light.

Converting the bottle opener

I tinned the stripped cable and then soldered it to the positions on the contacts for a permanent connection.

Then I cut up some small cardboard pieces about 1mm thick. The light originally worked by setting off 1 or more of 3 buttons on the light that pressure from using the bottle opener would cause. With the pieces of cardboard over the small buttons I put the bottle opener piece back into the light and locked it into place over the cardboard. This keeps the buttons permanently pressed down so when I set the GPIO pin HIGH it activates the light.

Python script

I created a python script that activated the pin, waited 10 seconds then pulled it down

#!/usr/bin/python
import RPi.GPIO as GPIO              
from time import sleep               
GPIO.setmode(GPIO.BCM)               
GPIO.setup(15, GPIO.OUT)              
    
GPIO.output(15, 1)      
sleep(10)                  # run horn 10 seconds  
GPIO.output(15, 0) 
GPIO.cleanup()             # resets all GPIO ports used by this program  

 

Remote control

What I did for the remote control was installed a web server on the Pi and created a script to execute the code above. Now I know you can run python within apache I have seen the lengthy guides but I like the fast route so I did PHP for the web side of the scripting.

apt-get install apache2
apt-get install php5

 

After it was installed I whipped up a quick script to execute the python but I got an error that you should be root to access the GPIO. I changed the Default USER/GROUP of Apache to PI. Since this is a single purpose local network project that didn’t seem to big of a deal to me however if you use whatever device you do this to for more than just that I wouldn’t recommend it. If you ran actual web pages along with it and it was somehow compromised what I did there in essence gives the attacker “pi” user privilages. Figured I should spell that out before continuing.

Simple webpage to activate horn

I wrote a simple web page that has an image of a goal horn. Click the image and the horn goes off. The website can only be accessed within my local home network. I also set an icon for the site so that when I save the bookmark to my mobile phone it looks like an App icon.

<html>
	<link rel="apple-touch-icon" href="goal.jpg" />
	<body>
		<a href="/?goal=1" border=0><img src="goal.png"/></a>
<?php
	if(isset($_GET["goal"])) {
		exec("./webhorn.py");
	}	
?>
	</body>
</html>

 

Next plans

So now that I have upgraded the horn from bottle opener to remote horn the next plan is to make it do automatic goal horning for which team I tell it. I also plan to add the ability to play a louder horn audio file through the audio out and also incorporate the Raspberry Pi camera to take goal reaction shots. Stay tuned for more!

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS
2016
03.19

One of the excellent new features of the Raspberry Pi 3 is the built in bluetooth. If you are already running a set up OS and do not wish to start over again you can install the drivers to enable to feature manually with apt-get

Note, I am on raspian Jessie, I do not know if this will work for older wheezy users.

sudo apt-get install pi-bluetooth

This will install the appropriate driver for the pi 3 and once it is done setting up you should see something similar to this:

pi@retropie:~ $ hcitool dev
Devices:
hci0 B8:27:EB:C0:D7:C1

 

From there you can pair your bluetooth devices as normal.

This is a great upgrade to the Pi as it not only saves you $20 between a bluetooth and a wifi adapter but you also reclaim 2 USB ports.

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS
2016
03.14

I was tinkering with the core_freq and v3d_freq options in /boot/config.txt trying to see if I could squeeze any more out of the Raspberry Pi 3.

I started at 600. System booted, splash screen displayed, started to load Emulation station…..Black screen. System froze.

Ok… Back up to 575. Booted, Splash, ES loaded….Graphical artifacts for a few seconds…freeze? Not completely I could still SSH so I backed off the settings again.

550, boot, splash, ES, Able to navigate…No Artifacts… 3D applications work…Jackpot.

So, it’s only a tiny improvement but it still counts.

core_freq=550
v3d_freq=550
h264_freq=333

 

I tried fiddling with the h264 but it seemed to cause more instability at anything higher. The extra 50 over my previous 500 did give an improvement to 3D rendering on some struggling applications. It’s a significant improvement over the default stock settings as well. The VideoCore IV is underpowered in todays world so every notch on the belt counts.

EDIT: I backed core_freq and v3d_freq down to 525. After a full day of running the Pi became unstable at 550 but 525 has been fine for a couple weeks now.

Get the rest of my settings from my previous post

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS
2016
03.08

I have been enjoying my Raspberry Pi 3 for a few days now the extra speed and built in wifi have proven to be excellent upgrades to the product.

Overclocking still seemed to be a topic not too many people had been willing to hit yet, even myself I was waiting for something in the raspi-config to show up. Last night in the retropie dev channel a fellow name Twisted0815 showed up and said he had a stable overclock at 1450 running and it was running well. I decided to give this a whirl and asked for his settings

#1450
sdram_freq=500
arm_freq=1450
over_voltage=6

 

After adding the settings to /boot/config.txt and rebooting sure enough the pi came up without issue.

I popped open a heavy application and left it running for 10 min, no issue.

I played some games on it for a half hour straight no issue.

Heat

I already had heatsinks on my Pi, I always heatsink a machine I intend to overclock and all my Pi’s going back to the Pi 1 B were overclocked in some manner but here are my reports.

Idle: 49C
Moderate application usage: 59C
Single and dual core load: 63C

Further testing

After doing some stress testing to the system at this setting I noticed with one core operations and dual core 1450 was stable but at 3 and 4 cores it would lock the system. I went to a thread on raspberrypi.org where they seemed to test every setting they could in 10mhz increments and tried them out with 1450. Still experienced a lockup eventually but made it further with the 4 core test than before.

I backed my settings off to 1350 like theirs and I was able to get a stable test result with all 4 cores and no crash. My temp in the peak of the test with all 4 cores loaded  floated around 79C to 80C with a heat sink.

I hope we get an official answer from the foundation at some point and perhaps a rasps-config option but I’ll stick with 1350 for now unless someone comes up with a stable 4 core solution that’s higher.

Updated finalized settings:

#gpu

core_freq=500
v3d_freq=500
h264_freq=333

#cpu
arm_freq=1350

#RAM

sdram_freq=570
sdram_schmoo=0x02000020
over_voltage_sdram_p=6
over_voltage_sdram_i=4
over_voltage_sdram_c=4

over_voltage=4

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS
2016
03.03

Raspberry Pi launched a new model on Monday the Raspberry Pi 3. Today is Thursday just a few days after launch and I am quite happy that mine has arrived.

At first glance it looks identical to a 2 however there are a couple differences to note. The foundation logo has moved over a bit and there is now an antenna next to the USB ports for the built in wifi.

The Raspberry Pi 3 upgrades the CPU to a ARM v8 Cortex A53 that runs with no overclocking at 1.2ghz and with 4 cores that gives you a good chunk of power for the size and price. The RAM is still 1GB, I would have liked to have seen 2 or 4 but 1GB will still hold the fort.

The microSD card slot changed slightly and this threw me off for a couple minutes. It no longer does the spring loaded lock/eject so you just slide the card in and that’s it.

CPU

There’s tons of bench marks out there so I am not going to rehash it here but it is safe to say it’s significantly more powerful than the Pi2. In fact it is at the point where I’d actually recommend a heatsink because the device generates much more heat. You can still get away without one as some tests have shown and the device has built in precautions against heat however I like to err on the side of safe and functioning devices.

To test the CPU I ran it through some Dreamcast emulation and the improvement was significant. On the 2 the Dreamcast was playable but the sound was wretched and poppy. The Pi 3 on two games all the sound issues were gone and a 3rd they were significantly reduced.

Boot time is also drastically improved with the new device

Wifi

Not having to waste a port on wifi is fantastic! To me it’s like the Rpi3 came with a new feature and an extra usb port. However I suspect the drivers and firmware might need some tweaks. Connecting to the internet from the device seems to always work no issue but if you have any services like ssh or samba going into the Pi seems to be intermittently bad. It feels like the device sleeps the wifi and it takes 10-30seconds to wake it? If i hammer the device with pings it eventually comes back and stays up as long as traffic is active.

As it turns out this hypothesis was correct and the issue can be corrected with the following command:

sudo iwconfig wlan0 power off

Pop that into a boot script somewhere and you’re off to the races!

Bluetooth LE

Can’t really review this yet, drivers don’t exist but it’s another saved USB port if it works out.

Good times

So in a years time we have gone from ARMv6 to ARMv7 and now with the 3 ARMv8 that’s some impressive headway. I now have a Model B, A+, 2, 3 and hopefully at some point a Zero. It’s clear I enjoy the products as they have opened up computing and electronics to a new generation (including myself) so keep up the great work Raspberry Pi.

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS