Raspberry Pi 3B+

What’s new

While not as big as an aesthetic overhaul as the original B+ was, the Pi 3B+ does have a larger selection of improvements that make it distinct from the original Pi 3. This includes a more powerful CPU, now running at 1.4 GHz on all its four cores. The Ethernet port has also been updated to a Gigabit port, an oft requested feature, although due to pre-existing limitations it maxes out at about 350 megabits. There’s also some minor upgrades, such as a different wireless antenna and the addition of PoE pins for more advanced applications.

Great project ideas for the faster Raspberry Pi 3B+

Otherwise, it still has all the great connectivity and software of the original Raspberry Pi 3. With this new power though, we reckon it could make a few projects better than ever, like these ones:

Easy retro gaming on Raspberry Pi – a more powerful Pi can go a long way here – would make what I just did even better!

Image editing on your Raspberry Pi – image editing can get resource intensive, so extra power is always useful.

Set up a file server – make use of the better Ethernet port on the Pi 3B+ by improving your home Pi server – future project (very soon)

Get a Raspberry Pi 3B+ for the same great price of $35! NICE!

Raspberry Pi 3B+ specifications

  • SoC: Broadcom BCM2837B0 quad-core A53 (ARMv8) 64-bit @ 1.4GHz
  • GPU: Broadcom Videocore-IV
  • RAM: 1GB LPDDR2 SDRAM
  • Networking: Gigabit Ethernet (via USB channel), 2.4GHz and 5GHz 802.11b/g/n/ac Wi-Fi
  • Bluetooth: Bluetooth 4.2, Bluetooth Low Energy (BLE)
  • Storage: Micro-SD
  • GPIO: 40-pin GPIO header, populated
  • Ports: HDMI, 3.5mm analogue audio-video jack, 4x USB 2.0, Ethernet, Camera Serial Interface (CSI), Display Serial Interface (DSI)
  • Dimensions: 82mm x 56mm x 19.5mm, 50g

Final thoughts:

This is a wonderful day for Raspberry Pi users. We are upgraded to better performance and the cost stayed the same. I look forward to getting myself one of the new boards to test and retry some programs that might like the new horsepower. Yes, good day indeed 🙂

Vilros Retro Pi Gaming Platform

Today by request we are going to show you how easy it is to setup Retro Gaming on the Raspberry Pi. I picked up this package last week and I couldn’t wait to get into building this fun project. Gaming has always been a pretty big industry for quite awhile now and it nice to see the nostalgia when it comes to the games of yesteryear. This is a easy project for you to get done in just a few hours and it will give your years of enjoyment. So lets get started.

Vilros Retro Pi in the box
Vilros Retro Pi in the box

I ordered the kit off of Amazon and you can get it here.

For a limited time you can get a Raspberry Pi 3 kit that has just about everything you need to get started (including a retro-style case) for $66 on Amazon when you use the promo code 45YOCHIQ at checkout. The full list of features includes:

  • Includes Official Raspberry Pi 3 (RPi 3) Model B Quad-Core 1.2 GHz 1 GB RAM–Features On-board WiFi and Bluetooth Connectivity [Latest Broadcom BCM2837 Chip]
  • Includes Samsung 32 GB Evo Plus (Class 10) Micro SD Card Preloaded With NOOBS & RetroPie With MicroSD -USB ADAPTER (can be used to Re-Write the SD Card if desired)
  • Includes UL Listed 2.5 Amp USB Power Supply with Micro USB Cable and Noise Filter – Designed for the Raspberry Pi 3–Includes Retro Gaming Style Case With Easy Access to all Ports
  • Includes High Quality 5 FT CEC Compatible HDMI Cable–Set of 2 Heatsink–Vilros Raspberry Pi Quick Start Guide
  • This kit is fully guaranteed for 1 year with our 5 Star US based Customer Support

Again, you can get it here and that code as of the time I posted this will save you $9 which you can put that towards a USB controller of you don’t have one. So lets get to the unboxing.

HDMI Cable, Power Supply and Heatsinks
HDMI Cable, Power Supply and Heatsinks

Everything was pre-packaged and very well shipped.

The Raspberry Pi 3, Retro Gaming case, SD card and good documentation.
The Raspberry Pi 3, Retro Gaming case, SD card and good documentation.

I like the fact that everything is in this kit. Makes trying to get this project done very easy.

Easy to read manuals
Easy to read manuals

It helps with the print is large, easy to follow and pictures. Even grandpa can do this! 🙂

Top side of the Raspberry Pi 3
Top side of the Raspberry Pi 3

The top side of the Raspberry Pi 3 does not have the heat sinks installed on it. I will cover that in another post. There is a lot you can do with them. In this build I did not install them and everything ran fine. Keep in mind I played real simple retro games on it as that is the least stressful and everything worked flawless.

Bottom side of the Raspberry Pi 3
Bottom side of the Raspberry Pi 3

When mounted in the Retro Case the bottom side sits high enough off the bottom that it will allow some airflow. For a stock, fan-less case, this is sufficient. There are other cases and things we can do in the future if we have the need..

Pre-installed Retro Pi on the SD card
Pre-installed Retro Pi on the SD card

Everything is pre-installed for you. All you have to do is insert the SD card.

Putting the Raspberry Pi 3 in the case
Putting the Raspberry Pi 3 in the case

This was very easy to do and you can’t put it in the wrong way. Once you put it in you can put the top on and insert the 4 screws.

Closing the Vilros Case
Closing the Vilros Case

Vilros even supplies the screwdriver for you. How cool is that?!

Assembled Retro Pi
Assembled Retro Pi

Everything is assembled and now we are ready to power it up.

Select Retro Pi and then setup your WiFi
Select Retro Pi and then setup your WiFi

Setting up the WiFi made things very easy for us to get updates and connect to the Internet. Very nice setup.

Pick your network and enter your password
Pick your network and enter your password

I wish more Raspberry Pi setups were this easy!

Make sure that you have Retro Pi selected and then click Install.

Click on Retro PI and Install
Click on Retro PI and Install

They RetroPie will then go to the Internet and get the files it needs to finish the installation.

NOTE: I would use the following command when done on the command line.

sudo apt-get install && sudo apt-get upgrade

This will take a few minutes to make sure everything is up to date.

Automatically reboots
Automatically reboots

Once everything is done the Retro Pie will reboot and not the fun starts!

USB Joystick is required
USB Joystick is required

When I got to this point I did not have a joystick. I had to text my brother to ask him where his was so I could calibrate it and get to the next steps. Now you know why I linked you one above and here it is again USB controller.

Playing Bubble Bobble 2
Playing Bubble Bobble 2

Success! A few minutes later I was playing one of the games I probably spent a few paychecks on (one quarter at a time) while I was in Okinawa Japan. It brought back a lot of fond memories and I look forward to trying out some others soon.

NOTE:

There are free and copyrighted ROMS out on the Internet. I am not telling you what you can or can’t do since Google is your friend and your mind is your conscience. I know some people that literally have hundreds of games. If you educate yourself I am sure you can find something that works for you. I look forward to hearing what all of you learn. So who’s up for a game?!

The Pimoroni Inky pHAT

This tutorial will show you how to install the Pimoroni  Inky pHAT Python library, and then walk through its functionality. You’ll learn how to run the a few of the included examples: the calendar and the name badge. For the complete tutorial you can go the the Pimoroni website:

Inky-pHAT1
Inky-pHAT1

https://learn.pimoroni.com/tutorial/sandyj/getting-started-with-inky-phat

Inky-pHAT2
Inky-pHAT2

First thing I did on my Raspberry Pi Zero WH was open a new terminal window and update the software to tun the Pimoroni  Inky pHAT:

sudo pip install –upgrade inkyphat

Inky-pHAT3
Inky-pHAT3

Then I made sure my version of Raspbian was up to date with this command:

sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade

Inky-pHAT4
Inky-pHAT4

Then I the following command to setup the Inky pHAT:

curl https://get.pimoroni.com/inkyphat | bash

Inky-pHAT5
Inky-pHAT5

Once that’s done reboot your Pi to let the changes propagate.

After the reboot open up a terminal window and navigate to:

cd /home/pi/Pimoroni/inkyphat/examples

Once there you can then type “ls” to see the examples in that directory. I did the calendar:

python cal.py

Inky-pHAT6
Inky-pHAT6

Then:

python hello.py “Single-Board.com”

Inky-pHAT7
Inky-pHAT7

Final thoughts:

I am very happy with the completion of this project. It seems that all the soldering I did on the header works as intended. I will update more as I intend to use this Inky pHAT in all of my future projects. I will definitely be adding my logo on there!

What is next weeks project?

Inky-pHAT8

Inky-pHAT8

RPI Zero W Day 4 – Upgrades!

My Raspberry Pi Zero W is now a Raspberry Pi Zero WH. Here are all of the parts before the were cobbled together. This created a USB dongle for me that allows me to log into the Pi and have a Linux based environment to work in at any time. I am no expert and with this simple how to build anyone can do this project.

dongle-header1
dongle-header1

The first step is to solder the USB connector to the SparcFun Pi Zero USB Stem (pictured).

dongle-header2
dongle-header2

Once you have the main grounding legs soldered to the Stem, flip it over and solder the actual USB data and power connections. As you can see I am not using a fine tipped soldering tip but if your careful and have a steady hand you can do this fairly easy.

dongle-header3
dongle-header3

Once I had that all soldered together it was getting fairly warm so I set that off to the side and then started to work on soldering the header. This takes a little time to solder all of the connections and it also required some patience. This allows you to practice your soldering skills.

dongle-header4
dongle-header4

About 15 minutes later I had the header all soldered on and I used some Isopropyl alcohol to clean it all up. Since the Stem was now cool I fastened that to the board with the parts provided.

dongle-header5
dongle-header5

There is a good tutorial over at SparcFun showing how to solder castellated holes (or castellations). This might come in handy if you need to solder a module or PCB to another PCB. These castellations are becoming popular with integrated WiFi and Bluetooth modules.

dongle-header6
dongle-header6

Here is the finished soldered and assembled project. A Raspberry Pi Zero WH dongle. Now time for the final test. Will it power up?

dongle-header7
dongle-header7

Success! As you can see in the picture the new Raspberry Pi Zero WH powered up and booted with no problems. I immediately had to log in and run quick test or two.

Tims-RPI-0-WH
Tims-RPI-0-WH

I just ordered Pimoroni Inky pHAT for Raspberry Pi – 3 Color eInk Display and it should have it for installation in the next day or so. I wanted to have it by the time I posted it but we know how life gets in the way. Expect a post on that in the next few days.

Final Thoughts

This has been a fun project! I hope I have shown you a few things that have piqued your interest. This reason I started with the Raspberry Pi Zero WH is that out of all of the Raspberry Pi versions that are available this is what I would consider the base model. Everything I have show you so far can be, and will be used on higher models of the Raspberry Pi and other Single-Board computers. I’ll see you in the next post!

RPi Zero W – Day 3 – Test Bench Setup

Today I wanted to share how I am setting up my test bench for those that are curious. I have decided to use the DINr plates from the folks over at http://www.dinrplate.com/ since their design and implementation are second to none in my humble opinion.

As you can see from the photo below the board is securely fastened to the plate and then that plate is secured to the rail. All of the cables are zip tied to the plate which makes sure that the connections to your Single-Board Computer are not stressed out. The left micro-usb is power, the center micro-usb is for the WiFi dongle and the right is the micro-hdmi to hdmi converter.

dinrplate-dpz1
dinrplate-dpz1 holding the RaspBerry Pi Zero W

I highly recommend this setup if your going to be testing with your boards like I am since I have not found anything that is even close to the features and stability of this since I worked at Kodak. Amazon link to the setup I am using – DIN Rail Mount for Raspberry Pi Zero

Today’s test is with “stress-ng” – Bogo Ops

Stress-ng measures a stress test “throughput” using “bogus operations per second“. The size of a bogo op depends on the stressor being run, and are not comparable between different stressors. They give some rough notion of performance but should not be used as an accurate bench marking figure. They are useful to see if performance changes between kernel versions or different compiler versions used to build stress-ng. One can also use them to get a notional rough comparison of performance between different systems.

NOTE:
They are NOT intended to be a scientifically accurate bench marking metric.

To install this program copy and paste:

sudo apt install stress-ng

To learn more about the program you can read the options:

stress-ng –help | less

and you can read the manual

man stress-ng

Then to run it you would copy and paste:

stress-ng –cpu 0 –io 2 –vm 1 –vm-bytes 1G –timeout 30s –metrics-brief

Even more information if you want to really understand the program:

http://kernel.ubuntu.com/~cking/stress-ng/

Here are my results on both systems:

Tims-RPI-0-W-stress-ng-tests
Tims-RPI-0-W-stress-ng-tests

I will be working with stress-ng over the next few months to see just what I can do with it for future testing. If you know some good commands please share them below.

Here is the command I used on my brothers RaspBerry Pi 3

stress-ng –cpu 4 –io 2 –vm 1 –vm-bytes 256M –timeout 60s

stress-ng –cpu 4 –io 2 –vm 1 –vm-bytes 256M –timeout 60s –metrics

Tims-RPI-0-W-stress-ng-tests2
Tims-RPI-0-W-stress-ng-tests2
Tims-RPI-0-W-stress-ng-tests3
Tims-RPI-0-W-stress-ng-tests3

 

The idea behind these benchmarks is for you to see what the default setting provide you and then, if you want/need to, you can overclock your Single-Board Computer. Overclocking I will cover in later blogs.

So what’s next?

I have started with the command line testing with the RaspBerry Pi Zero W since that is where we can get the basic testing out of the way. The desktop environment on the RaspBerry Pi Zero is not very good for any kind of Internet testing. We will save that for the RaspBerry Pi 3. I will do all of the same tests on the RPi 3 so we can compare them against the RPi Zero W.

zero-project
zero-project

I has also planned on making this RaspBerry Pi Zero W into a USB dongle and I am also going to be adding the GPIO header to it.

raspi-gpio
raspi-gpio

Raspberry Pi Zero W – Day 2 – Benchmarks

How to Benchmark Your Single-Board Computer

I would like to establish a SOP (standard operating procedure) or  “methodology” going forward so all of you can create your own results. In order for this to be a fair test the following criteria were observed.

  • All CPU and memory tests conducted using Sysbench and/or command line.
  • All Single-Board computers were not contained in a case and used “bare”.
  • All tests using the latest version of that specific systems preferred software.
  • All tests were at ambient temperature before testing began.
  • I accessed the Single-Board computers over an SSH connection.
  • No desktop / X session started unless the tests required the desktop.
  • All test results are a combination of the tests being run 3 times and the mean average was used for the final result.

What is Sysbench

Sysbench is a benchmark suite which allows you to quickly get an impression about system performance which is important if you plan to run a database under intensive load. I will explain how to benchmark your CPU with Sysbench.

Installing Sysbench

From a terminal screen on Debian/Ubuntu/Mint/Raspbian, Sysbench can be installed as follows:

sudo apt-get install sysbench

If you want to learn more about the program you can look at the manual for Sysbench to learn more about its parameters.

man sysbench

CPU Benchmark

You can benchmark your CPU performance as follows:

If you have a single core processor, like a Raspberry Pi Zero, you can use this command:

sysbench –test=cpu –cpu-max-prime=20000 run

Tims-RPI-0-W-CPU-test-1
Tims-RPI-0-W-CPU-test-1

If you have a multicore cpu you can use this command:

sysbench –test=cpu –cpu-max-prime=20000 run –num-threads=4

Tims-Pc-CPU-test-1
Tims-Pc-CPU-test-1

RAM Benchmark

sysbench –test=memory –memory-block-size=1M –memory-total-size=10G run

Tims-RPI-0-W-mem-test-1
Tims-RPI-0-W-mem-test-1
Tims-Pc-mem-test-1
Tims-Pc-mem-test-1

Terminal command line benchmark testing

Integer calculation performance test with  one-line command

time $(i=0; while (( i < 1234567 )); do (( i ++ )); done)

This will return the the time required to crunch the integers between 0 to 1234567.

Tims-RPI-0-W-CPU-test-2
Tims-RPI-0-W-CPU-test-2
Tims-Pc-CPU-test-2
Tims-Pc-CPU-test-2

RAM speed testing

There is no direct method to benchmark a RAM and generally RAM speed  denotes RAM clock speed. It is unnecessary and not conclusive to do this test but this may be considered as an experiment. As you can benchmark this data with changes you do to your system or compared to other systems. 

tmpfs is a RAM based super fast file system, something like a ramdisk, so by doing a read write speed test on a tmpfs mounted folder will give a rough idea about RAM speed. So, let’s have a look at commands below.

mkdir RAM_test
# mount the tmpfs filesystem
sudo mount tmpfs -t tmpfs RAM_test/
cd RAM_test

# write to RAM test
dd if=/dev/zero of=data_tmp bs=1M count=512
# read to RAM test
dd if=data_tmp of=/dev/null bs=1M count=512

Here are the results for the Raspberry Pi Zero W. I achieved around 35 MB/s write speed and 79 MB/s read speed with a 512MB of DDR2 SDRAM.

Tims-RPI-0-W-RAM-test-1
Tims-RPI-0-W-RAM-test-1

On my main PC look at the result ! It’s incredibly fast ! I achieved around 4.6 GB/s write speed and 8.0 GB/s read speed with a 16GB 2400MHz DDR4 RAM.

Tims-RPI-0-W-RAM-test-2
Tims-RPI-0-W-RAM-test-2

Time to clean up what you just did.

cd ..
# umount the tmpfs filesystem
sudo umount tmpfs -t tmpfs RAM_test/
# delete the directory you created
rm -r RAM_test

NOTE: My main computer is an I5 with 16GB DDR 4 ram at 2400MHz
It is a dual boot with Win 10 and Linux Mint

More testing coming up!

 

Raspberry Pi Zero W Headless Setup – Day 1

My Raspberry Pi Zero W arrived and I finally had a chance to sit down and start to do some work with it. I downloaded the latest version of Raspbian, and installed it on a Sandisk Ultra Plus Class 10 microSDHC 16 GB card using Etcher. I did a lot of YouTube watching and read a lot of comments on what worked for setting up the Zero W headless. It worked fairly well for the most part as I am running it via a USB cable off a Windows 10 system.

Raspberry PI Zero W
Raspberry PI Zero W top side

When you are done, locate the file “config.txt” from the Boot drive of the sdcard and insert this at the end

dtoverlay=dwc2

Then save the file, and locate the file called “cmdline.txt” and insert this text right after rootwait

modules-load=dwc2,g_ether

When done, save the file and your going to create 2 more files before your done.  I created both of these files with Notepad++

The first file you want to create is called “ssh” with no extension and completely empty.

The next file you want to create is called “wpa_supplicant.conf” and you want to put the following in it.

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=US

network={
        ssid="YOUR SSID"
        psk="your password"
        key_mgmt=WPA-PSK
}

and you can now insert the sd card into the Raspberry Pi Zero W.

Remember, you need to edit those 2 files and add those 2 files for this to work the way I did it. It is not the only way but it is the way that I got it to work.

To access your Raspberry Pi Zero W from your computer, use ssh client PuTTY and point it to:

pi@raspberrypi.local

Password: raspberry

Now you should be all done!

Raspberry PI Zero W
Raspberry PI Zero W bottom side

Once I was into the Pi I ran the command:

sudo raspi-config

Your going to want to make sure that WiFi is on under network options and that you have VNC on under interfacing options. Turn those both on and then reboot your Pi.

sudo reboot

Watch your Pi and in about 30 seconds you can relaunch your last PuTTy session and get right back into the terminal.

If you want to get into the Pixel desktop you can VNC into it with VNC Viewer and do all the GUI things that you would like to.

NOTE: This is a Raspberry Pi Zero W. It is not very fast in the desktop environment. I suggest that you do not log into your Google services if you are a heavy user of extensions. Your Pi will run very slow.

I’ll get into the benchmark tests, how I did them with examples and how you can do the same things if you want to. I am going to be making a USB dongle out of this as the project progresses and I’ll be adding that information soon.

Conclusion for day 1: not too bad! I was able to get the Pi Zero W to fully run off of one cable. For the person that wants to work in a Linux environment and have Windows at same time this is a dream come true. For the cost of the Pi and a good SD card (that you can reuse on other projects if need be) the investment is very cheap for awesome rewards. More to come!

Welcome to the Single-Board Computers website!

Welcome to Single-Board.com

Updates are in progress.

This site supports the Single-Board.com YouTube channel and you can also find us on Facebook.