Reverse Engineering A BLE Service To Control A Light Bulb

So, you buy an Internet of Things light bulb, it’s a fun toy that allows you to bathe your environment in pretty colours at the touch of an app, but eventually you want more. You start to wonder how you might do more with it, and begin to investigate its inner workings. Then to your horror you discover that far from having bought a device with a convenient API for you to use, it has an impenetrable closed protocol that defies easy access.

This was the problem facing [Ayan Pahwa] when he bought a Syska Smartlight Rainbow LED bulb, and discovered that its Bluetooth Low Energy  interface used a closed protocol. But instead of giving up, he proceeded to reverse engineer the communication between bulb and app, and his write-up makes for an interesting read that provides a basic primer on some of BLE’s workings for the uninitiated.

BLE allows a device manufacturer to define their own device service specific to their functionality alongside standard ones for common device types. Using a handy Android app from Nordic Semiconductor he was able to identify the services defined for the light bulb, but sadly they lacked any human-readable information to help him as to their purpose. He thus had to sniff BLE packets directly, and lacking dedicated hardware for this task he relied on a developer feature built into Android versions since KitKat, allowing packets to be captured and logged. By analysing the resulting packet files he was able to identify the Texas Instruments chip inside the bulb, and to deduce the sequences required to control its colours. Then he was able to use the Bluez utilities to talk directly to it, and as if by magic, his colours appeared! Take a look at the video we’ve placed below the break.

Many of us may never need to reverse engineer a BLE device. But if we are BLE novices, after reading [Ayan]’s piece we will at least have some idea of its inner workings. And that can only be a positive thing.

Continue reading “Reverse Engineering A BLE Service To Control A Light Bulb”

Another Arduino Compatible? This Time, It’s A Sony

When it comes to microcontroller development boards, we have a plethora of choices at our disposal. Each has its strengths and weaknesses, be they associated with its support and community, its interface capabilities, or its choice of processor family. Most boards you’ll find in our communities come from niche manufacturers, or at least from manufacturers who started as such. Just occasionally though along comes one whose manufacturer you will have heard of, even whose manufacturer the Man in the Street will have heard of.

Which brings us neatly to today’s story, the quiet announcement from Sony, of a new microcontroller development board called the Spritzer. This is Arduino compatible in both physical footprint and IDE, is intended for IoT applications, and packs GPS, an audio codec, and an ARM Cortex M4 at 156 MHz. There is a Japanese page with a little more detail (Google Translate link), on which they talk about applications including audio beam forming with up to eight microphones, and a camera interface. 

The board is due to be available sometime early next year, and while it looks as though it will be an interesting device we’d sound a note of caution to Sony. It is not good enough to have an amazing piece of hardware; the software and community support must be more than just make-believe. If they can crack that then they might just have a winner on their hands, if they fail to make any effort then they will inevitably follow Intel into the graveyard of also-ran boards.

Thanks [Chris] for the tip.

Visual Development With XOD

Early programmers had to represent code using binary, octal, or hex numbers. This gave way quickly to representing programs as text to be assembled, compiled, or interpreted by the computer. Even today, this remains the most common way to program, but there have been attempts to develop more visual ways to create programs graphically. If you program microcontrollers like the Arduino, you should check out XOD and see how you like visually creating software. The software is open source and currently, can target the Arduino or Raspberry Pi.

Continue reading “Visual Development With XOD”

WiFi Deauthentication VS WiFi Jamming: What Is The Difference?

Terminology is something that gets us all mixed up at some point. [Seytonic] does a great job of explaining the difference between WiFi jammers and deauthenticators in the video embedded below. A lot of you will already know the difference however it is useful to point out the difference since so many people call deauth devices “WiFi Jammers”.

In their YouTube video they go on to explain that jammers basically throw out a load of noise on all WiFi channels making the frequencies unusable in a given distance from the jammer. Jammers are also normally quite expensive, mostly illegal, and thus hard to find unless of course you build your own.

WiFi deauthentication on the other hand works in a very different way. WiFi sends unencrypted packets of data called management frames. Because these are unencrypted, even if the network is using WPA2, malicious parties can send deauthentication commands which boot users off of an access point. There is hope though with 802.11w which encrypts management frames. It’s been around for a while however manufacturers don’t seem bothered and don’t implement it, even though it would improve the security of a WiFi device from these types of attacks.

Continue reading “WiFi Deauthentication VS WiFi Jamming: What Is The Difference?”

Radio MDZhB

If you have a shortwave receiver, tune it to 4625 kHz. You’ll hear something that on the surface sounds strange, but the reality is even stranger still. According to the BBC, the radio station broadcasts from two locations inside Russia — and has since 1982 — but no one claims ownership of the station, known as MDZhB. According to the BBC:

[For 35 years, MDZhB] has been broadcasting a dull, monotonous tone. Every few seconds it’s joined by a second sound, like some ghostly ship sounding its foghorn. Then the drone continues.
Once or twice a week, a man or woman will read out some words in Russian, such as “dinghy” or “farming specialist”. And that’s it.

If you don’t have a shortwave handy, you can always try one of the many web-based software defined radios. Search for 4.6 MHz, and pick a location that should have propagation to Russia and you are all set.

Continue reading “Radio MDZhB”

Manually-Adjustable Three-Axis Gimbal

[Tim Good] built a 3-axis gimbal out of 3D-printed and machined pieces, and the resulting design is pretty sweet, with a nice black-on-black look. He machined the flat pieces because they were too long to be printed in his 3D-printer.

The various axes swivel on four bearings each, and each ring features a manual locking mechanism made out of steel stainless pins that immobilize each axis. The gimbal operation itself appears to be manual. That said, [Tim] used 12-wire slip rings to power whatever camera gets mounted on it–it looks like the central enclosure could hold a camera the size of a GoPro.

[Tim] has shared his design files on Thingiverse: it’s a complicated build with 23 different files. This complexity got us wondering: aren’t there two pitch axes?

We definitely love seeing gimbal projects here on Hackaday. A few cases in point, a gimbal-mounted quadcopter, another project with a LIDAR added to a camera gimbal, and this gimbal-mounted coffee cup.

 

 

Step climbing rocker-bogie robot

Simple Step-Climbing Robot Climbs Like It’s On Mars

[Navin Khambhala] is a master at making simple what most would expect to be a complex build. Now he’s done it again with a remote controlled robot that can easily climb steps and role over rough terrain. The parts count is small and many of them are commonly available.

The suspension that makes it all possible is the rocker-bogie. It’s the same suspension we’ve all seen used by the various rovers ambling around on Mars. The whole frame is made of PVC pipes with some connecting metal bars, and each wheel has its own twelve-volt DC motor. Motor control is done simply with a module that combines the 2.4 GHz receiver with motor controllers. When you watch the video below, note where only one hole is drilled through the PVC for making connections instead of two holes. Where there’s only one hole, the two sections of PVC are free to rotate independently of each other. Turning the robot is done by rotating the wheels on one side in one direction and the wheels on the other side in the opposite direction. This is called a differential drive or tank drive, and we’ve highlighted it before for use in making hamster-drive type BB-8 droids.

Continue reading “Simple Step-Climbing Robot Climbs Like It’s On Mars”