QMESH: LoRa Mesh Networked Voice Communications

LoRa is great for sending short data packets over long ranges but is not normally suitable for voice communications. [Dan Fay] is looking to change this with QMesh, a synchronized, flooded mesh network protocol for ham radio applications.

In a flooded mesh network every node repeats every message it receives. This has the theoretical advantage of making the network self-healing if a single node stops working, but often just means that the nodes will interfere with each other. Thanks to some characteristics of LoRa, [Dan] is using several tricks to get around this packet collision problem. LoRa network can make use of the “capture effect”, which allows a receiver to differentiate between two packets if the power level difference is large enough. This is further improved by adding forward error correction and slightly changing the frequency and timing of the LoRa chirps. QMesh also implements TDMA (Time Division Multiple Access) by splitting transmission into time slots, and only transmitting every third slot. This means it is operating on a 33% duty cycle, which is much higher than the 0.1%-10% allowed on license-free ISM-bands, which legally limits it to the ham bands.

On the hardware side, [Dan] has been using the STM32 NUCLEO-144 development boards with F4/L4/F7/H7 microcontrollers and a custom shield with a 1 W LoRa module and OLED screen. While [Dan] wants to eventually build handheld radios, he plans to first develop small FM repeaters that encode voice as codec2 and use QMesh as a backhaul. QMesh is still under development, but we would love to see the results of some long-range testing, and we are excited to see how it matures.

If your interested in a more basic LoRa-based human-to-human messaging system, take a look at Meshtastic. It’s been going very rapidly over the past year. To learn more about LoRa and other digital modulation schemes, check out the crash course we did with an SDR a while back.

A Vacuum Battery Made For Looks And Learning

Looks and RGB LEDs are usually not a priority in tool batteries, but [Oleg Pevtsov] decided the battery for his DIY vacuum cleaner needed to be different. In the process, he learned some lessons in chemical etching, plating, machining, casting, and electronics. See the video after the break for the build compilation.

The core of the battery is just five 18650 cells in a 3D-printed holder with a BMS, but the real magic is in the external components. The outer body is a brass tube with the logo etched through the 0.6 mm wall. Getting the etching right took a few tries and a lot of frustration, but he eventually found success with a solution of sulfuric acid and nitric acid in a magnetically stirred container. For etch resist he sprayed lacquer on the outside and filled the inside with silicone. The inside was then coated with clear epoxy by allowing it to cure while spinning. The final touches were nickel plating, then gold plating, and a high polish.

The silver-plated connector on one end consists of a machined copper tip and ring, epoxied together for isolation. The tip has a multi-start external thread, allowing the female side of the connector to securely connect with a single twist. A set of RGB LEDs were added to the core to light up the battery from the inside. We have to hope the vacuum this is supposed to attach to is equally impressive.

This being Hackaday, we see a lot of custom power banks for all the custom electronics. These range from a small power bank for on-the-go soldering to a heavy metal beast with a built-in inverter.

Continue reading “A Vacuum Battery Made For Looks And Learning”

Hacking A Solar Inverter RF Interface

One of the main advantages of cheap wireless modules is that they get used in consumer electronics, so if you know what’s being used you can build your own compatible hardware. While investigating the RF interface used in a series of cheap “smart” solar inverters [Aaron Christophel], created an Arduino library to receive inverter telemetry using a $2 RF module. See the demonstration after the break.

[Aaron] bought the inverter and ~40 euro USB “Data Box” that allows the user to wirelessly monitor the status of the inverter. Upon opening the two units, he found that they used LC12S 2.4Ghz modules, which create a wireless UART link. With a bit of reverse engineering, he was able to figure out the settings for the RF modules and the serial commands required to request the status of the inverter. He doesn’t delve into the possible security implications, but there doesn’t appear to be any form of encryption in the link. It should be possible for anyone with a module to sniff the messages, extract the ID of the inverter, and hijack the link. Just knowing the status of the inverter shouldn’t be all that dangerous, but he doesn’t mention what other commands can be sent to the module. Any others could have more severe implications.

Sniffing the wireless signal flashing through the air around us is a regular topic here on Hackaday. From testing the security of WiFi networks with an ESP32 to monitoring SpaceX launches with an SDR, the possibilities are infinite.

Continue reading “Hacking A Solar Inverter RF Interface”

Miss The Predictive Text From Your Old Nokia? Build Your Own T9 Keypad

Do you miss the mind-blowing typing speed of your old Nokia brick with predictive text turned on? Well, so did [Guy Dupont], so he created a USB keypad with T9 predictive text built-in to turn typing into a one-handed affair. Video after the break.

T9 was the first predictive text technology to gain widespread use in the late ’90s and early 2000s. The goal was to minimize the number of keypresses required for typing on multi-press keypads by matching key sequences to a dictionary of the possible words. It prioritizes words based on the frequency of use and can adapt to user preferences. [Guy] implemented T9 in Circuit Python, mainly for the RP2040 microcontroller used on the Raspberry Pi Pico, which will appear as a normal USB keyboard when plugged into any device. The dictionary is stored in the flash memory and can be updated using a tool also created by [Guy]. It can also change modes for old multi-press typing, numeric pad, or macro pad.

We would be interested to see just how fast it’s possible to type one handed with T9, and what application our readers can imagine. It doesn’t look like this implementation can learn the user’s preferences, which we think would be a worthy feature to add.

We’ve covered several unique custom keyboards recently, some more practical than others. On the silly side, these include a grenade-shaped function pad, a five-button chording keyboard, and a tiny two-key keyboard. Continue reading “Miss The Predictive Text From Your Old Nokia? Build Your Own T9 Keypad”

Auto-Aiming Nerf Gun To Give You The Edge In Battle

Ever wished for some robotic enhancements for your next nerf war? Well, it’s time to dig through the parts bin and build yourself a nerf gun with aimbot built right in, courtesy of [3Dprintedlife]. (Video, embedded below.)

The gun started with a design borrowed from [Captain Slug]’s awesome catalog of open source nerf guns. [3Dprintedlife] modified the design to include a two-axis gimbal between the lower and the upper, driven by a pair of stepper motors via an Arduino. For auto-aim, a camera module attached to a Raspberry Pi running OpenCV was added. When the user half-pressed the trigger, OpenCV will start tracking whatever was at the center of the frame and actively adjust the gimbal to keep the gun aimed at the object until the user fires. The trigger mechanism consists of a pair of microswitches that activate a servo to release the sear. It is also capable of tracking a moving target or any face that comes into view.

We think this is a really fun project, with a lot of things that can be learned in the process. Mount it on a remote control tank and you’d be able to wage some intense battles in your backyard. All the files are available on GitHub.

You are never too old for a good old nerf battle. Whether you want to be a sniper, a machine gunner, or a heavy weapons specialist, there’s a weapon to build for every role.

Tiny PCB Motor Robot Is Making Its First Wobbly Moves

[Carl Bugeja] has been working on his PCB motors for more than three years now, and it doesn’t seem like he is close to running out of ideas for the project. His latest creation is a tiny Bluetooth-controlled robot built around two of these motors.

One of the main challenges of these axial flux PCB motors is their low torque output, so [Carl] had to make the robot as light as possible. The main board contains a microcontroller module with integrated Bluetooth, an IMU, regulator, and two motor drivers. The motor stator boards are soldered to the main board using 90° header pins. The frame for the body and the rotors for the motors are 3D printed. A set of four neodymium magnets and a bearing is press-fit into each rotor. The motor shafts are off-the-shelf PCB pins with one end soldered to the stator board. Power comes from a small single-cell lipo battery attached to the main board.

The robot moves, but with a jerking motion, and keeps making unintended turns. The primary cause of this seems to be the wobbly rotors, which mean that the output torque fluctuates throughout the rotation of the motor. Since there are only two points of contact to the ground, only the weight of the board and battery is preventing the central part from rotating with the motors. This doesn’t look like it’s quite enough, so [Carl] wants to experiment with using the IMU to smooth out the motion. For the next version, he’s also working on a new shaft mount, a metal rotor, and a more efficient motor design.

We look forward to seeing this in action, and also what other application [Carl] can come up with. He has already experimented with turning it into a stepper motor, a linear motor, and a tiny jigsaw motor.

Continue reading “Tiny PCB Motor Robot Is Making Its First Wobbly Moves”

Robot Moves In Any Direction On Ball Wheels

The ability to move in any direction and turn on the spot is a helpful feature on robots that operate indoors around other objects. [James Bruton] demonstrated one possible solution in the form of a robot chassis that can move in any direction with three ball-shaped wheels.

The video after the break is part two of this series. Part one covered the ball wheels themselves, consisting of a pair of half-spheres that can rotate independently with a small roller in the center of each and a driven shaft through the center of the sphere. Three of these are arranged at 120° intervals around the center of the robot, with the main shafts driven by geared DC motors using belts. To move in a straight line some basic trigonometry is used to calculate the required relative speed of each wheel. An Arduino Mega is used to do the necessary calculation when receiving input from the wireless controller.

The motion is remarkably smooth, and we’d be interested to see how it compares with Mecanum and Omniwheels. It seems like the perfect platform for [James]’ Really Useful Robot. He hinted that he might mount a trash bin on it in the future. We would love to see an automatic trash-catching robot, similar to [StuffMadeHere]’s robotic basketball hoop. Continue reading “Robot Moves In Any Direction On Ball Wheels”