RGB Lamp With Micro:Bit Powered Gesture Control

The Micro:bit is a very neat piece of hardware that, frankly, we don’t see enough of. Which made us all the more interested when [Manoj Nathwani] wrote in to tell us about the gorgeous 3D printed RGB LED lamp he created that uses the BBC-endorsed microcontroller to perform basic gesture detection. Purists will likely point out that an Arduino Pro Mini is tagging along to handle interfacing with the LEDs, but it’s still a good example of how quick you can get a project up and running with MicroPython on the Micro:bit.

[Manoj] used eight NeoPixel Sticks, a NeoPixel Ring, and a few scraps of perfboard to construct a three dimensional “bulb” to fill the void inside the printed diffuser. They’re chained together so all the elements appear as a single addressable strip, which made the rest of the project a bit easier to implement. It might not be pretty, but it gets the job done and it’s not like you’ll ever see it again once installed in the lamp anyway.

The Micro:bit and Arduino co-pilot live in the base of the lamp, and the single USB cable to provide power (and the ability to update the device’s firmware) is run out the bottom to give the whole thing a clean and professional look. For those wondering why the Arduino has tagged along, [Manoj] says he couldn’t get the NeoPixel libraries to play nicely with the Micro:bit so he’s using the Arduino essentially as a mediator.

Right now the only gesture that’s detected on the Micro:bit is a simple shake, which tells the Arduino to toggle the light show on and off. But in the future, [Manoj] plans to implement more complex gestures which will trigger different animations. As he explains in the blog post, gesture recognition with the Micro:bit is incredibly simple, so it should be easy to come up with a bunch of unique ways to interface with the lamp.

Color changing LED lamps are a favorite project of hackers, and we’ve seen examples built with everything from glass and copper to laser-cut pieces of wood and veneer. While you might prefer to skip the gesture control for an ESP8266 and UDP, we think this project is another strong entry into this popular genre.

TinyGo Brings Go To Arduino

Go — a modern programming language with roots at Google — is one of the new generation languages that would like to unseat C (and C++) for what we think of as traditional programming. It is only for PCs, though, right? Not so fast! TinyGo provides a compiler that — in their words — is for small places. How small? They can target code for the Arduino Uno or the BBC micro:bit. It can also produce code for x86 or ARM Linux (both 32- and 64-bit) as well as WebAssembly. They claim that a recent project to add ESP8266 and EPS32 support to LLVM will eventually enable TinyGo to target those platforms, too.

As you would expect, there are some subtle differences between TinyGo and the full-blown version. The compiler handles the entire program at once which is slower but offers more for optimization. Certain optimizations for interface methods are not used in TinyGo, and global variable handling changes to accommodate moving data from flash to RAM efficiently. TinyGo passes parameters in registers.

Continue reading “TinyGo Brings Go To Arduino”

A Low Cost VR Headset

Virtual reality systems have been at the forefront of development for several decades. While there areĀ  commercial offerings now, it’s interesting to go back in time to when the systems were much more limited. [Colin Ord] recently completed his own VR system, modeled on available systems from 20-30 years ago, which gives us a look inside what those systems would have been like, as well as being built for a very low cost using today’s technology.

The core of this project is a head tracker, which uses two BBC Microbits as they have both the accelerometer and compass needed to achieve the project goals. It is also capable of tracking an item and its position in the virtual space. For this project, [Colin] built everything himself including the electronics and the programming. It also makes use of Google Cardboard to hold the screen, lenses, and sensors all in the headset. All of this keeps the costs down, unlike similar systems when they were first unveiled years ago.

The ground-up approach that this project takes is indeed commendable. Hopefully we can see the code released, and others can build upon this excellent work. You could even use it to take a virtual reality cycling tour of the UK.

Continue reading “A Low Cost VR Headset”