Raspberry Pi wedded to a DSLR

This is a Raspberry Pi outfitted in a DSLR battery grip. [Dave H] was very interested in the idea of combining a single-board computer with a high-end camera. The size and cost of such a computer was prohibitive until the RPi came along. He managed to fit the board into the broken battery grip he had on hand, and he already has the prototype up and running.

[Dave's] alterations to the battery grip allow access to the USB, Ethernet, and Composite video ports. Powering the RPi was a bit of a challenge. He tried using an iPhone charger with four AA batteries but that only provided 4.2V. After going back to the drawing board he discovered he could rework the parts that he removed from the grip, using a Cannon 7.2V 1800 mAh battery. So far he can automatically pull images from the Camera and transmit them over a network connection. But since the RPi is running Linux, there’s a whole world of hacks just waiting to be exploited. What comes to mind first is image manipulation software (like ImageMagick) which has a command-line interface.

[Thanks Christian]

node.js for Linux joysticks

[Tim Caswell] has been using gamepads and joysticks to demonstrate his node.js hacks for a long time. The thing is, he has been relying on C++ bindings to handle the hardware while trying to herald the praises of node.js. Why not cut out the middle man and write a joystick driver in node.js? It turns out to be so simple anyone can do it.

Granted, this is not a kernel driver. He’s relying on the Linux kernel to recognize the hardware and provide him with the customary /dev/js0 file which he can then work with. As you can see in the snippet above, he’s looping through code in order to constantly read from the hardware. To get this far he dug through the documentation for joystick packets (yay for open source!) to find that each is made of a 32-bit timestamp, a 16-bit value, and two 8-bit numbers identifying the event type and button or axis.

Once he has the packets, it’s off to the races. Each data type is parsed into an appropriate variable which you can use in the logic of your own program. Don’t be nervous, this will make a great weekend project!

Adafruit’s custom Rasp Pi distro eases some pain

Many of you have still not yet received your Raspberry Pi. When you do, you’ll find that there is work to be done in the operating system to get things working as you might want them to.  The wonderful folks over at Adafruit have tackled this by releasing their own distribution of Linux for the Raspberry Pi.

Based on the shipped distribution “Wheezy”, Adafruit’s distribution “Occidentalis v0.1. Rubus occidentalis” or “the Black Raspberry” now includes the following:

 

Hacking a parallel port flash memory programmer

[Pulko Mandy] doesn’t use his flash ROM programmer very often, but he does use it. When he tried to get support for a new chip and the manufacturer suggested he just buy a newer version he decided to hack the programmer and it’s software instead.

This device connects to the parallel port and was intended for use with MS-DOS systems (no wonder there’s no longer support from the company). The board uses logic chips to add read and write function. So the first step was to analyze how they connect together and come up with a set of commands. While at it he also made some changes to the board to bring the voltage more in spec and ensure the logic levels on the parallel port met the correct voltages.

His plan was to use the board with a Linux system so the parallel port interface can stay. He used what he learned from the hardware inspection to write his own interface in C++. It works with a chip he was able to use under the MS-DOS software, but he hasn’t gotten it to work with the chip that sparked this adventure. If you’re familiar with how the AT29C040A works please consider lending a hand.

Turning the InnoTab into a Linux Tablet

A few weeks ago we caught wind of [Mick] breaking out his screwdrivers and soldering iron to get a serial console on his son’s VTech InnoTab. [Mick] was able to get the touchscreen working and successfully ported SCUMMVM to the device, but there was still a long road ahead to get  the source for this pint-sized tablet.

[David Anders] from elinux.org wrote in to tell us VTech is now giving away their source for the InnoTab, something they’ve been holding back so far. [Dave] is now verifying the VTech release is 100% complete, so if you’d like to give him a hand, drop him a line.

If you’re thinking this is your ticket to an inexpensive and powerful Linux tablet, prepare to be disappointed. The InnoTab is an ARM 11 running at 180 MHz with a paltry 64 MB of RAM. That’s not exactly top-of-the-line hardware, but at the very least you’ll be able to play Doom on it.

A tale of (un)bricking a $10k Microsoft Surface unit

We’ve all had that sinking feeling as a piece of hardware stops responding and the nasty thought of “did I just brick this thing?” rockets to the front of our minds. [Florian Echtler] recently experienced this in extremis as his hacking on the University of Munich’s Microsoft Surface 2.0 left it unresponsive. He says this is an 8,000 Euro piece of hardware, which translates to around $10,000! Obviously it was his top priority to get the thing working again.

So what’s the first thing you should do if you get your hands on a piece of hardware like this? Try to run Linux on the thing, of course. And [Florian] managed to make that happen pretty easily (there’s a quick proof-of-concept video after the break). He took a Linux kernel drive written for a different purpose and altered it to interface with the MS Surface. After working out a few error message he packaged it and called to good. Some time later the department called him and asked if his Linux kernel work might have anything to do with the display being dead. Yikes.

He dug into the driver and found that a bug may have caused the firmware on the USB interface chip to be overwritten. The big problem being that they don’t just distribute the image for this chip. So he ended up having to dump what was left from the EEPROM and rebuild the header byte by byte.

[Read more...]

[Sprite_tm] connects an LCD to a tiny Linux board

One of [Sprite_tm]‘s colleagues recently challenged him to connect a small LCD touch screen to a Raspberry Pi. Sadly, [Sprite_tm] has yet to take delivery of a Raspberry Pi, but he did manage to connect an LCD to a Linux board without video capabilities.

Because [Sprite_tm]‘s display has a 16-bit parallel interface, and 16 GPIO pins are hard to come by on the Carambola Linux board, a few shift registers had to be brought into the build to make the LCD work. These shift registers are connected to the Carambola board via an SPI interface; a very simple way to connect all the LCD pins to the Linux board.

Of course, there’s no way for Linux to speak to the LCD without a kernel driver; [Sprite_tm] wrote a framebuffer driver so the LCD can be used as a console, an X session, or used by any other program that can write to a framebuffer device.

Like all good driver authors, [Sprite_tm] is giving away the patch to enable SPI-ified LCD panels on the Carambola along with the shift register schematic. With any luck we’ll also see the Raspi drivers when [Sprite_tm] takes delivery of his Raspberry Pi.