This post documents the installation of “bone-debian-7.5-2014-05-14-2gb.img” using Win8 onto a 16GB uSD card for booting BBBs.
For this tutorial, two different BBBs were used: vBBB19 used a Class4 uSD card,  while vBBB20 used a Class10 uSD card.  I will try to do some timing comparisons along the way.  Let me know if I miss anything.
OS: bone-debian-7.5-2014-05-14
Hostname: vBBB19 & vBBB20
DHCP address @ home: 192.168.15.105 (check router DHCP log)
Headless/HDMI: Headless
Ethernet/USB-Networking/WiFi: Ethernet first, then WiFi
Putty/Cloud9: both

1) Choose OS Image

 

e9775ced-1da7-4668-b33e-4f117868fb13

 
In the other eMMC tutorial, we flashed the OS image directly to the built-in 2GB eMMC memory.  Today, for this particular BBB unit, we will boot directly from the uSD card.  Previously, I preferred the eMMC image because I have seen regular SD cards fail in the field many times, so I try to shy away from SD cards….viewing eMMC as more reliable in the long-term and also faster (than a uSD card) during normal operation.  The problem with using the built-in eMMC memory is that it is limited to 2GB and the default Debian image consumes about 95% of that right out of the gate!  As soon as I try installing OLA, it fills up the eMMC and crashes right in the middle of the 4hr build process!!  (The new version of the BBB will have 4GB of eMMC).  For now, let’s do development using a 16GB uSD card.  This will give us much more space and the limited 2GB eMMC.  We won’t crash!!
 

2) Verify Download

Now that we have chosen our image, let’s verify that it downloaded properly using the MD5 checksum.  To do this, I found a free utility which runs on Win8 called “WinMD5Free” from here.  (Here is another utility which I have successfully used). In this below screenshot, you can see where we choose the appropriate (non-eMMC) uSD image from my download folder.  You can see where the utility generates its own MD5 hash and you can also see where I pasted the hash provided @ the above link.  Click “Verify” and they match!

 

b25c6afa-1a6f-441b-a426-ccc5f9f09781
3e2fd5a7-2d96-4e54-97be-280dc01aa6e8

3) Extract the Image

Now that we know that our downloaded image is good, let’s extract it.  For this I used WinRar…click “Extract To”
c16282a7-fee3-40de-9097-38bb95f89d9e
I have also successfully used 7zip on another machine.
6c4aae6d-15bd-4fe9-9fb0-c6bbe9d646a0
 

4) Image Your uSD Card

Now that you have a confirmed image extracted to an “.img” file, it is time to put the image onto the uSD card.
I will be doing this twice as follows:
  • 16GB Class4 uSD @ 4.3MB/s via uSD->SD adapter (took 5min40sec)
  • 16GB Class10 uSD @ 21MB/s via uSD->SD adapter (took 1min30sec)
Remember, you cannot just copy the file!!!  You have to use a special utility like this one.  Run the program.  Select the image (.img file).  Select the proper drive!!! (Dont write over your computer’s operating system!!!)
fc9fa33e-58cd-4593-b588-3ad45f8a188d
It took just about 5min40sec to image the Class4 16GB uSD card that I was using.  The .img file was 1.7GB.   I should mention that last time I used a USB to uSD adapter and saw the same transfer rates as this uSD->SD adapter that I used now.
c53e9a92-05b8-42a2-8517-4ec87f6e9b45
I just tried it again using a Class10 16GB uSD card and it only took 1min30sec (notice the 4x transfer speed).  I should mention that for this transfer I used a uSD-to-SD converter that goes directly into the SD slot (no USB).

195588ba-bbc0-4114-99a0-63ec3972ef19

5) Put uSD into BBB

Now, put the uSD card into the BBB.  You are able to boot directly from the uSD card without pushing any buttons or doing anything.  By default it will check the uSD card before it checks the eMMC.

6) Determine Your BBB’s IP Address

Now, let’s test to make sure that the BBB boots up as we expect it.  Power up the BBB and plug it into an available port on your router.  By default the BBB has DHCP turned on, so your router will automatically assign an IP address to your BBB.  To find out which IP address has been assigned, I log into my router. Use your favorite browser and surf to the IP address of your router (usually your subnet with a .1 on the end).  This home router is a Vonage router. The default user/password is sometimes “admin” and “admin”.  (Check your router’s defaults).
b1e40e27-7d91-458b-ae92-58945744ca84
After I logged in, I saw this:
9065ac74-eb83-49d2-87dc-c999b19d7635
For this router I had to click on “Status” -> Then “Local_Network” -> then “DHCP Clients Table”… I then saw this:
cc704cf0-a3c6-4e09-bf45-26c49844fda5
You can see the newest client with the hostname “beagle bone” which was assigned the IP address 192.168.15.105.  You can also see that this is the 2nd BBB on the network.  Good thing we changed the hostname of the first one so they weren’t both named “beaglebone”.

7) SSH Into Your BBB

Now that we know the IP address of our BBB, let’s SSH into the BBB and change the hostname to something more unique than “beaglebone”.  This is a really good idea when you have more than one BBB and you dont want to confuse them!  There are 2 different ways to SSH into your BBB…
SSH Method1: Using Putty
The old-school way to SSH into your BBB using Windows is to use a terminal utility called Putty… (skip this for now down to the Cloud9 method)…
SSH Utility on Windows = The wonderfully outdated Putty here.
Here is a somewhat “modern” Multiple Tab addition to Putty here.
I have found that Putty is fine when you are using one BBB, but when you start working with multiple BBBs, then it is nice to work with multiple tabs!!!  So, launch Putty, type your IP address in for the hostname, make sure its on SSH, port 22, like this:
a20c7275-95bd-4537-a0f5-ac339183dbdd
…and hit “open”….
The first time you do it, you should see something like this:
ef7aeb42-be2a-4755-b049-cb19a985e083
…hit Yes for now (read more about Authentication Keys later)….
Username: debian
Password: temppwd
You should now see this:
08b68c95-efa3-429f-9526-9101ccb976c3
SSH Method2: Using Cloud9 IDE
Let’s explore a 2nd way to SSH into your BBB using Cloud9 on port 3000. Forget Putty!!!
Since we now know the IP address of our BBB, type it into your favourite browser.
…you can now see the Bone101 page…
f6309afc-50df-4b65-82e6-f050541c7eae
This is a live running webpage which is being served up by your BBB.  This page is called “Bone101″ and it is in the process of being updated as part of Google Summer of Code.  I am a mentor on the project along with Jason Kridner.  The goal of the project is to turn Bone101 into an interactive tutorial building place for the community to share tutorials.  More on that to come. For now, notice how there is a Green Indicator telling you that your board is connected!! This is good!
Click on the “Cloud9 IDE” option on the left. It jumps you down the page to here:
123fb9f0-bd4d-4128-b057-1b5882175834
Click on “Cloud9 IDE” again. It re-directs you to YOUR_IP:3000 (port 3000) and you should now see this:
0efca95b-ab0e-46b7-9418-b949dc255f7e
Cloud9 is an IDE for code development in multiple languages, but also notice how you have a fully functional BASH shell (command line) at the bottom. You can also scroll down to the bottom of the main welcome page and click “Open a Terminal.”  Notice how you are logged in as root.  Honestly, this is very nice for beginners and development purposes, but as some kermudgeon guy pointed out to me in IRC chat room, this means that port 3000 is “wide open” with root privileges; certainly not ideal from a security standpoint. Oh well, let’s acknowledge that LATER we will improve our security practices (like changing tempted). But for now, let’s do some development!
(PS, I hate the directory organization of the cloud9 directory.  Yes, the bone101 website files are there, and you can immediately and conveniently start modifying them and learning how they work, but I remember very recently when I didn’t understand a thing about HTML or Javascript or Webservers, I didn’t know what the hell was going on with this messed up directory structure!!!  Is the “attic” required for the website to function?  I doubt it.  Is “demo” or “autorun” or “extras” required for the webserver to work?  What’s part of the website?  What’s not part of the website?  What’s part of Cloud9?  I think it could be organized and presented much better, especially for beginners.)
 The Cloud9 command line is nice, but there are some quirks to it. You might prefer Putty after all!

8) Verify BBB OS Version

Now let’s try this command:
root@beaglebone:/var/lib/cloud9# uname -a
Linux beaglebone 3.8.13-bone50 #1 SMP Tue May 13 13:24:52 UTC 2014 armv7l GNU/Linux
You can see that our May14 image is actually May13!  You can also see that the kernel is v3.8.13, which is outdated (they do this to maintain backward compatibility with a bunch of crappy outdated capes).  There is a script to update the kernel that we will get to later.

9) Update the BBB Hostname

Use this command to change the BBB hostname:
  • nano /etc/hostname
You can now see this:
94c59d0a-f8b2-43b4-b74b-0003f6ef0bff
Edit the file to be whatever hostname you want (in my case its “vBBB20″, then Ctrl-O to save (enter to keep the filename) and Ctrl-X to exit.  This change will not take effect until you reboot.

10) Check Disk Space

 
Let’s see how much space we have available to us on the uSD card:
root@beaglebone:/var/lib/cloud9# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          1.6G  1.5G  1.5M 100% /
udev             10M     0   10M   0% /dev
tmpfs           100M  736K   99M   1% /run
/dev/mmcblk0p2  1.6G  1.5G  1.5M 100% /
tmpfs           249M     0  249M   0% /dev/shm
tmpfs           249M     0  249M   0% /sys/fs/cgroup
tmpfs           100M     0  100M   0% /run/user
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/mmcblk0p1   96M   70M   27M  73% /boot/uboot
/dev/mmcblk1p2  1.7G  1.3G  284M  83% /media/rootfs
/dev/mmcblk1p1   96M   80M   17M  83% /media/boot
I think the 1.6GB is the temporary image on our 16GB uSD card.

11) Expand uSD Filesystem

Let’s expand our uSD file system to use the full 16GB!!!  Try these commands:
  • cd /opt/scripts/
  • git pull
  • ./tools/grow_partition.sh
  • REBOOT!!!!!!!!!!!!!!
You must reboot!!!!  Cloud9 will hiccup a bit, but it will come back eventually…
Yeah!!  Notice how we have the new hostname and we now have 16GB available to us!
root@vBBB20:/var/lib/cloud9# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs           15G  1.5G   13G  11% /
udev             10M     0   10M   0% /dev
tmpfs           100M  644K   99M   1% /run
/dev/mmcblk0p2   15G  1.5G   13G  11% /
tmpfs           249M     0  249M   0% /dev/shm
tmpfs           249M     0  249M   0% /sys/fs/cgroup
tmpfs           100M     0  100M   0% /run/user
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/mmcblk0p1   96M   70M   27M  73% /boot/uboot
/dev/mmcblk1p2  1.7G  1.3G  284M  83% /media/rootfs
/dev/mmcblk1p1   96M   80M   17M  83% /media/boot
(Aaaaaah!!!  It is nice to see 11% used instead of the 98% used if we were to use the 2GB eMMC memory.)

12) Update the Kernel (WARNING!!!!)

Before we do, we see this:
  • root@vBBB20:/var/lib/cloud9# uname -a
  • Linux vBBB20 3.8.13-bone50 #1 SMP Tue May 13 13:24:52 UTC 2014 armv7l GNU/Linux

I want to show you how easy it is to update the kernel… BUT BEWARE!!!!  When I recently used this beta kernel, it caused my USB audio to stop working.

  • cd /opt/scripts/
  • git pull
  • sudo ./tools/update_kernel.sh –beta-kernel
  • sudo reboot (You MUST reboot!!!!!)
Now we see this updated kernel:

  • root@vBBB20:/var/lib/cloud9# uname -a
  • Linux vBBB20 3.14.4-bone4 #1 SMP Fri May 16 04:55:23 UTC 2014 armv7l GNU/Linux

I also need to point out that it is also very easy to get back from the beta kernel like this:

  • cd /opt/scripts/
  • git pull
  • sudo ./tools/update_kernel.sh
  • sudo reboot (You MUST reboot!!!!!)

13) Next Steps…

Let me end this installation tutorial with a question.  Is now the right time to do this or something else?
  • apt-get update && apt-get upgrade

PS: By the way, notice how the BBB internal date is correct!  In previous versions of the OS the date was always wrong after a reboot and it caused a NIGHTMARE! when trying to do updates.

 Posted in BeagleBone Black, Educational |  Tagged , |  Leave a comment
by Steve French

 

This post documents the installation of “bone-debian-7.5-2014-05-14-2gb.img.xz” using Win8 onto a 2GB BeagleBone Black.

 

OS: bone-debian-7.5-2014-05-14
Hostname: vBBB2home
DHCP address @ home: 192.168.15.100 (check router DHCP log)
Headless/HDMI: Headless
Ethernet/USB-Networking/WiFi: Ethernet
Putty/Cloud9: both

1) Choose OS Image

BeagleBone (Runs on BeagleBone Black as well without flashing the eMMC)

BeagleBone Black (eMMC flasher)

Today, for this particular BBB unit, I will be using the eMMC flasher image because I dont have enough uSD cards to go around.  Previously, I preferred the eMMC image because I have seen regular SD cards fail in the field many times, so I try to shy away from SD cards….viewing eMMC as more reliable in the long-term and also faster (than a uSD card) during normal operation.  The problem with using the built-in eMMC memory is that it is limited to 2GB and the default Debian image consumes about 95% of that right out of the gate!  As soon as I try installing OLA, it fills up the eMMC and crashes right in the middle of the 4hr build process!!  As such, I will use the eMMC image @ home for now, but accepting the fact that I do not have enough eMMC space to install OLA right now!!!  Beware of the limited eMMC space if you use the eMMC image!!!  (The new version of the BBB will have 4GB of eMMC).
 
 

2) Verify Download

Now that we have chosen our image, let’s verify that it downloaded properly using the MD5 checksum.  To do this, I found a free utility which runs on Win8 called “WinMD5Free” from here.  (Here is another utility which I have successfully used)
 
In this below screenshot, you can see where we choose the appropriate eMMC image from my download folder.  You can see where the utility generates its own MD5 hash and where I pasted the hash provided @ the above link.  Click “Verify” and they match!

 

f7a2d374-d945-4860-aa46-18f618c59e24
9acd029e-2b04-4230-a270-06d8ce652791

 

3) Extract the Image

Now that we know that our downloaded image is good, let’s extract it.  For this I used WinRar…click “Extract To”…

 

73cb1c25-e3de-43e3-aa05-0f2577c7abe6

 

Here it is extracting…

 

3cdb266e-59f2-465c-817e-b3a0925ac5d5

 

I have also successfully used 7zip on another machine.

 

3fbb3273-1aa9-4369-a4ff-47a93239b9e5
 

4) Image Your uSD Card

Now that you have a confirmed image extracted to an “.img” file, it is time to put the image onto the uSD card.  I am using a 16GB Class4 uSD card for this.  Remember, you cannot just copy the file!!!  You have to use a special utility like this one.  Run the program.  Select the image (.img file).  Select the proper drive!!! (Dont write over your computer’s operating system!!!)

 

8fe34a2a-5266-4994-9703-35c232b13b7b

 

It took just about 6 minutes to image the Class4 16GB uSD card that I was using.  The .img file was 1.7GB.   I should mention that I used a USB to uSD adapter for this transfer.

 

6628cf30-3efe-4976-9928-2f0f97443038

 

I just tried it again using a Class10 16GB uSD card and it only took 2 minutes — (notice the 4x transfer speed).  I should mention that for this transfer I used a uSD-to-SD converter that goes directly into the SD slot (no USB).

 

12ab24da-464c-4ed7-b248-ebdead9960bb

5) Flash the Onboard eMMC Memory

Eject the uSD card from your host computer and insert into the BBB.
We will now flash the onboard eMMC memory with the image contained on the uSD card.
Hold down the Boot button (S2) while powering up the BBB.  Keep holding the button down until the 4user LEDs start flickering like crazy.  When they start flickering like crazy you can let go.  It took about 18 minutes to flash the board with my Class4 uSD card.  You know it is done flashing when all 4 LEDs turn on at the same time and stay on. [NEWSFLASH: They just changed it so that all 4 user LEDs turn OFF when it is done flashing.  I saw them turn ON solid, then go OFF.]
I  should mention that I used a 5vdc @ 1amp adapter during the flashing of the eMMC.
At this point, remove power from the BBB and REMEMBER TO TAKE OUT THE uSD CARD!!!!  For some reason, if you accidentally leave the uSD in there, it will start reflashing automatically without the need to hold the button!!!  Beware!!!

6) Determine Your BBB’s IP Address

Now, let’s test to make sure that the BBB boots up as we expect it.  Power up the BBB and plug it into an available port on your router.  By default the BBB has DHCP turned on, so your router will automatically assign an IP address to your BBB.  To find out which IP address has been assigned, I log into my router. Use your favorite browser and surf to the IP address of your router (usually your subnet with a .1 on the end).  This home router is a Vonage router; the default user/password is sometimes “admin” and “admin”.  (Check your router’s defaults).

 

73ed73d1-5053-4b89-85f5-2fbca78f1388

 

After I logged in, I saw this:

 

42fcbcda-c29d-4e1b-bcdd-6f5ab6325d06

 

For this router I had to click on “Status” -> Then “Local_Network” -> then “DHCP Clients Table”… I then saw this:

 

ba8bbbf4-0307-4f33-9bde-e5de484a6a18

 

You can see the client with the hostname “beaglebone” which was assigned the IP address 192.168.15.100.

7) SSH into Your BBB

Now that we know the IP address of our BBB, let’s SSH into the BBB and change the hostname to something more unique than “beaglebone”.  This is a really good idea when you have more than one BBB and you dont want to confuse them!  There are two different ways into your BBB:

 

SSH method 1: Using Putty
The old-school way to SSH into your BBB using Windows is to use a terminal utility called Putty.
SSH Utility on Windows = The wonderfully outdated Putty here.
Here is a somewhat “modern” Multiple Tab addition to Putty here.
I have found that Putty is fine when you are using one BBB, but when you start working with multiple BBBs, then it is nice to work with multiple tabs!!!  So, launch Putty, type your IP address in for the hostname, make sure its on SSH, port 22, like this:

 

3b9e8e65-17cc-4cfb-93e3-f2560e7bdfa1

 

…and hit “open”….
The first time you do it, you should see something like this:

 

36c9539e-700e-4b18-84e2-98f1e4f1050b

 

…hit Yes for now (read more about Authentication Keys later)….
Username: debian
Password: temppwd
You should now see this:

 

5169938f-3e69-4714-bc60-cf02ec28a16c

 

SSH method 2: Using Cloud9 IDE
Now, let’s check out the other way to SSH into your BBB instead of using Putty.
Use your browser and surf to the IP address of your BBB. You should see this:

 

93198163-6896-42e0-b931-8b2ece9c83d5

 

This is a live running webpage which is being served up by your BBB.  This page is called “Bone101″ and it is in the process of being updated as part of Google Summer of Code.  I am a mentor on the project along with Jason Kridner.  The goal of the project is to turn Bone101 into an interactive tutorial building place for the community to share tutorials.  More on that to come. For now, notice how there is a Green Indicator telling you that your board is connected!!  This is good!
Click on the “Cloud9 IDE” option on the left. It jumps you down the page to here:

 

9e5c7dae-6675-46f3-887e-8b3b9975dcaa

 

Click on “Cloud9 IDE” again… it re-directs you to YOUR_IP:3000 (port 3000)… and you should now see this:

 

d7354be5-e7bb-49b9-b3d3-efd59eeabf82

 

Cloud9 is an IDE for code development in multiple languages, but also notice how you have a fully functional BASH shell (command line) at the bottom.  You can also scroll down to the bottom of the main welcome page and click “Open a Terminal.”  Notice how you are logged in as root.  Honestly, this is very nice for beginners and development purposes, but as some curmudgeon guy pointed out to me in IRC chat room, this means that port 3000 is “wide open” with root privileges; certainly not ideal from a security standpoint. Oh well, let’s acknowledge that LATER we will improve our security practices (like changing temppwd)…but for now, let’s do some development!

 

(PS: I hate the directory organization of the cloud9 directory.  Yes, the bone101 website files are there and you can immediately and conveniently start modifying them and learning how they work, but I remember very recently when I didn’t understand a thing about HTML or Javascript or Webservers, I didn’t know what the hell was going on with this messed up directory structure!!!  Is the “attic” required for the website to function?  I doubt it.  Is “demo” or “autorun” or “extras” required for the webserver to work?  What’s part of the website?  What’s not part of the website?  What’s part of Cloud9?  I think it could be organized and presented much better, especially for beginners.)

8) Verify BBB OS Version

Now that we are logged into our BBB, try this command:
  • debian@beaglebone:~$ uname -a
  • Linux beaglebone 3.8.13-bone50 #1 SMP Tue May 13 13:24:52 UTC 2014 armv7l GNU/Linux
You can see that our May14 image is actually May13!  You can also see that the kernel is v3.8.13, which is outdated (they do this to maintain backward compatibility with a bunch of crappy outdated capes).  There is a script to update the kernel that we will get to later.

 9) Update the BBB Hostname

Use this command to change the BBB hostname:
  • nano /etc/hostname
You can now see this:

 

 

Edit the file to be whatever hostname you want (in my case its “vBBB2home”, then Ctrl-O to save (enter to keep the filename) and Ctrl-X to exit.  This change will not take effect until you reboot.

 

10) Update the Kernel (WARNING!)

I want to show you how easy it is to update the kernel, but beware! When I recently used the beta kernel, it caused my USB audio to stop working.
  • cd /opt/scripts/
  • git pull
  • sudo ./tools/update_kernel.sh –beta-kernel
  • sudo reboot (You MUST reboot!!!!!)
 
Putty fails pretty abruptly when you reboot. Close Putty down completely and relaunch it.
We can now see that we are using the newest kernel!!
 
We went from this…
  • debian@beaglebone:~$ uname -a
  • Linux beaglebone 3.8.13-bone50 #1 SMP Tue May 13 13:24:52 UTC 2014 armv7l GNU/Linux
…to this…
  • debian@vBBB2home:~$ uname -a
  • Linux vBBB2home 3.14.4-bone4 #1 SMP Fri May 16 04:55:23 UTC 2014 armv7l GNU/Linux
 
I really need to point out that it is also very easy to get back from the beta kernel like this:
  • cd /opt/scripts/
  • git pull
  • sudo ./tools/update_kernel.sh
  • sudo reboot (You MUST reboot!!!!!)

 

11) Confirm Disk Space

Before updating anything else, let’s check out our disk space.

debian@vBBB2home:~$ df -h
Filesystem                                              Size  Used Avail Use% Mounted on
rootfs                                                  1.7G  1.5G   45M  98% /
udev                                                     10M     0   10M   0% /dev
tmpfs                                                    99M  1.5M   98M   2% /run
/dev/disk/by-uuid/10f637e9-845e-461e-88ad-93239b5734f1  1.7G  1.5G   45M  98% /
tmpfs                                                   248M     0  248M   0% /dev/shm
tmpfs                                                   248M     0  248M   0% /sys/fs/cgroup
tmpfs                                                   5.0M     0  5.0M   0% /run/lock
tmpfs                                                   100M     0  100M   0% /run/user
/dev/mmcblk0p1                                           96M   88M  8.5M  92% /boot/uboot

WOW!!!!!!!  Thats 98% full!!!!  This is why they are releasing a newer model with 4GB of eMMC memory instead of the 2GB!!  I tried selectively deleting things before to save space, but what a PITA.  Normally, now I would run “apt-get update && apt-get upgrade”, but I think it will fail because lack of space.
BEWARE WHEN FLASHING eMMC MEMORY!!  98% FULL!!!!!!  PICK WHAT THINGS YOU WILL DELETE!!!
 Posted in BeagleBone Black, Educational |  Tagged , , |  1 Comment

by Jamie Nash and Steve French

 

Hey everybody! We’ve made a few tutorial videos about soldering wire to LED strips. The first video you see below covers:

  • Cutting the LED strip
  • Slicing and peeling back the sheathing
  • Scraping away the silicone jelly
  • Preparing the LED strip with solder balls

Check it out!
 

 

The second video covers:

  • Exposing the wire
  • Tinning the wire
  • Soldering the wire to the LED strip

 

 

Hope this helps! For more tutorials and happenings, check out our Volt Vision blog and our YouTube channel!

 Posted in Educational, LED Strip Lights |  Tagged , , , |  Leave a comment

by Jamie Nash and Steve French

Congratulations! You made it to the final installment! Now, if you’re reading this and wondering what the heck is going on here, you should hop on over to our first installment of this Sounds of the Night blog series:

  1. Overview, concept and background
  2. Creation and build
  3. BeagleBone Black, USB Audio interface and speakers
  4. Implementing the light sensors that were read by the BBB
  5. Designing and driving the LEDs with power mosfets controlled by the BBB 
  6. Programming the BBBs with node.js and Bonescript
  7. Challenges we had (both technically and with the weather) (<– You are here)

 

There were definitely some challenges during this project! The event itself was four weeks long. Weeks number 1 and 2 were a winter wonderland full of fluffy snow, as you can see on the fox in the below picture.

Screen Shot 2014-05-23 at 12.52.33 PM

 

Week 3, however, brought us massive rain and flooding. Below, you can see the road going into the Audubon where our event was held.

 

Screen Shot 2014-05-23 at 12.53.06 PM

 

We had the foresight to put the deer on cinderblocks, but here you can see it wasn’t enough. The flood even went past the cinderblocks! Luckily, the electronics were mounted to the back of his head.

 

Screen Shot 2014-05-23 at 12.51.49 PM

 

 

The bobcat suffered the worst fate of everyone. Some Audubon staff found him face down, completely submerged under water. The electronics and everything (including the BeagleBone Black) were completely soaked! We had to bring him in for a complete overhaul in which we removed all the electronics and let them dry for a couple days. The 12V wall wart ended up being full of water even after a few days. It immediately fried and had to be replaced.

 

Screen Shot 2014-05-23 at 12.52.48 PM

 

Below is the bobcat’s speaker. The only way I could dry it out was to take it apart and set it in front of a heater. I put it back together and it worked fine!

Screen Shot 2014-05-23 at 12.52.17 PM

Thanks for reading this blog series! It was quite a learning experience. This project actually represented about 1/10 of the work that we put into this Audubon show. The good news is that the animals are already excited for next year’s show! Hopefully we will be able to upgrade all of the animals to include their own web server and allow people to control them from their smart devices. I have to think about this a little more … not sure if I want to make people pull out their phones in a blizzard while they’re wearing gloves …

 Posted in Events, Interactive, LED Flex Lights, LED Strip Lights, Winter Night Lights at Audubon |  Tagged , , , , |  Leave a comment

by Jamie Nash and Steve French

Hello everybody, and welcome back to our blog series! It seems we’ve already covered most of the information for Installment 6 in Installment 3, so we got you a photo instead. It was about this time in the Sounds of the Night development that Chompers got himself stuck in a jacket, with hilarious results. Feast your eyes on this!

IMG_6725-ChompersStuck

 

… And here’s a picture of my 4-year old daughter, Tia, who was helping us through this entire project.

Screen Shot 2014-05-23 at 12.45.30 PM

 

If you’re looking for actual information, check out our other installments!

 Posted in Events, Winter Night Lights at Audubon |  Tagged , |  4 Comments

by Jamie Nash and Steve French

Are you wondering why this post says “5 of 7?” Are you wondering where the previous portions are located? Are you simply confused in general? Well, check out the breakdown of our Sounds of the Night blog series. Hopefully this will help:

  1. Overview, concept and background
  2. Creation and build
  3. BeagleBone Black, USB Audio interface and speakers
  4. Implementing the light sensors that were read by the BBB
  5. Designing and driving the LEDs with power mosfets controlled by the BBB (<– You are here)
  6. Programming the BBBs with node.js and Bonescript
  7. Challenges we had (both technically and with the weather)

As you may remember from a few weeks back, we are using white LED strips in each animal. Since each animal is a different physical size, they all need a different number of LEDs. Luckily, these LED strips allow you to cut them with scissors to make custom lengths. Below you can see the raw LED strips for the raccoon and the bobcat. (See the post from week 2 for detailed specs of the LEDs.)

Screen Shot 2014-04-17 at 1.49.03 PM

 

We custom cut the lights for each animal and we are seeing the following current consumption:
Animal1 = Owl = 0.6A @ 12vdc = 7.2W
Animal2 = Fox = 0.6A @ 12vdc = 7.2W
Animal3 = Racoon = 0.7A @ 12vdc = 7.4W
Animal4 = Wolf = 0.7A @ 12vdc = 7.4W
Animal5 = Deer = 1.8A @ 12vdc = 21.6W
You can see that most of the animals are the same except the deer, which required 3x the LEDs and power! As designers, we need to design for the worst case scenario, which is the deer. Remember, these are 12V strips and we need almost 2A of current for our load. The digital outputs from the BBB are 3.3V logic and can source 4-6mA and sink 8mA. I decided to use a simple mosfet switch, as shown in the below schematic. When you turn the mosfet on, it conducts current and the LEDs turn on.  When you turn the mosfet off, the switch opens and the LEDs turn off.
Screen Shot 2014-05-07 at 3.13.54 PM
When you work with mosfets, you need to pay attention to the Vgs threshold specs. Mosfets require the gate to be charged up to a certain threshold voltage before the switch turns on. Luckily, there are “logic level” mosfets that can turn on with microcontroller voltage levels of 5VDC and there are even some that can work with a Vgs as low as 3.3V. I happened to have some of these sitting around from a previous project, which are in a DPAK package: The Alpha&Omega AOD476 (Digikey, data sheet). Let’s look at the data sheet together.

  • First of all, let’s notice that our 12V application is well within the VDS limit of 20V.
  • Also notice that our piddly 2A requirement is nothing compared to the maximum drain current (Id) of 25A.
  • Please realize, however, that the maximum drain current rating is somewhat misleading. First of all, it is specified when Vgs = 10V, which is not the case for us. Secondly, the true limiting factor is the heat generated by Rds(on). As Vgs goes up, the mosfet “turns on” more and more, causing the Rds(on) to go down. In other words, as you have a bigger gate drive voltage, the switch becomes a better conductor and produces less heat. Remember, when you pass current through a resistor, it generates heat. We want to minimize this resistance and, therefore, minimize the heat.
  • Notice, for our application of Vgs = 3.3V, we are interested in this spec: RDS(ON) <79 mΩ (VGS = 2.5V)
  • Now, let’s calculate the worst case power dissipation in the mosfet. Power in mosfet = (I**2)*(R) = (2A**2)*(0.079ohms) = 0.32watts. This is the power dissipated in the mosfet switch when we pass 2A of current through it. Is this okay? Or will it catch on fire when the deer turns on? Luckily, since I have done a lot of automotive design, I know the answer. Let’s look at the thermal impedance of the device!
  • Look in the data sheet at the “Thermal Characteristics.” You can see the “Maximum Junction-to-Ambient.” This refers to the thermal impedance of the device. In our application the lights turn on while the animal is making its noise, and then it turns back off. This means we use the 25°C/W number. Thermal impedance might sound scary, but its units tell its story. Notice how the units are °C/W. This tells us that the temperature (°C) will rise depending on the power (W). In our case, the mosfet temperature will rise 25°C for every 1W it dissipates.
  • Our deer, when it turns on, will cause the mosfet to rise in temperature by (25°C/W)*(0.32W) = 8°C. This is no problem whatsoever, especially since our ambient temperature will be approximately 0°C! The data sheet specifies that the mosfet can never exceed 175°C. We are well below that!
  • Our situation is actually slightly better than this because I mounted the DPAK mosfet to a PCB I had sitting around, which actually reduces its thermal impedance a little bit because the circuit board provides a little bit of heatsinking.

IMG_1696_lores

Now that we have chosen our mosfet switch and confirmed that it is appropriate for our worst case LED load, it is time to choose a GPIO pin on the BBB to control the mosfet switch. I noticed that P9_42 = GPIO_7 looks good.  I liked this choice because:
  1. It is right next to and in-line with the 32,34,36 that I am using for the Photo sensor.
  2. It has DGND right next to it on 44.
  3. Since I am slightly worried about connectors falling out of the BBB female sockets, we could perhaps make a 7-pin SIP header (32-44).  This could grip very nicely and be reliable even when being beat around by the wind.
  4. P9_42 = GPIO_7 seems unused by other peripherals.
  5. P9_42 = GPIO_7 is also a PWM if I want to fade the LED in and out!!
In a previous post, we already explained the software side of using Bonescript to control P9_42. Now lets hook up the hardware and make sure driving the mosfet gate doesn’t fry anything. Looking at the above schematic, you can see R1. This is there to limit the current coming out of the BBB GPIO pin. In order to change the mosfet from the off-state to the on-state, you need to charge the gate.  This gate looks like a capacitor. This means that there is an instantaneous spike of current which exponentially tapers off as it charges. R1 is there to limit this initial current spike. What value should the series gate resistor (R1) be?  (100ohm?  1meg?)
I learned that the GPIO can source 4-6mA and sink 8mA. In our application, we will be sourcing current to charge the mosfet switch. But we cannot exceed 4-6mA! I decided to try R1 = 1k and to measure the peak current going through R1. Check out the below oscilloscope screen capture. This shows the voltage across R1. It shows a peak of approximately 2.7V. We know from our friend Ohm’s Law that V = IR  –> I = V/R = 2.7V/1k = 2.7mA. This is great news! My peak charging current, while charging the mosfet gate, is only 2.7mA. This is below the 4mA limit!

Cap02_OWL_turnONwith1kgateResistor

The lights turned on!

Thanks for reading! Stay tuned for the next installment, where we’ll talk more about programming the BBBs with node.js and Bonescript.

 Posted in Educational, Events, Interactive, LED Art Projects, LED Flex Lights, LED Strip Lights, Winter Night Lights at Audubon |  Tagged , , , , |  4 Comments

by Jamie Nash and Steve French

If you’ve just showed up and are wondering where installments 1 through 3 are hiding, here’s a breakdown of our Sounds of the Night blog series:

  1. Overview, concept and background
  2. Creation and build
  3. BeagleBone Black, USB Audio interface and speakers
  4. Implementing the light sensors that were read by the BBB (<– You are here)
  5. Designing and driving the LEDs with power mosfets controlled by the BBB
  6. Programming the BBBs with node.js and Bonescript
  7. Challenges we had (both technically and with the weather)

 

This week, we will dive into the specifics of the light sensor we used to detect the children’s flashlights. The industry workhorse for this task is the PhotoResistor. These devices are extremely low-cost and simple to use. Check out Adafruit’s awesome tutorial about PhotoResistors here. I was originally planning to buy a handful of these sensors from RadioShack and cobble together the traditional resistor biasing circuit, but the more I started thinking about our wintery outdoor application, the more I got nervous about the raw sensors, resistors and wires thrashing in the wind and snow. Luckily, my GeekDad buddy Anton Olsen, who I met through our trips to Guatemala, recently introduced me to this Vex Robotics Light Sensor (below).

IMG_1597_vex2

 

As you can see in the below schematic, this is the same thing that I could have put together with RadioShack parts, but I was very interested in the protective plastic housing complete with mounting bracket. We ended up disassembling the Vex light sensor and completely encasing all of the electronics in silicone. This made sure that it would withstand our abusive weather conditions.

 

Screen Shot 2014-05-01 at 2.14.43 PM

Now let’s hook this thing up to the BeagleBone Black. The below analog pin layout was taken from this page. It is very, very, very important not to exceed the 1.8V limit on the analog pins, as the note below the image warns! Notice how, in the above schematic, the red wire is shown as a +5VDC supply wire. R1 and R2 just form a simple resistor voltage divider.

7_analog_inputs_(1.8V)

I decided to see if the light sensor would still work properly if we used a 1.8V supply instead. See the below oscilloscope screenshot showing how the light sensor responded when using a 1.8VDC supply. The dynamic range looks great! You can clearly see the difference between the three different lighting states.

 

C04-Vex-BBB1.8vdc

 

 

Then I had a great idea! Notice how the Vex sensor has a 3-pin connector. I realized that if I used AIN5, I would have all three of the necessary pins right in a row. The catch is that I had to manually switch the red and black wires on the Vex connector. Once I did this, I could plug the Vex sensor connector directly into these three pins on the BBB:

Pin 32 = VDD_ADC

Pin 34 = GNDA_ADC

Pin 36 = AIN5

If you remember last week’s post, this is why the software used P9_36 to read the sensor value.

 

C05-Vex-BBB1.8vdc

 

The above oscilloscope screenshot shows a more realistic view of how things would look for the analog input with a child shining a flashlight in a dark environment.

So now that video from Installment One makes total and complete sense, right? We hope so! As always, thanks for reading and check back for our next installment: Designing and driving the LEDs with power mosfets controlled by the BBB.

 Posted in Educational, Events, Interactive, LED Art Projects, LED Flex Lights, LED Strip Lights, Winter Night Lights at Audubon |  Tagged , , , , , |  4 Comments

by Jamie Nash and Steve French

This post is just one part of a bigger, more awesome whole! Want to check out the other parts? Here’s a breakdown of our Sounds of the Night blog series:

 

Now, we’re jumping into the BeagleBone Black. When we did this project back in late November 2013, we used the Angstrom Linux distribution. Angstrom used to be the official Linux distribution, although in March 2014 it switched to Debiam. Luckily, most of the concepts still apply.

Screen Shot 2014-04-24 at 3.25.03 PM

 

Step 1: We installed this Linux operating system:

OS:  Production Image 2013.09.04, which we found here (There are many great tutorials explaining how to flash the image, so we won’t go into that here).

Step 2: SSH into your BeagleBone Black
Our preferred method is to hook the BeagleBone Black to your local network with a Cat5 cable. Look in your router’s DHCP table to see which IP address was assigned to your BBB. Then, SSH (Secure SHell) into your BBB to continue with the tutorial.
  • ssh root@192.168.1.106 (the password is “root”)

For our project, we had five animals, seen below.

Animal1 = Owl = vBBB3Angstrom0904 (test unit, not executed as per below) = 192.168.1.104
Animal2 = Fox = vBBB10Angstrom0904 (executed as per below) = 192.168.1.106
Animal3 = Racoon = vBBB33Angstrom0904 (executed as per below) 192.168.1.107
Animal4 = Bobcat = vBBB34Angstrom0904 (executed as per below) 192.168.1.108
Animal5 = Deer = vBBB35Angstrom0904 (executed as per below) 192.168.1.140


Step 3: Set hostname
Now that we are logged into our BeagleBone Black, we want to change the hostname away from the default “beaglebone.” Remember, in our case we have five different animals with five different BeagleBone Blacks, so we want them to be uniquely labelled and identified. There are many ways that we can change the hostname, but we prefer to use the built-in text editor “Nano.” Remember, when you are done changing the hostname to type Ctrl+O to save and Ctrl+X to exit.
  • nano /etc/hostname

Step 4: Fix the Angstrom date problem
One of the very annoying parts of Angstrom was that it was not able to automatically set the current date and time after each reboot. To fix this, we have to follow these steps. (UPDATE: here is another date fix that might be simpler).
Temporary command line fix first:

Permanent fix:

  • opkg update
  • opkg list|grep ntp
  • opkg install ntp
  • nano /etc/ntp.conf (and make changes as described in the above guide)

To set the timezone:

  • rm /etc/localtime
  • ln -s /usr/share/zoneinfo/EST5EDT /etc/localtime

Enable the services:

  • systemctl enable ntpdate.service
  • systemctl enable ntpd.service
  • nano /lib/systemd/system/ntpdate.service
  • replace with this line “ExecStart=/usr/bin/ntpd -q -g -x”
  • Reboot

Luckily, you don’t have to do any of this date crap in the new Debian distributions!


Step 5: Install the audio library

We will be writing our application in Node.js, so let’s install the SoX Library, which Node.js can call to play our audio files.

  • opkg update
  • opkg install sox

Step 6: Copy the audio files to the BBB

There are many ways to copy files from your workstation to your BBB. Here, we use the command line tool “scp” which stands for “secure copy.” We make a directory on the BBB called “audio” and then do this command.

  • scp /Users/VoltVision/Dropbox/VoV1234-Audubon2013/Wow4-SoundsOfTheNight/audio/fox1a.wav root@192.168.15.104:~/audio

Step 7: Now let’s talk about the USB Audio device!

One of the best parts about using the BeagleBone Black is that it’s very easy and cost-effective to implement audio. We ordered a whole bunch of these off dealextreme for approximately $3 each. (Allow 4 to 6 weeks for shipping).

sku_22475_1

 

These are essentially USB audio cards. They allow us to easily get audio in and out of the BBB. Luckily, these devices were recognized right out of the box with no additional drivers required.

Make sure USB audio device is there!

  • lsusb
Show all devices:
  • aplay -L

Test playing sounds using sox:

  • aplay -D “default:CARD=Device” /home/root/audio/wolfhowl.wav
Notice how above we had to specifically call out the audio device by name. It is more convenient, however, to set our USB device to be the default device.
Set Default Device:
  • nano /etc/asound.conf
…and add this line…
  • pcm.!default sysdefault:Device
…now this works:
  • aplay /home/root/audio/fox2-short.wav

Step 8: Cloning our source code from Git

During this project, we were very lucky to work with Node.js master Daniel Zavala from Mexico City. He helped us by writing the Node.js code. This code also implements the cool Bonescript library written by Jason Kridner. Let’s grab the code off of the Volt Vision GitHub and put it on our BBB.

  • cd ~ (change to your home directory)
  • git clone git://github.com/VoltVisionFrenchy/Audubon2013-Wow4.git

The main application file is called “app.js.” Here, Daniel defines the sensor variable, which is used to continuously monitor the light sensor. He also sets up console notifications to let us know when the light sensor crosses above and below the threshold setting. This is great for de-bugging purposes. We can also see that Daniel calls two modules: “sensor.js” and “sound.js.” Let’s discuss each of these now.

Regarding sensor.js, you can see where the “P9_36″ pin was used to read the analog light sensor, along with other supporting code.

Regarding sound.js, you can see where we trigger the audio file to play. Each animal had its own sound, so we had to edit the filename for each animal. The way we did it is by spawning a child process which sends out the “aplay” command that we talked about above. You can also see where we are doing a digitalWrite to pin “P9_42″ which controls the LED. Notice how the LED control goes high when the sound starts playing, then goes low when the sound stops playing. (We will talk about the electronic driver side of the LEDs later).

At this point in the development, we had our first success!

We don’t want to manually launch “app.js” every time, however. We need to make sure that it runs automatically every time you reboot the BBB. For this, we need to set it up as a service…


Step 9: Now lets set it up as a service!
Remember, for our application, these animals are out in the middle of the woods in the snow. They are powered by a very long AC extension cord (outdoor rated) which gets plugged and unplugged every night. Our software has to be able to automatically start up after each boot cycle. To do this, we run our Node.js app as a service. Let’s create this file:
  • nano /lib/systemd/system/voltvision-startup.service

Now, paste this into the new empty text file:

[Unit]
Description=Volt Vision Startup Script for node!
ConditionPathExists=|/usr/bin
#After=local-fs.target
[Service]
Type=oneshot
WorkingDirectory=/home/root/Audubon2013-Wow4
EnvironmentFile=/etc/default/node
ExecStart=/usr/bin/node app.js
SyslogIdentifier=VoltVision.service.NodeJS.Audubon2013.wow4a
[Install]
WantedBy=multi-user.target
(Remember to save and exit)
  • systemctl start voltvision-startup.service (temporarily starts the service)
  • systemctl enable voltvision-startup.service (enables service to automatically start after reboot)
  • systemctl status voltvision-startup.service (optional, but good reference)

For the speakers, we tried a variety of low-cost options, like this one, that one, and the other one.

 

Wanna hear what the animals sound like? Of course you do.

Deer:

Raccoon:

Owl:

Bobcat:

Fox:

Oops, not that one!

Fox:

Thanks for reading! Check back next week when we get into the specifics of our analog light sensors!
 Posted in Educational, Events, Interactive, LED Art Projects, LED Flex Lights, LED Strip Lights, Winter Night Lights at Audubon |  Tagged , , , , , |  5 Comments
by Jamie Nash and Steve French

 

For those of you who just stumbled upon this blog post and are now asking, “Installment 2 of 7? What happened to Installment 1?” Here’s a breakdown of our Sounds of the Night blog series:

 

  1. Overview, concept and background
  2. Creation and build (<–You are here)
  3. BeagleBone Black, USB Audio interface and speakers
  4. Implementing the light sensors that were read by the BBB
  5. Designing and driving the LEDs with power mosfets controlled by the BBB
  6. Programming the BBBs with node.js and Bonescript
  7. Challenges we had (both technically and with the weather)

 

In this post, we will be talking about the creation and build of the interactive critters from our Sounds of the Night exhibit at the Jamestown Audubon. We were very lucky to hire the wonderful artist Gary Peters, who recently animated the official music video for 10,000 Maniacs, as our Artistic Director for this project. Gary was responsible for making all final decisions pertaining to aesthetics and art. A lot went into making these fellas, so we’re breaking it down and starting with the basics: foam and plywood. That’s what they’re made of on the outside, and we’ll talk more about their insides later on. Check it out!

 

IMG_6507-AnimalGuts
The foam is standard 2″ Owens-Corning XPS Pink Foam Insulation right off the shelf from your local hardware store. Gary hand-carved these into animal shapes and cut the plywood to provide a backbone and mounting for the LEDs. We actually had to use two thicknesses of foam for 4″ total thickness. This is because we needed to hold the LEDs more than 3 inches away from the front surface of the animal so there was no bright spot caused by the proximity of the LED light strip.

 

Screen Shot 2014-04-17 at 1.49.03 PM

The animal’s foam body is equipped with the LED strip that will eventually light up the critter from the inside out. As you can see above, we simply made a back-lit light box in the shape of an animal. That strip inside the foam body is the white LED light strip.

LED specs:

    • 5000k color temperature white
    • 12VDC
    • 9W/m
    • 120 LEDs / m
    • LED Size: SMD3528
    • IP68 waterproof rating

 

Screen Shot 2014-04-17 at 3.04.49 PM

In the picture to the right, notice the silicone outer sheath plus the inner silicone jelly. A few comments about this: Most generic LED strips from China do not implement this robust IP68 rating. Volt Vision’s LED strips are used mostly outdoors and often in the sun. Because of this, we use materials that are more expensive than normal strips. We use silicone instead of epoxy for both the outer sheath and the internal jelly. We have learned through years of experience that the normal epoxy material yellows and cracks over time. The silicone material that we special order costs more, but is more professional and lasts for years. The IP68 rating comes from this dual protection layer. Volt Vision has confidently used these materials in many underwater projects.

Most LED strips nowadays come in 5 meter reels, and you can cut them to any desired length with scissors. We will be talking about the soldering and LED driver electronics in Part 5 of this series.

Screen Shot 2014-04-17 at 2.20.35 PM

High Impact Polystyrene

 The front “skin” of the light box is hand-painted using acrylic paint onto High Impact Polystyrene (HIPS) 0.040″ thick (40mils). In choosing a material, there is always a trade-off. If the material is too thin, it will easily tear and puncture. If it is too thick, it won’t let enough light through. This 40mil thickness is the sweet spot because it is thick enough to stand up to abuse, and thin enough to allow a nice, uniform glow.

Animal1_owl

And now for the paint: We have found that acrylic paint works excellently to give good detail for the paint job while still allowing adequate light to come through from behind. Gary used a clear coat finish to protect the paint job from bumps, scrapes and weather.

And if you’re wondering just how large these animals are, check out this photo of our deer next to a person.

Screen Shot 2014-04-17 at 1.44.20 PM

Regarding scale, Gary has learned through experience that when you get things outside and any distance away from people, they get lost quickly. And because it’s an art project, we didn’t want that “larger than life” quality to go away. This is why all of our animal creations are roughly 2 to 3 times the size of an actual animal.

Thanks for reading! Check back for our next installment where we cover the BeagleBone Black, USB Audio interface and speakers for this Sounds of the Night project.

 Posted in Events, Interactive, LED Art Projects, LED Flex Lights, LED Strip Lights, Winter Night Lights at Audubon |  Tagged , , , , , |  5 Comments

by Jamie Nash and Steve French

Hello everybody! We are excited to announce that Volt Vision is launching a seven-part series of blog posts about one of our many BeagleBone Black projects: Sounds of the Night. This series will be a technical walkthrough detailing every aspect of building this project. This post will be number 1 in that series, so check back each week for the next installment!

Screen Shot 2014-04-10 at 1.37.48 PM

As you may know from our blog, Volt Vision’s workshops at FIT2013 in Guatemala focused heavily on the BeagleBone Black and how students could implement it into their own projects. Now, we’ll show you how we incorporated it into one of our own: Winter Night Lights at the Audubon 2013.

BBB

One of Volt Vision’s five “wows” at the Jamestown Audubon Center was Sounds of the Night — an interactive project with an environmentally educational theme. The exhibit included five animal creations, all of which represent animals native to the Western New York area. They were hand painted by Gary Peters and equipped with interactive LED lights and sound effects. When a flashlight’s beam pointed at the light sensor, the animal came to life! Each animal — an owl, a raccoon, a bobcat, a deer and a fox — lit up and serenaded the crowd with its own sound.

Check out this clip, from a larger video by cinematographer Nigel Eastman, to see the animals in action.

 

During the development of Sounds of the Night, Volt Vision had the pleasure of working with node.js master Daniel Zavala from Mexico. The following video is a celebration, showing Daniel the exciting moment when his program first works! As you can see, the “animal” is not yet attached, but the sensor and sound are ready to go.

 

As we mentioned earlier, this post is just the first in a series of seven blog posts detailing our work with the BeagleBone Black. Next time, we’ll go more into depth about the creation and building of Sounds of the Night. So stay tuned! Here’s what’s in store:

 

1) Overview, concept and background (<– You are here)
 Posted in BeagleBone Black, Educational, Events, Interactive, LED Art Projects, LED Flex Lights, LED Strip Lights, Winter Night Lights at Audubon |  Tagged , , , , , |  7 Comments