OSH Park Adds Board Sharing Feature

osh-park-board-sharing

OSH Park continues to get better and better. We think the recent addition of Project Sharing is a huge feature! Obviously this lets you order up the open source goodness posted by others with a minimum amount of effort. But to us there are a couple of other things that make this valuable.

First off, the ability to browse through the projects can be a huge inspiration for your own work. Secondly, the board files themselves are available for download, and it looks like you can post links to your repository if you so choose when sharing your project. This makes OSH Park something of a Thingiverse for PCBs. Browse through what’s offered then download the files to etch yourself or just to use as reference to see how others do things when laying out the traces. And of course the rock bottom prices offered make this a no-brainer for shared breakout board designs.

The Twitter post calls this the “early stages” of the feature. We can’t wait to see what they come up with as it matures.

A Macbook Air And A Thunderbolt GPU

When Intel and Apple released Thunderbolt, hallelujahs from the Apple choir were heard. Since very little in any of Apple’s hardware lineup is upgradeable, an external video card is the best of all possible world. Unfortunately, Intel doesn’t seem to be taking kindly to the idea of external GPUs. That hasn’t stopped a few creative people like [Larry Gadea] from figuring it out on their own. Right now he’s running a GTX 570 through the Thunderbolt port of his MacBook Air, and displaying everything on the internal LCD. A dream come true.

[Larry] is doing this with a few fairly specialized bits of hardware. The first is a Thunderbolt to ExpressCard/34 adapter, after that an ExpressCard to PCI-E adapter. Couple that with a power supply, GPU, and a whole lot of software configuration, and [Larry] had a real Thunderbolt GPU on his hands.

There are, of course, a few downsides to running a GPU through a Thunderbolt port. The current Thunderbolt spec is equivalent to a PCI-E 4X slot, a quarter of what is needed to get all the horsepower out of high-end GPUs. That being said, it is an elegant-yet-kludgy way for better graphics performance on the MBA,

Demo video below.

Continue reading “A Macbook Air And A Thunderbolt GPU”

How To Play A Game Boy Emulator On Chromecast

gameboy-on-chromecast

It’s small, it’s blurry, but it’s working. Here’s a proof of concept for playing emulators on a Chromecast which uses the original Game Boy as an example.

Notice that there are two screens shown in the demo. Out of focus in the background is the television with the Chromecast displaying the game play. In the foreground is a computer with a browser open which lists off the control setup. These are the button mappings for an Xbox 360 controller. The emulator is a JavaScript Game Boy emulator. This is loaded on the Chromecast through a simple html file (called the receiver in the repo). The sender — also a simple html file — loads another JavaScript package on the computer which translates the controller’s button presses to keyboard inputs and sends them out to the receiver.

This puts stars in our eyes about emulator hacks. We’d love to see this boiled down to smartphone and Chromecast as the two pieces of hardware, with the touchscreen as the gaming input.

Continue reading “How To Play A Game Boy Emulator On Chromecast”

FLAMEnco Guitar

flamenco

[John] says, “I noticed an unfortunate lack of many flamethrower guitars on the web so I filled the need. ” That’s just awesome by us.

This series of guitar-mounted flamethrowers started with a small build, able to shoot a six-foot flame for about 40 seconds. Yes, very theatrical, but not something you’d want to change out after every song. From there the builds progressed to systems with more barrels, more fuel tanks, and a huge system that shoots 18-foot long flames colored with standard pyrotechnic supplies.

It should go without saying that this stuff probably isn’t something you should try at home. That being said, you really have to admire the craftsmanship and tenacity to make a guitar mounted flamethrower. Just don’t bring it to an indoor gig.

Continue reading “FLAMEnco Guitar”

Trust Hacking: How The Bitcoin System Works

how-bitcoin-network-functions

[Scott Driscoll] sent us a link to his Bitcoin explanation a couple of weeks ago. We glanced at it but moved on rather quickly. It’s been popping up here and there and we finally gave it the time it deserved. This video is interesting in that it doesn’t just focus on what the Bitcoin actually is, but how the Bitcoin system works when it comes time for money to change hands.

Quite early on in the explanation he mentions that “The Bitcoin system is amazingly designed so that no trust is needed”. That’s a powerful statement. For instance, if you sell your car, one of your friends will probably tell you not to take a check. That’s because a check means you’re trusting that the buyer actually has a balance in their account to cover the transaction. With Bitcoin the transaction carries its own proof that the currency is available by including information about the past transactions through which those Bitcoins were acquired.

If you have some idea of what public/private key pairs are you’re already equipped to understand [Scott’s] lecture. After you make it through the 22 minute video maybe you should get down to work doing some Bitcoin mining at home.

An Introduction To Inertial Navigation Systems

acc_sens

Long before ships relied on GPS to determine their location – and even before radio navigation systems such as LORAN, vessels relied on a still impressively sophisticated means of determining their position: inertial navigation. The theory is simple: if you keep a few very accurate gyroscopes and accelerometers on board, you’ll be able to calculate where you are relative to your previous position. Since electronic gyros and accelerometers are all over the place, [Sebastian] thought he would have a go at creating his own inertial navigation system.

The difficulty in using this method is that every gyroscope invariably has some error. Since the measurements from the gyros and accelerometers are integrated together, the error is also integrated, resulting in an increasing positioning error as time goes on. With a few clever algorithms and very good sensors, it’s possible to minimize this error.

[Sebastian] doesn’t have really great hardware – he’s only working with a accelerometer/gyro breakout board that’s good enough for experimental purposes. After reading the accelerometer data with an Arduino, he’s able to capture all the sensor data and read it into a Python script.

The next steps are to figure out a decent algorithm to integrate all the sensor data, and possibly add a barometer and magnetic compass for better compensation for errors. The project is still in the early phases, but seeing as how an inertial navigation system is one of the engineering triumphs of the early 20th century, we’re eagerly awaiting any progress updates.

Xbox 360 Light Right And RF Module Connected To Raspberry Pi

rpi-connected-to-xbox-lightring

If you want to mess around with your Xbox 360 controllers on a computer Microsoft would be happy to sell you a USB dongle to do so. But [Tino] went a different route. The board that drives the Xbox 360’s status light ring also includes the RF module that wirelessly connects the controllers. He wired this up to his Raspberry Pi using the GPIO header.

The module connects via an internal cable and is treated much like a USB device by the Xbox motherboard. The problem is that it won’t actually handle the 5V rail found on a USB connector; it wants 3.3V. But this is no problem for the RPi’s pin header. Once a few connections have been made the lights are controlled via SPI I2C and [Tino] posted some example code up on Github to work with the RF module. He plans to post a follow-up that interfaces the module with a simple microcontroller rather than an RPi board. If you can’t wait for that we’re sure you can figure out the details you need by digging through his example code.