Roll Your Own Raspberry Pi OS

Writing an operating system is no small task, but like everything else it is easier than it used to be. [JSandler] has a tutorial on how to create a simple operating system for the Raspberry Pi. One thing that makes it easier is the development environment used. QEMU emulates a Raspberry Pi so you can do the development on a desktop PC and test in the virtual environment. When you are ready, you can set up a bootable SD card and try your work on a real device.

The operating system isn’t very complex, but it does boot, organize memory, displays on the screen, handles interrupts, and manages processes. What else do you need?

Continue reading “Roll Your Own Raspberry Pi OS”

Four Pi Zeros, Four Cameras, One Really Neat 3D Scanner

Sometimes when you walk into a hackerspace you will see somebody’s project on the table that stands so far above the norm of a run-of-the-mill open night on a damp winter’s evening, that you have to know more. If you are a Hackaday scribe you have to know more, and you ask the person behind it if they have something online about it to share with the readership.

[Jolar] was working on his 3D scanner project on just such an evening in Oxford Hackspace. It’s a neatly self-contained unit in the form of a triangular frame made of aluminium extrusions, into which are placed a stack of Raspberry Pi Zeros with attached cameras, and a very small projector which needed an extra lens from a pair of reading glasses to help it project so closely.

The cameras are arranged to have differing views of the object to be scanned, and the projector casts an array of randomly created dots onto it to aid triangulation from the images. A press of a button, and the four images are taken and, uploaded to a cloud drive in this case, and then picked up by his laptop for processing.

A Multi-view Stereo (MVS) algorithm does the processing work, and creates a 3D model. Doing the processing is VisualSFM, and the resulting files can then be viewed in MeshLab or imported into a CAD package. Seeing it in action the whole process is quick and seamless, and could easily be something you’d see on a commercial product. There is more to come from this project, so it is definitely one to watch.

Four Pi boards may seem a lot, but it is nothing to this scanner with 39 of them.

Overclock Your Raspberry Pi The Right Way

The Raspberry Pi came upon us as an educational platform. A credit card sized computer capable of running Linux from a micro SD card, the Raspberry Pi has proven useful for far more than just education. It has made its way into every nook and cranny of the hacker world. There are some cases, however, where it might be a bit slow or seem a bit under powered. One way of speeding the Raspi up is to overclock it.

[Dmitry] has written up an excellent overclocking guide based upon Eltech’s write up on the subject. He takes it a bit further and applies the algorithm to both Raspi 2 and Raspi 3. You’ll need a beefier power supply, some heat sinks and fans – all stuff you probably have lying around on your workbench. Now there’s no excuse stopping you from ratcheting up the MHz and pushing your Pi to the limit!

We’ve seen several guides to overclocking the Raspi here on Hackaday, including the current record holder. Be sure to check out [dmitry’s] IO page for the overclocking details, and let us know of any new uses you’ve found by overclocking your Raspi in the comment below.

Raspberry Pi Offers Soulless Work Oversight

If you’re like us, you spend more time than you care to admit staring at a computer screen. Whether it’s trying to find the right words for a blog post or troubleshooting some code, the end result is the same: an otherwise normally functioning human being is reduced to a slack-jawed zombie. Wouldn’t it be nice to be able to quantify just how much of your life is being wasted basking in the flickering glow of your monitor? Surely that wouldn’t be a crushingly depressing piece of information to have at the end of the week.

With the magic of modern technology, you need wonder no longer. Prolific hacker [dekuNukem] has created the aptly named “facepunch”, which allows you to “punch in” with nothing more than your face. Just sit down in front of your Raspberry Pi’s camera, and the numbers start ticking away. It’s like the little clock in the front of a taxi: except at the end you don’t have to pay anyone, you just have to come to terms with what your life has become. So that’s cool.

It doesn’t take much hardware to play along at home. All you need is a Raspberry Pi and the official camera accessory. Though for the full effect you should add one of the displays supported by the Luma.OLED driver so you can see the minutes and hours ticking away in real-time.

To get the facial recognition going, all you need to do is take a well-lit picture of your face and save it as a 400×400 JPEG. The Python 3 script will take care of the rest: checking the frames from the camera every few seconds to see if your beautiful mug is in the frame, and incrementing the counters accordingly.

Even if you’re not in the market for an Orwellian electronic supervisor, this project is a great example to get you started in the world of facial recognition. With a little luck, you’ll be weaponizing it in no time.

This Portable Pi May Not Be What You Expect

In the years since the Raspberry Pi and other similar inexpensive Linux-capable single board computers came to the market, we have shown you a huge variety of projects using them at the heart of portable computers. These normally take the form of a laptop or tablet project, but today we have one that starts from a completely different perspective.

The “Kindleberry Pi Zero W” from [Ben Yarmis] does not attempt to create an enclosure or form factor for a portable computing solution. Instead it’s fair to say that it is more of a software hack than a hardware one, as he’s created something of an ad-hoc portable Raspberry Pi from other off-the-shelf pieces of consumer hardware.

The Zero W is a particularly useful computer for this application because of its tiny size, lowish power consumption, on-board Bluetooth, and wireless networking. He has taken a W and put it in the official Pi case, with a portable battery pack. No other connections, that’s his computer. As an input device he has a Bluetooth keyboard, and his display is a jailbroken Kindle Touch tied to the Pi using his Android phone as a WiFi router. We suspect with a little bit of configuration the Pi could easily serve that function on its own, but the phone also provides an Internet connection.

The result is a minimalist mobile computing platform which probably has a much longer battery life and higher reliability than portable Pi solutions using LCD displays, and certainly takes up less space than many others. Some might complain that there’s no hack in wirelessly connecting such devices, but we’d argue that spotting the possibility when so many others embark on complex builds has an elegance all of its own. It has the disadvantage for some users of providing only a terminal based interface to Raspbian, but of course we’re all seasoned shell veterans for whom that should present no problems, right?

Notable portable Pi solutions we’ve shown you before include this beautiful Psion-inspired project, and this one using the shell of an old laptop.

Bartop Arcade Cabinet Build Skips The Kit

An arcade cabinet is one of those things that every gamer wants at home, but few ever get. Getting a real arcade cabinet is usually expensive, and building one yourself is no small feat. There are kits you can get now which help the process along, generally taking the form of pre-cut cabinet parts, but with them comes the quiet shame of kit-building. What if your friends found out you used a kit instead of designing it yourself? The drama is almost too much to think about.

That’s how [Bogdan Berg] felt about it, at least. Not content with just getting a pre-cut cabinet kit from eBay, he decided to design and build his own bartop arcade machine in just one week: fast enough for him to fit the whole thing into his Christmas vacation. We don’t know what Christmas was like for his friends and family this year with him toiling away on this beautiful build the whole time, but we can confidently say his Christmas was awesome.

He designed the cabinet in Fusion 360, working around the limitation that the laser cutter he had access to had a work area of 24 inches by 18 inches. Some interesting design choices were made here, including going with a tab and slot construction method. While [Bogdan] admits that this aesthetic isn’t always popular, he liked how sturdy it makes the final product.

He was originally going to use plywood for the cabinet, but owing to the fact that he couldn’t find any pieces that weren’t warped locally, he switched over to MDF. Using MDF did mean he had to seal all the cut pieces with shellac before painting, but in the end he’s happy with the final lacquer paint job; even if it did take more work and materials than he anticipated.

The hardware is pretty much the standard for DIY arcades these days: a 17 inch LCD monitor he had laying around is used for the display, a two player joystick and button kit from Amazon provides the user interface, and emulation is provided by a Raspberry Pi 3 running RetroPie. A recessed door in the rear allows him to get into the machine will still maintaining a finished look on the backside.

While the size of them may vary wildly, DIY arcade cabinets are always a popular project. Whether shamelessly emblazoned with our logo or playing host to glorious LED lighting, it seems like the design of these cabinets provide as much entertainment as the games they play.

Continue reading “Bartop Arcade Cabinet Build Skips The Kit”

Color Changing Clock Gets A Pi Zero Heart

Hackaday reader [Don] dropped by the tip line recently to let us know about the latest version of his color-changing LCD clock project. This is his second version of the hardware which makes some pretty big improvements over the original, including moving from the Pi B to the Pi Zero and an internal simplification of the wiring. He mentions the next revision of the project will focus on Google Home integration, which should be interesting to see.

As a father of two pre-school age children, he was looking for a way to help his kids understand the concept of time and scheduled activities. Colors and shapes come fairly easy to children of this age, but time and how it relates to the day is a bit more difficult for them especially as their comprehension of numbers is still developing. [Don] reasoned that even if they couldn’t read the numbers on the clock yet, if he had the display change colors to indicate different periods of the day (sleep, play, cleanup, etc), it would not only keep them on schedule, but reinforce the meaning of the numbers on the screen.

ShiftBrite installed in the projector.

The project was made infinitely easier by a lucky find at a local retailer. For $10 he got a kid-friendly looking clock that utilized a simple projector to backlight the LCD display. This meant [Don] would just need to swap out the stock lighting module for a controllable RGB LED, and the hardware modifications would essentially be complete.

Even the Pi Zero fits perfectly inside the case of the clock, the only modification necessary was cutting a little hole in the back for the Pi’s micro USB port. His earlier version used an external Pi B connected to the clock via CAT5, so getting it all integrated into the one device is a huge improvement, especially when little kids are involved. Moving the Pi and its 5 V pins into the clock itself also allowed [Don] to drop the voltage regulator required previously.

With the basic hardware for a color changing LCD clock together, the rest of the project was just a matter of software. After some research, [Don] came across RPi-ShiftBrite by [Hive13] and made his own fork which added some features necessary for his project, namely the ability to quickly set the ShiftBrite to a specific color on the command line. To schedule the color changes, he used the very slick minicron: a web-based tool to create and monitor Linux cron jobs.

The Pi itself does not actually interface with the clock, and with no onboard RTC it’s necessary to keep it updated with NTP or else the times will become desynchronized. It can be necessary to sync the Pi’s clock to the Internet as often as every hour to make sure the colors shift at the appropriate times. The addition of a RTC module like the DS1307 could alleviate this issue and might be something to consider for a future revision.

All told, a fantastic project and something we’ll be sure to keep our eyes on as it progresses. We’ve seen our share of unique Raspberry Pi powered clocks, and even a few color changing ones, but this approach is easily the most straight-forward we’ve seen.

Continue reading “Color Changing Clock Gets A Pi Zero Heart”