Apple’s “Find My” service allows users to track their missing devices by leveraging a worldwide network of location-aware iGadgets. With millions of iPhones and Macs out in the wild listening for the missing device’s Bluetooth advertisements and relaying their findings to the Cupertino Mothership, it’s a highly effective way of tracking hardware so long as it stays in relatively urban areas. Unfortunately, the system is completely proprietary and non-Apple devices aren’t invited to play.
Or at least, that used to be the case. A project recently released by the [Secure Mobile Networking Lab] called OpenHaystack demonstrates how generic devices can utilize Apple’s Find My network by mimicking the appropriate Bluetooth Low Energy (BLE) broadcasts. Currently they have a firmware image for the BBC micro:bit, as well as a Python script for Linux, that will allow you to spin up an impromptu Find My target. But the team has also published all the information required to implement similar functionality on other BLE-capable devices and microcontrollers, so expect the list of supported hardware to grow shortly.
Somewhat ironically, while OpenHaystack allows you to track non-Apple devices on the Find Me tracking network, you will need a Mac computer to actually see where your device is. The team’s software requires a computer running macOS 11 (Big Sur) to run, and judging by the fact it integrates with Apple Mail to pull the tracking data through a private API, we’re going to assume this isn’t something that can easily be recreated in a platform-agnostic way. Beyond the occasional Hackintosh that might sneak in there, it looks like Tim Cook might have the last laugh after all.
It’s not immediately clear how difficult it will be for Apple to close this loophole, but the talk of utilizing a private API makes us think there might be a built-in time limit on how long this project will be viable. After all, Big Tech doesn’t generally approve of us peons poking around inside their machinations for long. Though even if Apple finds a way to block OpenHaystack, it’s expected the company will be releasing “AirTags” sometime this year which will allow users to track whatever objects they like through the system.
The BBC has a long history of supporting technology education in schools. The BBC Micro introduced a whole generation of students to computers, and more recently the Micro:bit is teaching today’s children about embedded systems. [Michael Klements] happens to be a grown adult, but has whipped up a project using the little board to build an automatic plant watering system.
Rather than a simple timer-based system, [Michael’s] build measures soil moisture using a capacitive sensor. This has the benefit of not needing to be in direct contact with the soil as resistive sensors do, and thus the sensor can be built in a fashion that minimises corrosion. The Micro:bit reads this sensor using an analog input, and displays the moisture level using its inbuilt LED matrix as a graph. Once levels dip below a set threshold, a pump is activated to deliver water to the plant until the soil is suitably moist again.
It’s a simple project, but one that would be a great way to teach students about interfacing with pumps and sensors, as well as the basics of control systems. [Michael] also notes that further work could involve interfacing multiple Micro:bits using their onboard wireless hardware. We’ve thus far seen the Micro:bit used for everything from handheld gaming to gumball delivery. Video after the break.
Continue reading “Micro:bit Put On Plant Minding Duty”
We know that LED video cubes are so last year, but that doesn’t mean we don’t still love to see them. Any project that incorporates over 24,000 LEDs is bound to be impressive, after all. But the more interesting bit about [Mike Cann]’s self-contained LED cube has more to do with the process he chose to get to the finished product.
There are two ways to approach a new project, especially when you’re new to hardware hacking like [Mike] is. One is to jump in with both feet and just see what happens, for good or for ill. The other is is to ease into it with a starter project, to find out where your limitations lay and work around them gradually. [Mike Cann] wisely chose the latter approach with his LED cube project, starting with an LED sand toy. The single 64 x 64 LED panel was a bit easier to work with, and got him up to speed on the care and feeding of such hardware, as well as the code needed to drive it. The video below tells the tale of scaling that project up by a factor of six to make the cube, a process that had its share of speedbumps. Everything ended up fitting together great, though, letting [Mike] get on to the software side. That’s where this project really shines — the smartphone app running the cube is really slick, and the animations are great.
There’s clearly room for new features on [Mike]’s cube, so here’s hoping he can carve out some time to make a great build even better. For inspiration he might want to check out this side-scrolling Castlevania cube, or perhaps read up on the finer points of OpenGL for LED cubes.
Continue reading “From Zero To LED Cube In Less Than Seven Months”
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.
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”
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”