The Raspberry Pi has a port for a camera connector, allowing it to capture 1080p video and stream it to a network without having to deal with the craziness of webcams and the improbability of capturing 1080p video over USB. The Raspberry Pi compute module is a little more advanced; it breaks out two camera connectors, theoretically giving the Raspberry Pi stereo vision and depth mapping. [David Barker] put a compute module and two cameras together making this build a reality.
The use of stereo vision for computer vision and robotics research has been around much longer than other methods of depth mapping like a repurposed Kinect, but so far the hardware to do this has been a little hard to come by. You need two cameras, obviously, but the software techniques are well understood in the relevant literature.
[David] connected two cameras to a Pi compute module and implemented three different versions of the software techniques: one in Python and NumPy, running on an 3GHz x86 box, a version in C, running on x86 and the Pi’s ARM core, and another in assembler for the VideoCore on the Pi. Assembly is the way to go here – on the x86 platform, Python could do the parallax computations in 63 seconds, and C could manage it in 56 milliseconds. On the Pi, C took 1 second, and the VideoCore took 90 milliseconds. This translates to a frame rate of about 12FPS on the Pi, more than enough for some very, very interesting robotics work.
There are some better pictures of what this setup can do over on the Raspi blog. We couldn’t find a link to the software that made this possible, so if anyone has a link, drop it in the comments.
The people here at Hackaday aren’t dedicating their entire lives to moderating comments and sending press releases to the circular file; some of us actually have jobs and hobbies. [James Hobson] works at a projector company that was having a pumpkin carving contest today. He came up with the best possible use of a pumpkin projector – a R2D2-‘o-lantern that plays the message from [Leia] to [Obi-Wan Kenobi]. [James] submitted this to reddit, but one of the mods deleted it. We’re much cooler than a few mods and their little empire, so we’re putting it up here.
Instead of a knife, [James] used a rather interesting method for carving a pumpkin – a laser cutter. By maxing out the Z height of his laser cutter, he was able to cut a perfect R2D2 graphic on the surface of a pumpkin. No, [James] isn’t removing any of the pumpkin’s skin after the lasering is done, but the result still looks great when backlit.
Inside the pumpkin is a projector playing the famous distress message made from the captured Tantive IV. It’s not entirely accurate – [James] put the projector behind R2’s radar eye and not the holographic projectors, and to project [Leia] in mid-air he would need something like this, Still, it’s a great project we expect to see cloned a year or so from now.
One of [aepharta]’s ‘before I die’ projects is a homebrew computer. Not just any computer, mind you, but a fabulous Z80 machine, complete with video out. HDMI and DisplayPort would require far too much of this tiny, 80s-era computer, and it’s getting hard to buy a composite monitor. This meant it was time to build a VGA video card from some parts salvaged from old equipment.
When it comes to ancient computers, VGA has fairly demanding requirements; the slowest standard pixel clock is 25.175 MHz, an order of magnitude faster than the CPU clock in early 80s computers. Memory is also an issue, with a 640×480, 4-color image requiring 153600 bytes, or about a quarter of the 640k ‘that should be enough for anybody.’
To cut down on the memory requirements and make everything a nice round in base-2 numbers, [aepharta] decided on a resolution of 512×384. This means about 100k of memory would be required when using 16 colors, and only about 24 kB for monochrome.
The circuit was built from some old programmable logic ICs pulled from a Cisco router. The circuit could have been built from discrete logic chips, but this was much, much simpler. Wiring everything up, [aepharta] got the timing right and was eventually able to put an image on a screen.
After a few minutes, though, the image started wobbling. [aepharta] put his finger on one of the GALs and noticed it was exceptionally hot. A heatsink stopped the wobbling for a few minutes, and a fan stopped it completely. Yes, it’s a 1980s-era graphics card that requires a fan. The card draws about 3W, or about two percent of a modern, high-end graphics card.
The Excel subreddit exploded earlier this week when redditor [AyrA_ch] shared his custom spreadsheet that allowed him to play video files on a locked-down work computer. How locked down? With no access to Windows Media Player and IE7 as the only browser (all plugins disabled, no HTML5), Excel became the unlikely hero to cure a 3-hour boredom stint.
Behind the cascade of rectangles and in the land of the Excel macro, [AyrA_ch] took advantage of the program’s VBA (Visual Basic for Applications) functions to circumvent the computer’s restrictions. Although VBA typically serves the more-complex-than-usual macro, it can also invoke some Windows API commands, one of which calls Windows Media Player. The Excel file includes a working playlist and some rudimentary controls: play, pause, stop, etc. as well as an inspired pie chart countdown timer.
As clever as this hack is, the best feature is much more subtle: tricking in-house big brother. [AyrA_ch]’s computer ran an application to monitor process usage, but any videos played through the spreadsheet were attributed to Excel, ensuring the process usage stayed on target. You can download it for yourself over on GitHub.
There are a lot of options out today for streaming video to your Internet-connected devices. Whether it’s Hulu, Netflix, Slingbox, or the late Aereo, there is no shortage of ways to get your TV fix. However, [Jaruzel] wasn’t happy with any of these services and wanted a more custom solution, so he built his own TV-streaming box out of hardware he had lying around.
[Jaruzel] gets TV from a service called SkyTV, but wanted to be able to stream it to his tablet, laptop, and XBMC. While rummaging through his parts bin, he came up with a WinTV tuner card for capturing TV and a Mini-ITX board to process everything and stream it out over his network.
Once the computer was put in a custom enclosure, [Jaruzel] got to work installing Puppy Linux. He wrote a boot script that configures the WinTV card and then starts VLC to handle the streaming service which allows him to view the TV stream over HTTP on the network. This is a great hack that would presumably work for any TV stream you can find, even if it’s just an over-the-air source.
We’ve all prematurely stopped watching some Youtube video because of shaky camera work that makes the video unwatchable. There is a solution available for this problem, it’s a device called a camera stabilizer and it is designed to compensate for jerky camera movement. There are several types available for purchase but they can get fairly expensive. Even the cheaper ones at a few hundred dollars are not economical for hobbyists. [John] set out to make his own camera stabilizer using some unorthodox parts.
[John’s] chose a gimble style design that effectively lowers the camera’s center of gravity down close to the camera persons hand. The handle of the device must also be mounted in a manor to prevent angular and rotation movement of the supporting hand from transferring to the camera.
The handle is from a cement trowel, on top of which is a ball bearing mounted to a threaded rod. A PVC fitting was heated to soften it and the bushing pressed in. This bearing is responsible for allowing the rotational freedom between the handle and the camera. To decouple any angular movements, two hinges were attached to the PVC fitting. The hinges are perpendicular to each other, one allows forward-back tilting while the other allows left-right tilting. The upper hinge is attached to a piece of poplar wood that also serves as a base for the camera.
At this point, if you were to try to hold this contraption with the camera installed, it would immediately tip over due to gravity. To prevent this, the center of gravity of the moving parts (including the camera) must be lowered. [John] did this by using some aluminum tubing to support wood weights that reside lower than the pivot points created by the hinges.
If you like the DIYer-style stabilizers, check this other wooded one out. Want something more polished looking? How about this pistol grip stabilizer?
What’s shown on the screen above is about half-way through the process of hacking RGB video into a CRT television that’s not supposed to have it. The lettering is acting a bit like a layer mask, showing bits of the Super Mario Bros. start screen which is being injected from an original Famicom. [Michael J. Moffitt] figured out that he could patch his signals into the multiplexer which is responsible for overlaying the TV’s menu system. Obviously you can’t get your Mario on with this view, but the next step was as simple as finding the blanking pin and tying it 5V. Brilliant.
This particular hack is worthy of recognition. But read through [Michael’s] write up and it’s obvious that he knows the driver circuitry beyond the realm of normal curiosity. If you ever get stuck while trying to do something custom, we’d recommend pinging him with your questions (sorry [Michael] but with great knowledge comes great responsibility).