Twiddling An LED Using The BeagleBone’s Embedded Linux

If you comfortable working with 8-bit microcontrollers, the thought of moving to a hardware platform running embedded Linux may be a bit daunting. After all, there’s a lot going on between you and the chips on a board like the BeagleBone seen above. But [Matt Richardson] shows how easy it can be to get at the pins on this device. He put together a primer on hardware control from the embedded shell.

You will remember that the BeagleBone is the newest generation of the BeagleBoard. The ARM processor and other goodies make it a powerful tool, and those already familiar with Linux will be able to get up and running in no time. Just connect the board to your network and SSH into it to get started. [Matt] outlines this setup process in the clip after the break. He then hits the reference manual to find the pinout of the female headers on either side of the board. Each available I/O pin is mapped to the /sys directory and can easily be controlled by echoing your commands to the appropriate files. But [Matt] went a step further than that, writing his own Python library that implements Arduino-style syntax like the digitalWrite() function.

This example should give you enough of a shove to start porting your own libraries over for use with the device. Don’t forget to document your projects and tip us off about them. Continue reading “Twiddling An LED Using The BeagleBone’s Embedded Linux”

A Simple Touch Interface For Music Player Daemon And More

mpd-controller

[Andrew] recently got the authorization to install Linux on his work PC, and he was looking for a way to control his music without relying on keyboard shortcuts to do so. Additionally, he wanted an unmistakable visual cue when he received messages in Pidgin, so he decided to build an external input/notification box.

The control box, quite literally, is a cardboard box in which [Andrew] crammed some components he got way back when from the crew at Seeed Studio. A Seeeduino serves as the brains of his control panel, interfacing with his PC over USB. He uses a set of 4 touch sensors and a potentiometer to control the MPD, allowing him to easily switch tracks, pause his music, control the volume, and lock his computer with a simple touch. A side-mounted RGB LED lights green to show that the system has received his commands successfully, pulsing a bright blue whenever a message arrives via Pidgin.

While the case isn’t exactly pretty, it is small, recycled, and takes up very little desk space. [Andrew] says that it works great, and he has made his code available on github if anyone is interested in using it.

Freedom Toaster Dispenses FOSS… For Free

The Seneca College Linux Club figured out a fantastic way to help promote Linux to a wider audience. They took some surplus hardware and made an Open Source software vending machine. That is and isn’t a play on words. The project itself is an open source project, and the goal is to dispense other open source software in the form of CDs and DVDs.

Their build page shares all of the details. They acquired an older server cabinet which was on the way out from the IT department. It’s more than large enough to fit a person inside, which is overkill but it makes it much less likely that someone will try to walk off with the thing. Inside you’ll find a computer, two monitors (one is a touch screen for consumer use, the other is just an extra hidden inside for maintenance.

You must bring your own blank CD-R or DVD-R (but the burning is free). You can see the DVD shelf at waist-level on the fully painted kiosk above. The only thing we think is missing here is a USB port for brewing up a bootable USB stick.

[Thanks MS3FGX]

Using The Parallel Port As A Logic Sniffer

[Fernando] wrote in to share his take on building a logic analyzer. He’s using the parallel port to capture data and feed it to the display software of your choice.

The method depends on a custom kernel which alters the way the parallel port works. The kernel he compiled includes a method of intercepting the signals coming in from the hardware, passing that data to the /dev/parport* as it should, but also sending a copy to /dev/parportsnif*. It also creates a log file which is in the OpenBench Logic Sniffer format for easy use with various display software.

Of course this is easiest to use with a Linux system, but can also be run as a virtual machine under Windows. We’d plan on using a virtual machine within Linux as well since this is a custom kernel and will probably only see occasional use.

Complete Guide To Compiling OpenWRT

Regular reader [MS3FGX] recently wrote a guide to compiling OpenWRT from source. You may be wondering why directions for compiling an open source program warrant this kind of attention. The size and scope of the package make it difficult to traverse the options available to you at each point in the process, but [MS3FGX] adds clarity by discussion as much as possible along the way.

OpenWRT is an open source alternative firmware package that runs on may routers. It started as a way to unlock the potential of the Linksys WRT54G. But the versatility of the user interface, and the accessibility of the Linux kernel made it a must-have for any router. This is part of what has complicated the build process. There are many different architectures supported and you’ve got to configure the package to build for your specific hardware (or risk a bad firmware flash!).

You’ll need some hefty hardware to ease the processing time. The source package is about 300 MB but after compilation the disk usage will reach into the Gigabyte range. [MS3FGX] used a 6-core processor for compilation and it still took over 20 minutes for a bare-bones distribution. No wonder pre-built binaries are the only thing we’ve ever tried. But this is a good way to introduce yourself to the inner workings of the package and might make for a frustrating fun weekend project.

This Digital Picture Frame Runs Linux Better Than You Might Think

Ah, the beauty of spreading the guts of some hackable hardware across your workbench. This happens to be the circuit board and LCD screen from a Parrot DF3120 digital picture frame. The device is pretty powerful, considering you can still find them available for around $25. You’ll get a 3.5″ screen, ARM9 processor with 8MB or RAM, Bluetooth, a tilt sensor, and more. It seem that [BusError], [Sprite_tm], [Claude], and few others really went to town and spilled all of the secrets this device has to offer.

Their goal of the hack was to get their own Linux kernel running. It is possible to reprogram the processor using its JTAG interface. And if you really want to drill down to the good stuff, there’s access to all of the BGA pins on the bottom of the board thanks to a grid of micro vias. But the device can be tricked into flashing your own firmware just by altering a stock upgrade image.

You can get a pretty good idea of what there is to do once you’ve replaced the firmware from the video after the break. A RAM upgrade (using a chip from an old PC133 stick) lets the video run smoothly as it’s controlled via a Wii remote.

Continue reading “This Digital Picture Frame Runs Linux Better Than You Might Think”

Using A Mac And XCode As A Linux Development Platform

[Ricard Dias] wrote in to tell us about his guide for developing Linux applications on a Mac. He really enjoys the development environment provided by XCode, and it doesn’t take much to make it work as an all-in-one solution for Linux development.

The real trick here is the use of SSH to access a Linux environment. In this example he uses Ubuntu running as a virtual machine, but also mentions that the same thing can be done just as easily with a separate box as long as it is on the same network as the Mac. SSHFS (the SSH Filesystem) lets him mount the development directory on the Linux box locally. This is where the XCode project and files will be stored, but building the program will be done by the Linux machine via a script calling the make comand via SSH. To test out the newly built program, [L] tunnels in using X11 forwarding for ssh, and the application will be shown as a window in OSX, even though it is running on the Ubuntu machine.

We love SSH and use it all the time. It’s amazing how hand it can be.