nRF24L01+

Writing this in the frigid darkness of a Northern Hemisphere January evening, I have to admit to more than a little envy of Samy Kamkar and his friends. One of their summer events is a private party at a secluded campground somewhere that looks quite warm, which from here seems mighty attractive.

Samy wanted to provide a spectacle for his friends. What he came up with is glowing orbs; LED balloons that would float above the campsite and wow his friends with their pretty synchronised illumination. Thus an adventure in wireless communications, lighter-than-air flammable gasses versus electronics weight calculations, and code optimization began, the details of which were shared in Samy Kamkar’s 2018 Hackaday Superconference talk embedded below.

The field of radio control has benefited much from the onward march of technology. Where a basic 2-channel setup would once have cost hundreds of dollars, it’s now possible to get a high-end 2.4GHz 9-channel rig for well under $100, shipped to your door. However, the vast majority of these systems are closed-source and built for purpose. Sometimes, there are benefits to doing things your own way, and that’s precisely what this project does.

At its heart, it’s a simple combination. An Arduino Pro Mini talks to a NRF24L01 which handles the wireless communication. At that point, it’s up to you – throw in as few or as many controls as you like. For this build, [HowToMechatronics] has gone with a twin-stick setup, with a pair of potentiometers and twin toggle switches to round out the options.

The build comes in handy, as it’s possible to program in whatever features you may need for a given project. [HowToMechatronics] has used it to control a hexapod robot, among other projects. It’s a build that shows that with cheap and readily available parts, it’s possible to whip up a custom solution to suit your needs.

Like many retro favourites, the Game Boy is in no way dead — development continues apace through its many fans.But what about the hardware side? This is a particularly interesting one: [Alex] wondered if a Game Boy could be readily used as a wireless controller. Set out to make it happen, the final product is a game cartridge that makes the classic handheld a wireless controller.

It’s achieved quite elegantly, with a custom cartridge used to turn the Game Boy into a controller while requiring no modification to the handheld. The cartridge contains a flash chip to store the ROM, along with an ATmega48PA microcontroller and an NRF24L01 to do the talking. Upon powerup, the Game Boy runs code from the ROM, and the microcontroller is in charge of reading button states and sending them to the NRF24L01 for transmission. The program stored on the ROM also allows configuration changes to be made from the Game Boy itself, such as choosing the appropriate wireless channel.

The cartridge transmitter can be used with a variety of receivers. [Andy] has developed a USB HID joystick emulator to allow the Game Boy to be used with PCs, as well as a receiver for the GameCube, too. Yes, that’s right — you can now play Super Smash Bros. with a weirder controller than all your friends. A Super Nintendo version is also in the works. Perhaps the coolest feature, however, is that the cart can use its radio link to communicate with another Game Boy running the same cartridge. [Andy] demonstrates this with a basic game of Pong being played between two Game Boy Advances.

Working on retro hardware can be great fun — things are well documented, parts are cheap, and there’ll be plenty of fans cheering you on, too. [Andy] has even made the hardware available for purchase on Tindie and his website if you’re not quite comfortable rolling your own.

Initial results were disheartening – the skateboard relies on various chips of Chinese origin for which documentation proved impossible to come by. However, as it turned out, the board and controller communicated using the common NRF24L01+ transceiver.

Initial work focused on understanding the pairing process and message protocol. With that done, [Timo] decided the best course of action was to redevelop a controller from scratch, using an Arduino Nano and NRF24L01+ to do the job. [Timo]’s Open esk8 controller improves driveability by removing delays in message transfer, as well as improving on the feel of the controller with a 3D printed chassis redesign.

[Timo] now has a much more usable skateboard, and has racked up over 200 miles in testing since the build. However, if you fancy converting your existing board to electric, check out this project.

If you have lots of RC creations about, each with their own receiver, you’ll know that the cost of a new one for each project can quickly mount up – despite RC receivers being pretty cheap these days. What if you could use a NRF24L01+ module costing less than $3?

That’s just what [Rudolph] has done for his Hackaday Prize entry, rudRemote. Though many people already spin their own RC link with the NRF24 modules, this sets itself apart by being a complete, well thought out solution, easily scalable to a large number of receivers.

The transmitter can be made of anything to hand; stick an NRF24 module and Teensy inside, some gimbals if needed, and you have a rudRemote transmitter. Gaming controllers, sandwich boxes and piles of laser cut parts are all encouraged options. [Rudolph] used some 40-year-old transmitters for his build – on the outside they remain unchanged, apart from a small OLED and rotary encoder for the function menu. The gimbal connections are simply re-routed to the Teensy I/O.

The protocol used is CRTP (Crazy RealTime Protocol); this is partly because one of the things [Rudolph] wanted to control is a CrazyFlie quadcopter. It’s a protocol that can easily be used to control anything you like, providing it fits into the 29-byte payload space. The CrazyFlie only uses 14 bytes of that, so there’s plenty of headroom for auxiliary functions.

[Dickel] always liked tracked vehicles. Taking inspiration from the ‘Peacemaker’ tracked vehicle in Mad Max: Fury Road, he replicated it as the Mad Mech. The vehicle is remote-controlled and the tank treads are partly from a VEX robotics tank tread kit. Control is via a DIY wireless controller using an Arduino and NRF24L01 modules. The vehicle itself uses an Arduino UNO with an L298N motor driver. Power is from three Li-Po cells.

The real artistic work is in the body. [Dickel] used a papercraft tool called Pepakura (non-free software, but this Blender plugin is an alternative free approach) for the design to make the body out of thin cardboard. The cardboard design was then modified to make it match the body of the Peacemaker as much as possible. It was coated in fiberglass for strength, then the rest of the work was done with body filler and sanding for a smooth finish. After a few more details and a good paint job, it was ready to roll.

There’s a lot of great effort that went into this build, and [Dickel] shows his work and process on his project page and in the videos embedded below. The first video shows the finished Mad Mech being taken for some test drives. The second is a montage showing key parts of the build process.

We’ve seen a few near-future sci-fi films recently where computers respond not just to touchscreen gestures but also to broad commands, like swiping a phone to throw its display onto a large flat panel display. It’s a nice metaphor, and if we’re going to see something like it soon, perhaps this wrist-mounted pointing device will be one way to get there.

The video below shows the finished product in action, with the cursor controlled by arm movements. Finger gestures that are very much like handling a real mouse’s buttons are interpreted as clicks. The wearable has a Nano, an MPU6050 IMU, and a nRF24L01 transceiver, all powered by some coin cells and tucked nicely into a 3D-printed case. To be honest, as cool as [Ronan Gaillard]’s wrist mouse is, the real story here is the reverse engineering he and his classmate did to pull this one off.

The road to the finished product was very interesting and more detail is shared in their final presentation (in French and heavy with memes). Our French is sufficient only to decipher “Le dongle Logitech,” but there are enough packet diagrams supporting into get the gist. They sniffed the packets going between a wireless keyboard and its dongle and figured out how to imitate mouse movements using an NRF24 module. Translating wrist and finger movements to cursor position via the 6-axis IMU involved some fairly fancy math, but it all seems to have worked in the end, and it makes for a very impressive project.