Pandaboard TV Mount

Pandaboard Tiny TV Front View

For my new Pandaboard, I thought it would be nice to have a little 7-inch TV to go along with it. So I got a CoolLCD 619ah miniature TV with HDMI input. Then, I got the great idea to ATTACH the two. The little LCD comes with a VESA 75mm mount. And of course, the Pandaboard has mounting holes. From there, it was simple. In Inkscape, I laid out a 120mm square with holes in the right places, then took the files down for laser-cutting to Metrix Create Space in Seattle.

While I’m at it, I also realized it would be nice to have a protective backing panel so that nothing would bash into the exposed Pandaboard and damage it. And from there, I thought I’d add a little decoration for fun.

Rear View

Here’s the finished product:

Pandaboard Tiny TV Back View

Continue reading

Leave a comment

Filed under Linux, Pandaboard

Running Yocto on Pandaboard

Sato on Pandaboard

I just bought a Pandaboard to experiment with Embedded Linux. As mentioned in my last post, OpenEmbedded is my weapon of choice for now, specifically the ‘Poky’ distro from The Yocto Project. Here’s how to get it started.

Continue reading

26 Comments

Filed under Linux, Pandaboard

Getting Started with OpenEmbedded using Yocto

runqemu qemuarm

Looking for the best way to explore embedded Linux, I found Open Embedded. OE is a nice middle-ground between the options on each extreme. On one hand, you can run a full distribution like Ubuntu on ARM. On the other, you can pull together the kernel and BSP and software you need, plus a toolchain for your kit, and compile straight away. OE gives you the control of compiling everything yourself–I had a fully functioning machine on the network, with an SSH server, using 10MB storage without too much tweaking. Plus it gives you the power of a distribution by collecting piles of software to choose from.

The trick to OE is that it ships as a collection of instructions, called ‘recipes’, which fetch each package from the right place, apply the necessary patches, build it, package it, and prepare an image. It builds its own toolchain, which takes away one of the big headaches of embedded development, and packages up an entire cross SDK we can use to build further applications and deploy them onto target hardware.

In this blog post, I’ll bring up a minimal system under emulation, to get a feel for the system without having to commit to hardware.

Continue reading

2 Comments

Filed under Linux, Pandaboard

Adventures in Greenwire

Adventures in Greenwire

Usually I like to write up on my blog the things that go well. Today, I’ll write about a mistake–one that meant my latest iTeadStudio PCB order was totally wasted. Sad for me, but hopefully you can learn from it!

Continue reading

9 Comments

Filed under Arduino, RF Radio

The Camera Machine – Multicam Prototype

The Camera Machine - Multicam V1

Here’s my latest obsession: A clock-driven intervalometer with an LCD interface for both still and video cameras (with remote control!) I call it the ‘Multicam’ board. Its mission is to run all of my camera control software on a single board, plus provide a nice interface to control it.

This has been the most complicated hardware project for me so far, involving two separate PCB’s (one for the system, one for the interface) and fitting into a case.

I’ve just now got the first PCB’s back from iTeadStudio, and brought up the first unit. Now I can start testing it in the real world. Results of those tests and more details on the software will be topics for future posts. For now, the hardware…

Continue reading

3 Comments

Filed under Camera, RF Radio

Happy Birthday, GCC!! 4.7.0 Released

Happy Birthday!

photo by Mike Rampton

After 25 years, GCC has released the best toolset to date, 4.7.0. I’ve been running SVN snapshots for a few months now, and I’ve found it to be excellent. The most important innovation is Named Address Spaces, making it much easier to handle data whether it resides in flash or SRAM. It also fixes many annoying bugs, generates the smallest code to date, and implements many time-saving c++11 features.

In this post, I’ll walk through how I installed it on Ubuntu 11.10, as many people have asked for details on how to set it up. To check this, I did a fresh install on a virgin machine, and simply wrote down everything I did.

For my friends running Windows, you can just check out Sprinter SB’s Windows Packages.

Continue reading

6 Comments

Filed under Uncategorized

RF24Network for Wireless Sensor Networking

17-Node Party

RF24Network is a network layer for Nordic nRF24L01+ radios running on Arduino-compatible hardware. It’s goal is to have an alternative to Xbee radios for communication between Arduino units. It provides a host address space and message routing for up to 6,000 nodes. The layer forms the background of a capable and scalable Wireless Sensor Network system. At the same time, it makes communication between even two nodes very simple.

Today, I managed to get 17 nodes running on a single network. Now I need to build some more nodes, because the system worked great with 17, and could likely handle thousands of nodes.

Continue reading

125 Comments

Filed under Arduino, RF Radio

Controlling a Sony A100 DSLR using Arduino

Arduino controlling Sony A100 camera using 2x 4N25's

Sony DSLR cameras have a 3-pin remote port for use with a wired remote. Today, I’ll explore how we can use it to control the camera using our Arduino.

Continue reading

2 Comments

Filed under Arduino, Camera

Skycam Controller for The Last Shuttle Project

rcfisher Skycam Controller

This week, while visiting Los Angeles, I took the opportunity to have breakfast with Robert C. Fisher from The Last Shuttle Project. One neat thing I got to see is pictured above, the hardware used to control the ‘Skycam’ for capturing some cool video footage of the final space shuttle launch last year. Check out the video!

The hardware is a stock Arduino, with a protoshield on top. It features an RTC, status lights, a test switch, a piezo to detect the sound of the launch, and an opto-isolator to trigger focus and shutter lines. All that is protected by a sturdy little Pelican case. Quite a nice compact setup.

To handle the unique timing requirements of this shoot, the board is running an Arduino sketch I wrote, the Camera Controller.

This sketch was my first attempt to write a clock-based camera controller. I learned a bunch of lessons along the way that I’ve since incorporated into the next version.

Continue reading

Leave a comment

Filed under Arduino, Camera

FreeRTOS on Arduino

pingpair_freertos dataflow

As I’ve started to dig into [FreeRTOS], I have found too few useful compilable examples on how to get started. The FreeRTOS tutorial is complicated and theoretical. It doesn’t leave you with any working running code. The Officially Supported demo for STM32 works, but it’s way too complicated, and assumes you have lots of hardware. Not a great way to get started. Maple comes with a tragically simple freertos-blinky.cpp, but all it does is show you how to blink the LED. What’s next?? Fortunately, I came across a page of FreeRTOS examples for WSN430 that helped a lot.

In this blog post, I wanted to share my own experience with porting real code to FreeRTOS, which does something more useful than blink a light, but not something unfathomably complicated. Along the way, this will explain how to exploit many of the features of FreeRTOS

Get the code from github: https://github.com/maniacbug/FreeRTOS

Continue reading

7 Comments

Filed under Arduino