BeagleBoard PocketBeagle Halloween LED Pumpkin

Tech out your Halloween Pumpkin with PocketBeagle from BeagleBoard.org This low cost embedded 1GHz Linux PC is fun and easy to learn.

Posted by Pete W on 2017-10-31T22:52:50-04:00

Categories: Beginner, Complete, General Purpose, PocketBeagle

The small size and low cost of
#PocketBeagle
from
BeagleBoard.org
inspired us to tech-out our Halloween Pumpkin this year. Techniques in this project can be used for any multi-LED project. Design your own!

PocketBeagle

While this 1GHz Linux PC has the performance and peripheral access to support much larger projects, we like starting with LEDs for a fun way to learn a new platform. We hope you enjoy tech-ing out your own Pumpkin or other art shape!

We wanted to do something more than a single LED blinky. We decided to make a sketch of
BeagleBoard.org
mascot named Boris on a pumpkin and then light it up with LEDs.

BORIS the Mascot for Beagleboard.org

Things can get messy with a real pumpkin so an artificial pumpkin with readily available 5mm red LEDs (2V, 20mA, clear lens) on it felt like a good idea.

We began by printing out the
beagleboard.org
Boris the beagle mascot picture and sticking it on our pumpkin. This helped us figure out the outline for LED placement. An LED every inch along the outline of the mascot would look good. So we marked the points where LEDs need to be placed and started making holes using an ice pick. (By the way, Cathy is an expert when it comes to ice picks!)

Getting the right outline and making holes

We wanted to have control over different parts of the Beagle like eyes, ears, tail etc so the LEDs were divided into 7 sets (Ear, Head, Eyes, Tongue, Tail in Up position, Tail in Down position and Legs). The LEDs were connected in parallel. All the LEDs would share a common anode but cathode is different for different sets so that we can turn on / off one or more sets as we like using PocketBeagle.

Soldering the LEDs together helped us achieve decent structural strength (just enough strength for this project).

Pumpkin with holes along the outline of Beagle and LEDs being soldered together

Soldering all the LEDs together took some time. Once done, all the LEDs were placed into the pumpkin holes suitably.

LEDs being placed into the pumpkin holes. Outer view of pumpkin once LED placement was complete

For this project, we have used 71 LEDs in total. They are divided into different sections as follows:

  • Ear – 10 LEDs
  • Head – 16 LEDs
  • Eye – 4 LEDs
  • Tongue – 3 LEDs
  • Tail up position – 4 LEDs
  • Tail down position – 4 LEDs
  • Leg – 30 LEDs

(You can use different number of LEDs to suit your own sketch/project)

A control circuit consisting of PocketBeagle, BC548 NPN transistors, resistors and linear potentiometer was put together on a breadboard and was suitably connected to our LED array to bring the beagle sketch to life!

The inside view of the Pumpkin and PocketBeagle + Breadboard circuit assembly

The GPIOs of PocketBeagle can handle approx. 3mA of current but our array of LEDs required much more than that. More the number of LEDs in the array, higher will be the current requirement. Current consumption also increases with increase in brightness of the LEDs. Therefore, we used BC548 transistors (in switching mode) to act as buffer between PocketBeagle and LED array. These transistors can tolerate continuous collector current of up to 100mA. A potentiometer was also used to adjust brightness of the LED array. The breadboard circuit was powered using 4.8V battery pack (4 AA or 4 AAA batteries). PocketBeagle was powered through its Micro USB B port.

The Fritzing breadboard view of the circuit is given below.

(Make sure LED array resistor values are chosen appropriately if you plan to use different number of LEDs / different type of LEDs for your project. The LEDs may look very dull or may burn out if resistor values are not chosen properly)

The code to manage PocketBeagle GPIO is written in Python using Adafruit BeagleBone Black GPIO library. The code is available below.

Comments are not currently available for this post.