Warding Off Winter With TI CC2650, Beaglebone Black, and a Nest Thermostat

Winter is coming, and the Northeastern United States where I live can get cold! And the houses are often old and drafty. So I built a wireless sensor system tied to a Nest thermostat to keep me cozy, wherever I am in the house, instead of keeping my thermostat cozy, bolted to its wall.

I did this with Texas Instruments’ Sensortags, a Beaglebone Black, DeviceHive for device registration and management, and a Nest thermostat.

This one was coded up using Python to speak Bluetooth LE to the Sensortags, and JavaScript on Node.js to do the device registration and telemetry messaging.

Yeah, they call it Bluetooth Smart now, but I don’t like that name! LE for me. 😉

DeviceHive managed the device registration for Sensortags, to make it easy to add new tags and wrangle them, and the wot.io data service exchange piped the messaging to scriptr for some transform logic in a convenient cloud service. bip.io did visualization and Nest control, and Circonus handled data logging and analytics.

Read the articles here:

http://labs.wot.io/ship-iot-with-beaglebone-black-ti-sensortags-and-devicehive/

…and here:

http://labs.wot.io/ship-iot-with-beaglebone-black-ti-sensortags-and-devicehive-part-2/

And the code is on GitHub!

This is the video I made to go along with the rest:

 

Novena Laptop Assembly Timelapse Video

Recently assembled my shiny new Novena laptop, and decided to make a time-lapse video of the assembly process. Shot in 4k on RED – because one awesome tech deserves another!

In the video, you’ll see that I use threadlocker everywhere. I’m a big fan of the stuff, and in my opinion so very many of the so-called maker projects and kits out there should be recommending it. Especially the ones full of stepper motors and other vibrating bits, that are made of wood or acrylic, which prevents you from pre-tensioning the bolts correctly because you’ll crush or crack the chassis.

I also spill superglue all over my hands, when a tube decides to goosh out everywhere. (was securing one of the peek array threaded inserts, that pulled out while trying to install a speaker) That was fun, trying to not touch anything for a few minutes until it dried, and then going at it with acetone… I do not recommend gooshing superglue all over your hands. Avoid.

Very excited to dive into this phenomenal hardware hacking platform. Thanks, bunnie and xobs!

 

GoPro HD Hero2 Won’t Turn On – Firmware Flash Fix

Update January 12, 2016: This seems to be very popular, and fixing a LOT of GoPro cameras! I’m going to re-visit this soon, and update it. I hope it can continue helping everyone save GoPros from the trash bin!

If you try this fix, remember to post a comment and let everyone know how it worked out!

Just recently, I had a problem where my GoPro HD Hero2 would not turn on, with battery or USB connection for power. Reading up on it a bit, I found that many others have had this issue, and aside from the few voodoo “fixes” which involved insert-remove-power-button-blah sequences, the only real fix was to re-flash the firmware. This seems to me to be a symptom of bit-rot in the firmware flash chip, with a weak cell or block, that would read out properly once in every 50 attempts to boot.

GoPro’s instructions for updating firmware involve downloading their CineForm software that has a magic flasher integrated somewhere. I don’t like big bloated software downloads to do little things, so I found a way to do it without it, on YouTube by user WellingtonBikeCam01. So, here is the fix, with much credit given to that video (which is marked CC-BY-NC, so here’s a modified version of the instructions with my own experience mixed in). Try this at your own risk. If your camera is under warranty, and you are not experienced with firmware flashing, just send it back to GoPro instead.

UPDATE: Check Dan’s comment below – and try putting the thing in the fridge for a few hours first! It’s worked for me on jinky hard drives, too.

For those who are curious about the fridge thing: Cold spray (in a can!) is commonly used as a diagnostic tool for electronics, because it does two things: first, it alters the physical dimensions of the device, which can cause micro-cracks to open or close or otherwise make themselves known; second, it alters the electrical characteristics of the device, possibly pushing it just into or just outside of a tolerance limit. This lets you identify broken parts, and (in our case) possibly coax something into working when it is otherwise not doing so. I suspect the flash memory chip, since they can fail by having their data fade away. Pushing the tolerance of “data won’t read” into “data just barely does read” by making it cold is possibly why this works for us here.

  1. Read all instructions and understand that if there’s a problem, it’s your problem, not mine. Make sure the camera battery is fully charged.
  2. Optional, for difficult cases: Put camera in fridge/freezer, inside a ziplock bag. See comments below for info.
  3. Download the latest firmware from GoPro here: http://software.gopro.com/Firmware/HD2/HD2-firmware.bin (“wget” and “fetch” also work, for those who prefer CLI)
  4. Copy the firmware file to an SD card.
  5. Optional: Remove camera from fridge/freezer.
  6. Insert the SD card into the camera.
  7. (Retry from here, see below) Remove and re-insert the battery.
  8. Place the camera on a solid table surface.
  9. Hold down the top “shutter” button while turning the camera on with the front “power” button.
  10. Release the shutter button only after the camera display appears.
  11. If the display doesn’t turn on within a few seconds, this boot attempt failed (yay bad flash chip). Go to the remove/insert battery step above where it says “Retry from here”, and do it over and over until it actually boots. It may take many tries!
  12. Press and release the power button, you need to do it quickly after the camera turns on and you release the shutter button (so I have read).
  13. A prompt will appear that says “press 1” – Press and release the power button. A prompt will appear that says “press 2” – Press and release the power button again.
  14. The camera will install the first update and turn itself off. The red light will blink, and it will show an updating icon on the screen. Don’t touch the camera at all! If the power is interrupted by a jinky battery connection during the flash, you may brick the camera! Don’t even wiggle the table. Just wait. My display said it was installing version 77 (bootloader maybe?).
  15. (v198 only, says the original YouTube instructions. Not sure if that’s the case?) Power the camera on, and the update will continue for about a minute, installing the next part of the firmware, and the camera will turn itself off. My display said it was installing version 222 (operating software maybe?).
  16. Delete the “HD2-firmware.bin” file from the SD card.
  17. After formatting the SD card in the camera, there will be a “version.txt” file in the “MISC” folder of the SD card. It will contain the long version of the firmware number, so instead of “v70” or whatever you had, you’ll see this: “firmware version”:”HD2.08.12.222.WIFI.R56.00″ (or whatever you put on)

Notes:

  • It’s recommended to delete all files from the SD card and format it freshly before doing a firmware upgrade.
  • All camera settings will revert to defaults after the upgrade. If you have any special settings, write them down first.
  • You may have to reformat your SD cards in the camera for them to be recognized. It’s always best to format cards using the device they are used in, instead of on a computer.
  • It’s a good idea to verify the hash of the new file before installing it.

SHA1 hashes:
v222 – 15a3858dec60467439fafd7804ea7d649b487634
v198 – 5031a90ce730591e207ddf3d6ae4546e22037eb8
v124 – a923d64ed486054244997863972c6aedd3ea197e
v70 – 47c8de1e88e6709f53de98462037e3dcb1e44758
v58 – 7468e67f62560eee40acbfa3f7cadd9e5ce0eb05
v50 – 328d97d4bde572fe83ccefb7a5f7f28fc209c539

I found in the process that there’s this thing called ProTune, which activates new framerates and resolutions that are useful for professional film shoots. It also applies a more neutral color curve to the recorded image, leaving greater latitude for color correction in post-production. Very handy!

I hope this helps someone else out there un-brick their GoPro. Great little cameras! And GoPro, use some better-spec flash chips, will ya? Thanks =)

And, finally, in the spirit of the YouTube author that made my day, this post is CC-BY-NC-SA.

UPDATE: After flashing, my camera was booting up just fine, but being jinky. It would stop recording after a few seconds, or randomly lock up, or otherwise behave badly. Did the usual routine of formatting the SD card in the device, etc. The first try of re-flashing died after a few seconds – I panicked, thinking I had bricked it. But, the bootloader/flasher was intact, and I was able to flash it again. It’s working better, but still locks up when flipping through menus, etc. Think I might be sending it back for replacement. Sigh!

UPDATE TO THE UPDATE: Two update? This is obviously too much of a hassle. During recording, it *appeared* to be locked for a few seconds, red lights stuck on, time counter at 00:08, nothing happening. Five seconds later, it counted up to 00:14 really fast, and kept going. I wonder if my SD card has bad blocks it’s controller is sparing out? Going to do a full zero-overwrite on it and see if it helps.

If you try this fix, remember to leave a comment and let everyone know how it went!

And if it doesn’t work, and your GoPro has finally given up the ghost, I can recommend the new GoPro Session cameras – they are a bit smaller, and less expensive than the full-size GoPro Hero 5 cams. I’ve gotta say, the Hero 5 looks pretty attractive for making pro-quality video in a tiny package…

 

Wacom Pen Pressure Problem in After Effects CS5.5

Tonight I ran across a problem using a Wacom Intuos3 tablet with Adobe After Effects CS5.5. The pen pressure would not work with the brush tool in AE, and the brush acted as if I was using a plain old mouse. Having some detailed work to do, I needed both the Wacom pen input and pressure sensitivity, which I’ve fallen in love with for Photoshop use. (Seriously – if you do any significant amount of Photoshop work, get a Wacom tablet. It’s the best money you’ll spend.)

Since I’ve had far too many years of professionally dealing with PC troubleshooting, I went through all the normal steps you might expect: uninstall and reinstall the drivers, install different driver versions, blow away the preferences file, restart Windows, etc. Nothing worked. To be clear: this is a 64-bit install of Windows 7, and I tried Wacom driver versions 6.1.6-7 and 6.1.7-3, with the latest After Effects CS5.5 updates (reported as version 10.5.0.253).

It struck me that the pen was working much like a mouse, I could gleefully get motion and clicking, but no pressure, tilt, or any of the good stuff. Remember, this is only in After Effects; the pen worked fine in Photoshop. During one of my uninstall / reboot / reinstall iterations, I noticed that Windows picked up the Wacom Intuos3 as a mouse, but of course nothing used the tablet features because there were no drivers installed. So, I checked the Device Manager, and found that there was a generic  “HID-compliant mouse” installed for the tablet. I verified the Vendor ID, and also unplugged my regular mouse to be certain it was the tablet. It was.

This made me suspect that perhaps After Effects was binding to a mouse driver before it got around to the Wacom tablet driver, precipitating the pressureless performance of the pen. I reinstalled the latest Wacom drivers, and checked back with the Device Manager, and found this:

Wacom Intuos3 Device Manager Entries

Notice that there are at least four devices associated with the Wacom Intuos3 tablet, which I highlighted in yellow. Two of them, under the Pointing Devices grouping, seemed very mouse-like, and probably serve to drive the pointer around. The other two, listed under Human Interface Devices, smelled a bit more tablet-specific, and probably provide the pressure, tilt, and other fun stuff to applications. This is just a guess on my part.

Going ahead with my theory that AE was binding to the wrong device first, I wanted to force After Effects to find the tablet drivers before the mouse drivers. I disabled the two Wacom mouse driver entries (which prevents the pen from moving the pointer, by the way), then launched After Effects, and finally re-enabled the two Wacom mouse devices.

It worked! Lovely, glorious pressure sensitivity! I could brush my roto masks with finesse! Retouching became fun instead of a chore! The promise of the pen was fulfilled! Oh, happy day.

My guess here is there is a bug on the Adobe end of things, whereby AE is binding to the mouse-flavoured drivers in lieu of the tablet-flavoured oens. I’ll go file a bug report with them shortly, and hopefully it will get cleared up in the next release. But for now, we have a workaround for the Wacom pen pressure not working in After Effects for the Brush tool:

  1. Disable the two devices: Wacom Mouse and Wacom Mouse Monitor
  2. Launch After Effects
  3. Enable the two devices disabled in the first step
  4. Scribble away!

And there we have it. A working, if annoying, method to enable Pen Pressure in After Effects!

Update: After you do this, if you use Wacom’s mouse on the tablet at all, AE will switch back to mouse mode and not use pressure with the pen. So, keep the mouse away from the pad! You can use a regular mouse just fine, but the tablet mouse will switch things back to sucky mode.

 

Feature Film Post in Adobe CS5.5

So, I’m working on all the postproduction for Binary Samurai, and I’m doing it with Adobe Creative Suite CS5.5Premiere Pro for the edit, which is done, and After Effects for the VFX. As many resources as are out there already, I couldn’t find much information on best practices for managing a project the size and scope of a full feature film. Even with a great book on AE VFX work by my side (highly recommended btw), I still had questions! Things like, do you break things up into individual project files, or use one giant one? Can Dynamic Link come into play effectively? Many more.

Since I couldn’t find any answers, I’ve been blazing ahead and devising my own. I decided to contribute to anyone who may have the same questions by posting an ongoing log of my experiences here. Adobe has come a long, long way with their Creative Suite products when it comes to video, and they are more than ready to tackle the big jobs. Stay tuned for more!

 

HPX170 Speed: USB vs FireWire 1394

Panasonic AG-HPX170 Camcorder

Panasonic AG-HPX170 Camcorder

Today I had to transfer a lot of DVCPRO HD footage from a Panasonic AG-HPX170 camera. I discovered that the USB 2.0 port transferred easily twice as fast, if not faster, as the 1394 FireWire port, when connected to a Macbook Pro. This was a surprising result! I suppose the FireWire port is more useful for direct video capture and monitoring than it is for transferring video from the P2 media cards. Adobe OnLocation plus a laptop with a high-resolution screen makes for a great field monitor, with scopes and annotation tools included!

And praise to Panasonic for releasing an update to P2CMS that now works with Snow Leopard!