Root On The Philips Hue IoT Bridge

Building on the work of others (as is always the case!) [pepe2k] managed to get root access on the Philips Hue Bridge v2 IoT light controller. There’s nothing unusual here, really. Connect to the device over serial, interrupt the boot process, boot up open firmware, dump the existing firmware, and work the hacker magic from there.

Of course, the details are the real story. Philips had set U-Boot to boot the firmware from flash in zero seconds, not allowing [pepe2k] much time to interrupt it. So he desoldered the flash, giving him all the time in the world, and allowing him to change the boot delay. Resoldering the flash and loading up his own system let him dump the firmware.

The “hacker magic” glossed over in the intro consisted of poking around until he found a script that was called on every boot. This is how [pepe2k] gets around not knowing the root password. The script compares the hash of the typed password with an environment variable, set with the hash of the correct password. Changing that environment variable to the hash of his favorite password (“root”) made him master of the box.

And just in case you’re one of the few Hackaday readers who doesn’t understand why we do these things, besides the fact that it’s just fun, consider Philips’ (eventually retracted) clampdown on the interoperability of this very device, or Google’s red bricks. The fatal flaw of IoT devices is that they place you at the whims of companies who may decide that they’re not making enough money any more, and shut them down. Keep your hacking skills sharp.

Thanks [Jan] for the great tip!

3D Printed Electric Unicycle

Actually riding around at 30 km/h on a 3D printed means of transportation is pretty gnarly, if not foolhardy. So we were actually pleased when we dug deeper and discovered that [E-Mat]’s unicycle build is actually just a very nice cover and battery holder.

We say “just”, but a 3D-printed design takes a couple of cheap parts (the wheel and pedals) from the Far East and turns them into a very finished-looking finished product. Custom bits like this fulfill the 3D printing dream — nobody’s making it, so you make it yourself. And make it look pro.

It turns out that other people have noticed this motor/controller/pedal combo as well. Here’s some documentation to get you started.

It’s funny. Just four years ago, self-balancing powered unicycles were the realm of the insane hacker. Then came some hacker improvements, and now we’re at the point where you can mail-order all the parts and 3D print yourself a fancy enclosure.

Continue reading “3D Printed Electric Unicycle”

Encrypted USB Bootloader For AVRs

It probably doesn’t matter much for the hacker who sleeps with a bag of various microcontroller flash programmers under the pillow, but for an end-user to apply a firmware upgrade, convenience is king. These days that means using USB, and there are a few good AVR USB bootloaders out there.

But [Dmitry Grinberg] wanted more: the ability to encrypt the ROM images and verify that they haven’t been tampered with or otherwise messed up in transit. Combined with the USB requirement, that meant writing his own bootloader and PC-side tools. His bootloader will take unencrypted uploads if it doesn’t have a password, but if it’s compiled with a key, it will only accept (correctly) encrypted hex files.

Since the bootloader, including the USB firmware, is on the hefty side at 3.3 kB, [Dmitry] included hooks to re-use the bootloader’s USB code from within the target application. So if you were going to use V-USB in your program anyway, it doesn’t actually take up that much extra space. It’s a cute trick, but it ties the bootloader and user program together in a way that gives us the willies, without specifically knowing why. Perhaps we can debate this in the comments.

If you need an AVR USB bootloader, but you don’t need the encryption, we like Micronucleus. But if you need to deliver updates to users without them being able to modify (or screw up) the code in the middle, give [Dmitry]’s setup a try.

Bluetooth And Arduino Vaporizer Upends Stoner Stereotypes

Back in the day, stoners were content to sit around, toke on a joint, mellow out, and listen to the Grateful Dead or something. Nowadays, they practically need a degree in electrical engineering just to get high. [Beiherhund] sent us his VapeBox build. Like so many projects on Hackaday, we’re not going to make one ourselves, but we appreciate a well-done project.

First off, there’s a home-built induction heater. A 30A current sensor and switch-mode power supply regulate the amount of juice going to the coil that surrounds the heating chamber. [Beiherhund] discovered that brass doesn’t have enough internal resistance to heat up in an induction heater, so he built a stainless steel insert into the chamber. Optimal temperature is monitored from outside the chamber by a MLX90614 IR thermometer.

Fans, controlled by PWM, keep the box cool. Lights, an LCD, an HC-05 Bluetooth unit, and everything else are all tied to the obligatory Arduino that serves as the brains. A cell-phone application lets [Beiherhund] control all the functions remotely. (We’re guessing, just because he could.) It’s wrapped up in a nice acrylic case. The video, embedded below, starts with real details at 4:28.

Before you loyal Hackaday commenteers get on your high horses (tee-hee!) bear in mind that smoking dope is legal in a number of states in the USA, and that Hackaday has an international readership. We don’t encourage drug abuse or soldering in shorts and flip-flops.

https://www.youtube.com/watch?v=2xSBCHC3Vhs&t=4m28s

Fail Of The Week: Ferrofluid

It’s more of a half-fail than a full fail, but [Basti] is accustomed to getting things right (eventually) so it sticks in his craw that he wasn’t able to fully realize his ferrofluid dreams (German, translated here). Anyway, fail or demi-fail, the project is certainly a lesson in the reality of ferrofluid.

ferro

We’ve all seen amazing things done with ferrofluid and magnets. How hard can it be to make an interactive ferrofluid wedding present for his sister? Where ferrofluid spikes climb up a beautifully cut steel heart in a jar? (Answer: very hard.)

Continue reading “Fail Of The Week: Ferrofluid”

MicroPython On The ESP8266: Kicking The Tires

Scripting languages are for large computers, right? “Real” embedded device work is a hellish, never-ending cycle of code, compile, and re-flash. Well, I used to think so too, but with the proliferation of scripting and other interactive languages to microcontrollers over the last few years, the hurdle to interactive development on the small chips has gotten a lot lower.

On the ESP8266 platform, I’ve tried out NodeMCU’s Lua and ESP8266 BASIC. (For the last half-year, I’ve been using the awesome Mecrisp-Stellaris almost exclusively on the STM32F1xx and F4xx chips, but haven’t dipped into ESP8266 Forth yet.)

NodeMCU is great because it’s got everything you could want built in, and through cloud services it’s easy to get a tailored build made that maximizes free flash memory for your projects. I just don’t dig the asynchronous Lua thing (you might, try it!). ESP BASIC has a different set of libraries, and is missing MQTT for my purposes. Still it’s pretty slick, and worth a look.

So when the MicroPython folks announced that they were releasing the binary builds for the ESP, I thought it was time to give it a spin. I’ve used Python for nearly twelve years now, so it’s like a comfortable shoe for me. Would MicroPython be the same on the ESP8266? The short answer is yes and no.

Continue reading “MicroPython On The ESP8266: Kicking The Tires”

Simple Clock Is Great Stepper Motor Project

You’d think that we’ve posted every possible clock here at Hackaday. It turns out that we haven’t. But we have seen enough that we’ve started to categorize clock builds in our minds. There are the accuracy clocks which strive to get every microsecond just right, the bizzaro clocks that aim for most unique mechanism, and then there are “hello world” clocks that make a great introduction to building stuff.

Today, we’re looking at a nice “hello world” clock. [electronics for everyone]’s build uses a stepper motor and a large labelled wheel that rotates relative to a fixed pointer. Roll the wheel, and the time changes. It looks tidy, it’s cyclical by design, and it’s a no-stress way to get your feet wet driving stepper motors. And it comes with a video, embedded below.

Continue reading “Simple Clock Is Great Stepper Motor Project”