Benchmarking The Raspberry Pi 2

The Raspberry Pi has only been available for a few days, but already those boards are heading through the post office and onto workbenches around the world. From the initial impressions, we already know this quad-core ARMv7 system boots in about half the time, but other than that, there aren’t many real benchmarks that compare the new Raspberry Pi 2 to the older Raspi 1 or other similar tiny Linux dev boards. This is the post that fixes that.

A word of warning, though: these are benchmarks, and benchmarks aren’t real-world use cases. However, we can glean a little bit of information about the true performance of the Raspberry Pi 2 with a few simple tools.

For these tests, I’ve used Roy Longbottom’s Raspberry Pi benchmarking tools, nbench, and a few custom tools to determine how fast both hardware versions of the Raspberry are in real-world use cases.

Continue reading “Benchmarking The Raspberry Pi 2″

Introducing the Raspberry Pi 2

TL;DR It’s called the Raspberry Pi 2 Model B. Quad core ARM Cortex A7 with one Gig of RAM. It’s the same form factor as the Raspberry Pi Model B+. Available now at Newark, Element 14, Allied, and RS Components. It’s the same price as the old one. You’re not a child and you should learn to read.

The original Raspberry Pi released, three years ago, was looking a bit long in the tooth when it was first launched. That’s to be expected for a computer that sells for $35 USD. Three years is a long time in the world of electronics, and the Pi is due for an update. It’s here, now, and the biggest change is a faster quad-core chip, a better processor architecture, and 1GB of RAM.

The Raspberry Pi 2 Model B features a quad-core ARM Cortex A7 running at 1GHz with 1GB of RAM. This chip uses the ARMv7 architecture instead of the ARMv6 of the original Raspi. When playing around with it, it was noticeably zippier than my months-old Raspi Model B in web browsing tasks. Very, very cool, and something that opens up a few doors for CPU-intensive applications.

Although the CPU has been updated, there isn’t much else on the Pi that has changed. USB and Ethernet is still handled by the LAN9514 USB/Ethernet controller. If you’re looking for Gigabit Ethernet, sorry that’s not going to happen. We’re not going to get eMMC Flash, SATA ports, or anything groundbreaking other than the CPU with this hardware update. It’s pretty much just a CPU and RAM upgrade.

All the original ports found on the Raspberry Pi Model B+ are found on the Raspi 2; HDMI, audio, analog video, Ethernet, USB, CSI, the as-for-now unused DSI, and GPIO ports haven’t changed. Again, we’re looking at a CPU and RAM upgrade with this hardware release.

Instead of the odd Package On Package CPU and RAM stack featured in previous Raspberry Pis, the RAM has now moved to the back on the Raspi 2:


The RAM chip is an Elpida EDB8132B4PB-8D-F, an eight gigabit DDR2 RAM that has the same clock rate as the RAM in the original Raspi. Don’t look for an increase in memory performance or speed. Instead, just be glad there’s now a full gigabyte of RAM on the Raspi.

A few of you may remember the ‘upgrade’ all those Raspberry Pi early adopters missed out on. After the first few hundred thousand Raspberry Pi Model Bs shipped, someone realized they could upgrade the RAM from 256 MB to 512 MB. It is not yet known whether the Raspberry Pi 2 will be upgraded as easily. Sixteen gigabit RAMs do exist, but now that the CPU and RAM aren’t on the same package, there’s more to consider than just plopping down a new RAM chip.

Continue reading “Introducing the Raspberry Pi 2″

Raspberry Pi Learns how to Control a Combustion Engine

For his PhD at the University of Michigan, [Adam] designed a Raspberry Pi-based system that controls an HCCI engine, a type of engine which combines the merits of both diesel and gasoline engines. These engines exhibit near-chaotic behavior and are very challenging to model, so he developed a machine learning algorithm on a Raspberry Pi that adaptively learns how to control the engine.

[Adam]’s algorithm needs real-time readings of cylinder pressures and the crankshaft angle to run. To measure this data on a Raspberry Pi, [Adam] designed a daughterboard that takes readings from pressure sensors in each cylinder and measures the crankshaft angle with an encoder. The Pi is also equipped with a CAN transceiver that communicates with a low-level engine control unit.

RasPi HCCI Engine Control[Adam]’s algorithm calculates engine control parameters in real-time on the Pi based on the pressure readings and crankshaft position. The control values are sent over CAN to the low-level engine controller. The Pi monitors changes in the engine’s performance with the new values, and makes changes to its control values to optimize the combustion cycle as the engine runs. The Pi also serves up a webpage with graphs of the crankshaft position and cylinder pressure that update in real-time to give some user feedback.

For all the juicy details, take a look at [Adam]’s paper we linked above. For a more visual breakdown, check out the video after the break where [Adam] walks you through his setup and the awesome lab he gets to work in.

Continue reading “Raspberry Pi Learns how to Control a Combustion Engine”

Tracking Power Usage With A Raspi

With tiny, Internet-connected computers everywhere these days, home automation is finally hitting it big. [Jelora] was looking for a few more home automation projects and realized his electric meter had a pair of ‘digital information outputs’. With a Raspberry Pi and a few bits of wire, he figured out how to read this digital output and put a log of his electricity consumption up on the web.

The digital output on [Jelora]’s meter is a bit odd; it’s 1200 bps, 7 bits per character, parity, with one stop bit. It’s also a 50 kHz AC signal for a binary ‘0’ and nothing for a binary ‘1’. To read this signal, [Jelora] is using a diode to throw out half the signal, a 6N138 optoisolator so the Pi isn’t connected directly to the meter, and a small cap to smooth out the signal. Simple, and it works.

This cleaned up signal is then connected to serial to USB chip and a PHP script scrapes the data every minute. The data received from the meter is stored in a data base along with a few other bits of information: if the meter is being charged peak or off-peak rates, and the price per kWh. All this is saved on an IDE hard drive (more reliable than the SD card, surprisingly), and a ‘electricity cost per day’ is plotted on a nifty graph and served up by the Raspberry Pi.

Dedicated Automobile Traffic Monitor with Raspberry Pi

[j3tstream] wanted an easier way to monitor traffic on the roads in his area. Specifically, he wanted to monitor the roads from his car while driving. That meant it needed to be easy to use, and not too distracting.

[j3tstream] figured he could use a Raspberry Pi to run the system. This would make things easy since he’d have a full Linux system at his disposal. The Pi is relatively low power, so it’s run from a car cigarette lighter adapter. [j3tstream] did have to add a custom power button to the Pi. This allows the system to boot up and shut down gracefully, preventing system files from being corrupted.

After searching eBay, [j3tstream] found an inexpensive 3.2″ TFT LCD touchscreen display that would work nicely for displaying the traffic data. The display was easy to get working with the Pi. [j3tstream] used the Raspbian linux distribution. His project page includes a link to download a Raspbian image that already includes the necessary modules to work with the LCD screen. Once the image is loaded, all that needs to be done is to calibrate the screen using built-in operating system functions.

The system still needed a data connection. To make things simple and inexpensive, [j3tstream] used a USB WiFi dongle. The Pi then connects to a WiFi hot spot built into his 4G mobile phone. To view the traffic map, [j3tstream] just connects to a website that displays traffic for his area.

The last steps were to automate as much as possible. After all, you don’t want to be fumbling with a little touch screen while driving. [j3tstream] made some edits to the LXDE autostart file. These changes automatically load a browser in full screen mode to the traffic website. Now when [j3tstream] boots up his Pi, it automatically connects to his WiFi hotspot and loads up local traffic maps.

The Smallest Portable Pi

What do you get when you take an extremely small Raspberry Pi clone and stuff it inside a Game Boy Advance SP? We don’t know what to call it, but it’s probably one of the best portable gaming machines ever made, able to run emulators ranging from the Apple II to playing Quake III natively on a tiny flip-top display.

This isn’t the first time we’ve seen [frostedfires]’ work on a tiny system stuffed into a Game Boy. The initial post on this build over on the bacman forums just covered the basics – getting an Odroid W up and running, and putting Quake III on the tiny display. Now that the build is complete, we can get a look at what it takes to turn a Raspberry Pi clone into one of the smallest portable projects we’ve ever seen.

Using a Raspi clone as the only component in a tiny portable emulation station isn’t possible, so [frostefires] added a few other bits of electronics to make everything work. There’s a joystick from a PSP in there to work as the mouse, a few extra buttons in addition to the stock Game Boy ones, A USB hub, WiFi adapter, speaker and amplifier, a battery and the related charging electronics, and a Teensy 3.1 to handle all the input.

It’s a very impressive build that can run emulators ranging from the Apple II to later generation Nintendo consoles and handhelds (including the Game Boy Advance), but since the HDMI connector is availble on the outside of the case, [frostedfires] can also use this as a tiny, portable media center. Check out the video below to see this Game Boy in action, playing Mario Kart and 1080p video.

Continue reading “The Smallest Portable Pi”

Multiplexing Pi Cameras

The Raspberry Pi and its cool camera add-on is a great way to send images and video up to the Intertubes, but what if you want to monitor more than one scene? The IVPort can multiplex up to sixteen of these Raspi camera modules, giving the Pi sixteen different views on the world and a ridiculously high stack of boards connected to the GPIO header.

The Raspberry Pi’s CSI interface uses high-speed data lines from the camera to the CPU to get a lot of image data quickly. Controlling the camera, on the other hand, uses regular old GPIOs, the same kind that are broken out on the header. We’ve seen builds that reuse these GPIOs to blink a LED, but with a breakout board with additional camera connectors, it’s possible to use normal GPIO lines in place of the camera port GPIOs.

The result is a stackable extension board that splits the camera port in twain, allowing four Raspi cameras to be connected. Stack another board on top and you can add four more cameras. A total of four of these boards can be stacked together, multiplexing sixteen Raspberry Pi cameras.

As far as the obvious, ‘why’ question goes, there are a few interesting things you can do with a dozen or so computer controlled cameras. The obvious choice would be a bullet time camera rig, something this board should be capable of, given its time to switch between channels is only 50ns. Videos below.

Continue reading “Multiplexing Pi Cameras”