Using Echoes Of Light To Turn Walls Into Mirrors

using a wall as a mirror

 

[Matthias] recently published a paper he worked on, in which he details how his group managed to reconstruct a hidden scene using a wall as a mirror in a reasonably priced manner. A modified time-of-flight camera (PMD CamBoard Nano) was used to precisely know when short bursts of light were coming back to its sensor. In the picture shown above the blue represents the camera’s field of view. The green box is the 1.5m*1.5m*2.0m scene of interest and we’re quite sure you already know that the source of illumination, a laser, is shown in red.

As you can guess, the main challenge in this experience was to figure out where the three-times reflected light hitting camera was coming from. As the laser needed to be synchronized with the camera’s exposure cycle it is very interesting to note that part of the challenge was to crack the latter open to sniff the correct signals. Illumination conditions have limited impact on their achieved tolerance of +-15cm.

Programming Pi Games With Bare Metal Assembly

pifoxWhile the most common use for a Raspberry Pi is probably a media center PC or retro game emulator, the Pi was designed as an educational computer meant to be an easy-to-use system in the hands of millions of students. Team 28 at Imperial College London certainly living up to the Raspberry Pi Foundation’s expectations with their bare metal assembly clone of Star Fox, aptly titled PiFox.

This isn’t the first time a college course has taken up the task of developing software for the Pi without an operating system; a few years ago, Cambridge University started that off with a series of bare metal tutorials for the Pi that included drawing graphics on the screen and playing around with USB keyboards. PiFox greatly expands on what those early tutorials could do, reading an NES joystick from the GPIO pins, sound with DMA, and rendering 3D objects.

If you’d like to build PiFox for yourself, or better yet, expand on the existing build, all the code is up on Github. There’s also a Raspberry Pi emulator for Linux, just in case you have an ARM assembly bug you just can’t scratch with a Raspberry Pi.

Continue reading “Programming Pi Games With Bare Metal Assembly”

Hackaday’s Wikipedia Page Needs Help

Wikipedia-logo-en-bigHey, did you know we have a Wikipedia page? We didn’t either. Until today you could search for “Hackaday” and nothing would come up. That’s because it’s listed as “Hack a Day” and it hadn’t seen any TLC in at least a couple of years.

Here’s the great thing about Wikipedia, they want factual information so they discourage people with Conflicts of Interest from editing the pages. That means that having the Hackaday Staff edit the page is a sticky issue. I did indeed edit the page in order to add more sections (History, Hackaday Projects, Accolades) to make it easier for the community to work on the article. I disclosed this in the “Talk” section, requested the logo be uploaded, and began a discussion suggesting the page be moved.

Ethically this is about all I think we should do. It’s up to you now. We’d love to see a well-written, immaculately cited Wikipedia article for this great thing we’re all involved in.

Hackerspace Tour: EG MakerSpace In Victoria, Australia

EG MakerSpace

We’ve just heard word that the East Gippsland MakerSpace, located in Bairnsdale, Australia needs more members! They sent us a wonderful tour video, and their place looks simply awesome.

It’s a very large facility (looks like an old school) that might even rival some of the biggest hackerspaces we saw during our Hackerspacing in Europe tour — seriously they have a room for everything!

They have all of the basic stuff like an electronics lab, a woodworking area, a community lounge, the kitchen, a metal working area, a general arts and crafts area. But then they also have a sound booth (in progress), an aromatherapy and massage room, a pottery room, a sculpture room, a multi-purpose hacking room, the network server room, a retro arcade and computer training lab, and loads of storage!

Stick around for an official walk-through tour by the founder [Scott Lamshed]!

Continue reading “Hackerspace Tour: EG MakerSpace In Victoria, Australia”

MSP430 Scheduler

Multitasking On The MSP430F5529 LaunchPad

What exactly is multitasking, scheduling, and context switching? This is a great question for those interested in understanding how operating systems work, even small real-time operating systems (RTOS). [Jeffrey] had the same question, so he built a multitasking scheduler for the MSP430F5529 LaunchPad.

These topics are some of the most difficult to wrap your head around in the embedded world. Choosing a project that helps you understand tough topics is a great way to learn, plus it can be very rewarding. In his post, [Jeffrey] goes over the basics of how all of these things work, and how they can be implemented on the MSP430. Overall, it is a great read and very informative. For more information on RTOS, check out a few sections in the FreeRTOS book. Be sure to see his code in action after the break.

[Jeffery] was nice enough to release all of his code as open source, so be sure to check out his repository on GitHub. “Feel free to use it and learn more. I have made the code self explanatory. Enjoy!”

via [43oh.com]

Continue reading “Multitasking On The MSP430F5529 LaunchPad”

THP Entry: A Wireless Bootloaders And Linux Build Systems

radioWith The Hackaday Prize, you’re not just limited to one entry. Of course it would be better to devote your time and efforts to only one project if you’re competing for a trip to space, but if you’re [Necromant], you might be working on two highly related project that are both good enough for The Hackaday Prize

[Necromant]’s first project is rf24boot, an over-the-air bootloader using the very cheap and very popular NRF24L01 2.4GHz wireless module. There have been many, many projects that add wireless bootloading to microcontrollers using XBees and the NRF24, but [Necromant] is doing something different with this project: he’s building in support for a wide variety of microcontrollers, that include the STM32, MSP430, PIC32, 8051, and of course AVR chips for that ever so popular Arduino compatibility.

The support of multiple microcontroller platforms is a result of [Necromant]’s other entry to The Hackaday Prize, Antares, the Linux kernel-like build system for microcontrollers. The idea behind Antares is to separate the writing of code from microcontrollers away from compiling and burning. Think of it as a giant makefile on steroids that works with everything, that also includes a few libraries for common projects.

Supported platforms for Antares include the popular aforementioned targets, and allow you to use any IDE you could possibly desire. emacs? Sure. Eclipse? Right on. Arduino? You’re a masochist. For a really great overview of Antares you can check out the Readme, or the post we did a year or so ago.

It’s all very cool stuff, and very easy to see the potential of what [Necromant]’s working on. Combining the two together, it’s almost a complete system for developing that Internet of Things we’ve been hearing about – uploading code to simple AVRs for simple sensors, and deploying significantly more complex code for your ARM-powered dishwasher or microwave.

Raspberry Pi Bluetooth Receiver For Your Car Stereo

RasPi Car Audio

The ability to play music in your car over a Bluetooth connection is very handy. You can typically just leave your phone’s Bluetooth module turned on and it will automatically pair to your car. Then all you have to do is load up a music player app and press play. You don’t have to worry about physically tethering your phone to the car every time you get in and out of the vehicle. Unfortunately Bluetooth is not a standard option in many cars, and it can be expensive to buy an aftermarket adapter.

[parkerlreed] built his own solution to this problem using a Raspberry Pi. He first installed arch Linux on his Pi. He also had to install pulseaudio and bluez, which is trivial if you use a package manager. He then modified some of the Linux configuration files to automatically bring the Pi’s Bluetooth adapter online once it is initialized by the kernel.

At the end of the boot sequence, the Pi is configured to automatically log in to a virtual console as [parkerlreed’s] user. The user’s bashrc file is then altered to start pulseaudio in daemon mode at the end of the login sequence. This allows the Pi to actually play the audio via the Pi’s sound card. The Pi’s stereo output jack is then plugged into the vehicle’s auxiliary input jack using a standard audio cable.

The Reddit post has all of the configuration details you would need to duplicate this setup. [parkerlreed] also includes some commands you will need to setup the initial pairing of the Raspberry Pi to your smart phone. Be sure to watch the video demonstration below. Continue reading “Raspberry Pi Bluetooth Receiver For Your Car Stereo”