New Year's Grab Bag RoadTest - Review

Table of contents

RoadTest: New Year's Grab Bag RoadTest

Author: MARK2011

Creation date:

Evaluation Type: Development Boards & Tools

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: Raspberry Pi 3B & 3B+

What were the biggest problems encountered?: System crashes But - I don't know the sure reason. Was it incompatibility of the new system with old board or maybe faulty SD cards.

Detailed Review:

"The Time Machine"

Back to the era of early RPIs

 

 

 

I'm really happy I had opportunity to get and test the first generation of the Raspberry

 

Raspberry boards (and all related stuff) are widely and well known for years.

Worth to emphasize - as I remember, my first association of element 14 was exactly the Raspberry.

It was a time when the target of my roadtest, model Pi1B remained in the middle of interest!

This is why it would be relatively hard to add something new as most of the fields of RPi application, have been implemented.

On the other hand, thanks to the release of new RPi version, there is still the temptation to make some new comparison work.

 

As the Raspberry Pi microcomputer is well known, especially the very old model is also well documented and wide described,

nevertheless, I feel an obligation to attach base description of features and parameters of that model of RPi below.

 

Basic technical specifications

  raspberrypi.org

 

The Raspberry Pi is a credit card-sized computer with an ARM processor that can run Linux.

Here I honestly admit, that after receiving the new - old raspberry I had some difficulties with proper identification of the version.

Thanks to the following notice :the rev 2 boards have 2 mounting holes drilled through the board. The rev 1 boards don't have any mounting holes

I could visually confirm which version I have

According to my identification I’ve been provided with the Raspberry Pi Model B, revision 2.0, which has 512 MB of RAM,

an Ethernet port, HDMI output, RCA composite video output, audio output, two USB ports, and 0.1″-spaced pins (26) that provide access to general purpose inputs and outputs (GPIO).

 

The Raspberry Pi B is the first generation Raspberry Pi. It was released in the very beginning of the Raspberry Story (before simpler and cheaper model A). Correct me if I’m wrong : release date was February 2012.

Features

CPU, GPU and SDRAM - Consequently, all RPI models are equipped in  Broadcom system on a chip (SoC) with an integrated ARM-compatible central processing unit (CPU) and on-chip graphics processing unit (GPU).

In our case we have SoC: Broadcom BCM2835

High Definition 1080p Embedded Multimedia Applications Processor

Cost-optimized, full HD, multimedia applications processor it uses Broadcom's VideoCoreIV technology to enable applications in media playback,

imaging, camcorder, streaming media, graphics and 3D gaming. (https://web.archive.org/web/20120513032855/http://www.broadcom.com/products/BCM2835 )

 

  • 512 MB of RAM Memory (SDRAM)
  • Network: 10/100 Ethernet RJ45  port
  • USB: two USB2.0 ports
  • Two video output options: HDMI or composite RCA
  • 3.5 mm audio output jack
  • 26-pin GPIO header with 0.1″-spaced male pins, compatible with 2×13 stackable headers
  • CPU: 700 MHz ARM1176JZF-S core (ARM11 family)
  • GPU: Broadcom VideoCore IV, OpenGL ES 2.0, OpenVG 1080p30 H.264/MPEG-4 AVC High-Profile decoder
  • Mass storage: SD/MMC slot (The Raspberry Pi requires an SD card with an operating system on it)
  • Power supply: 5V/700 mA (3.5 W) via microUSB
  • Dimensions: 85.6 mm x 53.98 mm  (3.35″ × 2.2″ × 0.8″)
  • Weight40 g
  • No WiFi
  • No Bluetooth

According to Wikipedia: Raspberry Pi has the real-world performance equal to 0.041 GFLOPS.

On the CPU level the performance is similar to a 300 MHz Pentium II of 1997–99.

In the standard RT this is the time and place for description of the subject of the test. But honestly,

I think that more complex description can be omitted as there are a lot of information about RPi.

 

https://en.wikipedia.org/wiki/Raspberry_Pi

https://en.wikipedia.org/wiki/Raspberry_Pi#Model_B

 

Moreover Raspberry is, in my opinion one of "flagship" device of Element 14 depicted on the site and still commented in the forum.

Comparison of versions

The age - release date: Raspberry Pi - 1 Model B -  February 2012, Raspberry Pi 1 Model B+ was released In 2014,

Raspberry Pi 2 which extended RAM was released in February 2015, It could be up to 14 times faster than our Raspberry Pi 1 Model B

Raspberry Pi 3 Model B was released in February 2016     It is approximately 80% faster than the Raspberry Pi 2

 

Simple comparison is presented in the following table

image

 

Comparison of Pi1 model B to Pi3 B+

  • 700 MHz ARM11 family vs Quad Core Cortex-A53 1.4GHz CPU
  • Broadcom BCM2835  vs BCM2837 SOC 
  • 32 vs 64bit instruction set
  • 256M vs 1GB RAM
  • 10/100 Mbit/s vs 10/100/1000Mbit/s  Ethernet
  • NONE WiFi & BT vs BCM43438 wireless LAN and Bluetooth Low Energy (BLE) on board
  • 8 (26pin) vs 17 (40pin) extended GPIO
  • 2 vs 4 USB2 ports
  • SD card  vs micro SD port
  • 700 mA (3.5 W)  vs 1.13 A (5.661 W) load

Remaining supposed to be the same:

  • 4 Pole stereo output and composite video port
  • Full size HDMI
  • CSI camera port for connecting a Raspberry Pi camera
  • DSI display port for connecting a Raspberry Pi touchscreen display

Technical documentation overview

Well as usual, practically there are no documents inside the RPI box. Some safety issues - regarding to requirements and regulations.

For me It's correct. All necessary information you can find on the net... before the parcel arrived,

so you can be well prepared to use the brick when you open the box. Above concern all RPI versions most recent as well as “historical objects”.

First switching on

image

Raspberry launch

It's as usual - simple and pleasant, nevertheless system downloading is time consuming relating to the connection quality.

My decision of use NOOBS system installation option was obvious as my set was provided with the original 8G SD Card.

"Out Of the Box Software" NOOBS is user friendly and intuitive indeed!

The version delivered on the card was NOOBS v1.2.1 from Jun26 2013

image

From the early versions NOOBS provides a selection of alternative operating systems to be  downloaded and installed.

I wasn’t very extraordinary - just chose Raspbian option .

image

Some ancient graphics:

Screens taken just only for sentimental purpose:

imageimageimage

The system starts to boot:

image

Above: improper date/time but the chip recognized properly: BCM2835

Following screen: the system time was corrected

image

Then I got automatically the prompt to fine-tune base settings in raspi-config

image

Does anybody remember the old Raspbian appearance?

image

One notice here: For me, the good habit using RPi is starting the job with update/ upgrade commands:

sudo apt-get update

sudo apt-get dist-upgrade

I try to keep the system fresh!

Let’s update/ upgrade our system:

image

 

image

 

I tried to recall some old raspbian/ debian activities

image

image

Take a look at tasks, CPU & memory load etc...

image

 

Soon I realized, that the old version of Raspbian is not only impoverished but most of all less convenient as new I used to work with.

That's why I decided to install new Raspbian on my old board.

8G SD is still enough to carry the new system, nevertheless I decided to use the new card.

 

The SD card can be prepared individually, using SD card image burner (I like  Etcher) previously downloading the system image.

It's more convenient if there is a problem with fast enough internet access or you plan to burn images on more than only one card etc.

Moreover using the image,  the new, clean system can be set very quick after system fault/ damage - which is quite common when experimenting with the RPI.

image

 

image

Above : Raspbian Stretch Lite: Linux version 4.14.79+

image

image

??? some old RPI version incompatibility with the new system…?

image

image

image

image

 

At the beginning - something went wrong…

image

 

I had to recover the system, now it is working properly

image

image

 

No BT/ WiFi but we have ethernet:

image

Raspbian system on SD memory card in different RPIs

I was quite suspicious of information that the same SD memory card with the system can be used in different RPI versions.

It was a very nice surprise, when I realized that system on my “old” card from RPI3B+ works on the “new” RPI1 !

VNC in Raspberry

It's probably very old notice but I will still glorify the simplicity of use of remote control of RPi using VNC.

http://www.realvnc.com

It helps very much if our fruit is located in "strange" place or is used in extraordinary project.

Most of all, I don't need to connect it with the screen, USB ports (only 2 in our case) remain free as the remote system doesn’t need a keyboard and mouse!

Simple requirements: SSH & VNC must be enabled

Using the raspi-config:

image

Or taking the modern way:

image

VNC installed

image

image

image

My tests were conducted having RPi on laptop's screen.

The only issue is resolution. If RPi starts without the monitor, the default setting make the screen difficult to tune-up

as well as minimum resolution is... big too much.

Sometimes RPi windows oversize main window which make troubles.

 

   

ThingSpeak

According to the definition, Thingspeak is an IoT platform that enables collecting, store, analyze, visualize,

and act on data from sensors or actuators from devices as Raspberry, Arduino etc.

https://thingspeak.com/

TS is the perfect tool to upload data i.e. from RPi sensors. That gives the simple way to create cheap IoT data logging/telemetry system.

The benefit and difference from base data logger is idea of remote data collection and free access to these data from any place with the internet.

Thingspeak gives us also tools for data visualization and dashboard creation.

 

image

I decided to add data to my old RPI channel

image

onewire bus

My old projects based on temperature registration created using RPI3 and onewire DS18B20 temperature transducer work fine on the old RPI1.

sudo modprobe w1-gpio

sudo modprobe w1-therm

cd /sys/bus/w1/devices/

Ls

cd 28-00000XXXXXXXXXXX

cat w1_slave

 

image

 

TESTING - benchmarks etc...

Now I moved to real tests of RPI 1

Let me introduce the good, old Raspberry achievements:

At the beginning simple linux commands to learn RPI parameters

lscpu    CPU identification

image

cat /proc/cpuinfo    Number of processors

image

 

How it looks with quad-core RPI3B+  ?

Here we are:

image

 

 

lsusb  Identification of connected USB devices

image

Vs RPI3B+ with two USB 2.0 HUBs onboard

image

 

ifconfig -a   lets’ learn about the network parameters

image

 

ls /proc    which processes are active

image

 

Commands below are strictly related to benchmarks:

sudo cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq 

sudo cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq 

sudo cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq

sudo cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies  

sudo cat /sys/devices/system/cpu/cpu0/cpufreq/cur_freq  

sudo cat /sys/devices/system/cpu/cpu0/cpufreq/governor

sudo cat /sys/devices/system/cpu/cpu0/cpufreq/max_freq

image

And above resulting with the same value: 700MHz

 

Another simple test can be performed using:

openssl speed -elapsed -evp aes-256-cbc

image

Below - results a little different:

image

 

Lets compare it with RPI3B

image

 

Differences are shown in the table below:

Doing aes-256-cbc for 3s on X size blocks

aes-256-cbc's in 3.00s

RPi1B

RPi3B

RPi3B+

X = 16

969834

1405931

4669861

5495602

X = 64

381002

471959

1532253

1787593

X = 256

99313

126297

415754

484706

X = 1024

26984

33049

106153

123813

X = 8192

3390

4149

13350

15615

X = 16384

1652

2014

6671

7812

image

 

The 'numbers' are in 1000s of bytes per second processed:

 

type

16

64

256

1024

8192

16384

aes-256-cbc

RPi1B

5172,45k

8128,04k

8474,71k

9210,54k

9256,96k

9022,12k

7498,3k

10068,46k

10777,34k

11288,73k

11329,54k

10999,13k

RPi3B

24905,93k

32688,06k

35477,67k

36233,56k

36454,40k

36432,55k

RPi3B+

29309,88k

38135,32k

41361,58k

42261,50k

42639,36k

42663,94k

imageimage

 

current clock speed on a running RPi

vcgencmd measure_clock arm

image

Temperatura CPU

vcgencmd measure_temp

image

Which is lower than the average temperature of RPi3B+

image

 

 

Then I conducted SYSBENCH test

First - it have to be installed:

 

sudo apt-get install sysbench

image

sysbench --test=cpu --num-threads=4 --cpu-max-prime=9999 run

sysbench 0.4.12:  multi-threaded system evaluation benchmark

 

And another one: AikonCWD

Aikoncwd Raspberry Pi Benchmark

https://github.com/aikoncwd/rpi-benchmark

image

image

 

 

RPi1B

RPi3B+

Running CPU test...

total time: 12.5586s

min: 4.48ms

avg: 5.02ms

max: 14.01ms

temp=61.8'C

Running THREADS test...

total time: 240.7668s

total time: 12.2423s

min: 52.97ms

min: 4.71ms

avg: 96.29ms

avg: 4.89ms

max: 298.56ms

max: 25.74ms

temp=44.4'C

temp=63.4'C

Running MEMORY test...

Operations performed: 3145728 (68113.96 ops/sec)

Operations performed: 3145728 (2055722.75 ops/sec)

3072.00 MB transferred (66.52 MB/sec)

3072.00 MB transferred (2007.54 MB/sec)

total time: 46.1833s

total time: 1.5302s

min: 0.01ms

avg: 0.05ms

max: 83.25ms

max: 5.37ms

temp=44.4'C

temp=63.4'C

Running HDPARM test...

Timing buffered disk reads: 66 MB in 3.07 seconds = 21.49 MB/sec

Timing buffered disk reads: 68 MB in 3.05 seconds = 22.31 MB/sec

temp=44.4'C

temp=58.0'C

Running DD WRITE test...

487870464 bytes (488 MB, 465 MiB) copied, 871.443 s, 560 kB/s

536870912 bytes (537 MB, 512 MiB) copied, 72.7018 s, 7.4 MB/s

temp=42.2'C

temp=53.7'C

Running DD READ test...

487870464 bytes (488 MB, 465 MiB) copied, 28.4687 s, 17.1 MB/s

536870912 bytes (537 MB, 512 MiB) copied, 23.1917 s, 23.1 MB/s

temp=42.8'C

temp=54.2'C

 

 

Below is the old code for primes calculation which works perfectly in simple benchmarks:

 

import time

start_time = time.time()

def primes_sieve1(limit):

    limitn = limit+1

    primes = dict()

    for i in range(2, limitn): primes[i] = True

 

    for i in primes:

        factors = range(i,limitn, i)

        for f in factors[1:]:

            primes[f] = False

    return [i for i in primes if primes[i]==True]

print (primes_sieve1(20000))

print("--- %s seconds ---" % (time.time() - start_time))

print('stop')

 

With parameter of 20 000 (finding primes in the range from 0 to 20 000)

--- 5.637781858444214 seconds ---

 

With parameter of 200 000

image

Well for RPi3B+   with the range to 300 000

image

 

 

From my previous RPI tests I know very handy “pystone: test:

https://github.com/blackberry/Python/blob/master/Python-3/Lib/test/pystone.py

image

 

results are quite stable:

image

How it looks with RPi3B+?

image

New model is almost 10 times beter!

Sense Hat emulator

Try to use the Sense Hat emulator on the old RPI

What is demanded:

from sense_hat import SenseHat

from sense_emu import SenseHat

 

And It works!:

image

 

 

 

 

image

image

image

 

 

Random_sparkles.py

 

GPIO buses etc...

I2C bus:

initialization

image

And its state visualization

sudo i2cdetect -y 1

image

 

 

I like “pinout” command

image

image

 

 

 

dmesg command gives many important and interesting information about the device

“dmesg” of Raspberry Pi Model B Rev 2

 

pi@raspberrypi:~ $ dmesg

[    0.000000] Booting Linux on physical CPU 0x0

[    0.000000] Linux version 4.14.79+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1159 Sun Nov 4 17:28:08 GMT 2018

[    0.000000] CPU: ARMv6-compatible processor [410fb767] revision 7 (ARMv7), cr=00c5387d

[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache

[    0.000000] OF: fdt: Machine model: Raspberry Pi Model B Rev 2

[    0.000000] cma: Reserved 8 MiB at 0x1b400000

[    0.000000] On node 0 totalpages: 114688

[    0.000000] free_area_init_node: node 0, pgdat c09c6650, node_mem_map db010000

[    0.000000]   Normal zone: 1008 pages used for memmap

[    0.000000]   Normal zone: 0 pages reserved

[    0.000000]   Normal zone: 114688 pages, LIFO batch:31

[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768

[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 113680

[    0.000000] Kernel command line: bcm2708_fb.fbwidth=1360 bcm2708_fb.fbheight=768 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000  dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=PARTUUID=5600e06f-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles

[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)

[    0.000000] Memory: 435232K/458752K available (6435K kernel code, 588K rwdata, 1992K rodata, 444K init, 673K bss, 15328K reserved, 8192K cma-reserved)

...

whole dmesg report in the file

“dmesg” with Raspberry Pi Model B Rev 2

 

 

 

java -version

java version "1.8.0_65"

Java(TM) SE Runtime Environment (build 1.8.0_65-b17)

Java HotSpot(TM) Client VM (build 25.65-b01, mixed mode)

 

Old RPI with BLYNK

Why Blynk? - doesn't matter, it could be any IoT platform. At this time I try to experiment with blynk projects thus the decision was relatively simple.

You can learn about blynk at its site. The platform is dynamically developing.

https://blynk.io/

"Blynk is a hardware-agnostic IoT platform with customizable mobile apps, private cloud, device management, analytics, and machine learning"

Using IOS or Android apps (no control site available for the PC) to control Arduino, Raspberry Pi and similar devices over the Internet.

Using smartphone dashboard we can build a graphic interface for the project by simply dragging and dropping widgets.

Unfortunately free version capacity is limited.

Anyway simple demo project can be prepared in easy and extremely quick  way!

imageimageimageimageimageimageimage

I had to install wiringPi     (wiringpi  http://wiringpi.com/the-gpio-utility/ )

and:           git clone https://github.com/blynkkk/blynk-library      - of course

results of the installation are visible

image

image

Now I have RPI connected

 

clicking "the button" on the application I switched the LED on GPIO 25 ON/OFFimage

 

GPIO status visualization

(wiringpi  http://wiringpi.com/the-gpio-utility/ is required!)

 

image

gpio allreadall

image

 

image

Above shows the behaviour of PIN25 during my GPIO control tests

ERROR!!!!!

During my roadtest I encountered quite serious system crashes:

 

image

EXT4-fs error (device mmcblk0p2): ext4_iget:4708: imode #153898: comm env: bad extra_isize 65535 (imode size 256)

Above appear after system update/ upgrade. (apt-get install i guess…)

System on the SD must have been damaged!

why/ how ???

 

And more serious fault:

image

Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,7)

Now I’m working with that issue.

 

PRO/CON

 

PROs

RPi 1B  is still very useful tool, although more than 7 years old, thanks to its versatility, It could be employed in comprehensive projects.

Moreover low power demands makes it even more convenient for many projects, than most recent RPI versions!

All versions of RPI are extremely easy to learn how to deal with and use.

Clear instructions, myriads of forums wih active RPI enthusiasts, examples and advice will not allow you to feel lost when encounter hardware or software issue.

 

CONs

It is ashamed for my to dare write critic words about that old, retired machine.

This is like complaining about elders nowadays, in quite different circumstances, wih better knowledge etc…

Designers learned how to improve modern Raspberries thanks to the early RPI models.

Hence my admiration for Raspberry Pi model 1B!

Nevertheless let me throw my two cents here...

I can’t be absolutely sure but I think the most recent Rapbian isn’t 100% compatible with old RPI and that may resultiing with errors

or even system damages as described previously.

Lack of WiFi & BT - obviously but these are the benefits of new versions rather than disadvantages of primary RPI.

If you think of the use of the RPI for fast calculation operations, don’t think about that old man,

definitely new models would be recommended!

 

Bibliography

Raspberry papers, manuals      Raspberry Pi official site     www.raspberrypi.org

Wikipedia.org

Many users blogs etc...

 

Thank you for selecting me as the roadtester and give me the opportunity to deal with that old but still amazing as well as... - despite time pass - extraordinary tool.

Marek

Anonymous
  • Concerning sense hat, As I used the emulator there were no conflict,

    the code worked correctly.

    Unfortunately I don't have the original one.

     

    plans? ...to be continued...

  • No fair! My RoadTest Grab bag was a PiB SBC with no extras. Oh well, I liked the demo of your NOOBs install and then updating.

     

    Nice trip down memory lane. Refreshed my knowledge on GPIO utilities.

     

    Two questions:

    The sense hat appears to be 40pin. What shortcomings did you experience using a 26pin Pi?

    What are your plans for the aging PiB?

     

    Sean