Long-Distance Text Communication With LoRa

Affordable and reliable cell phones have revolutionized the way we communicate over the last two decades or so, and this change was only accelerated by the adoption of the smartphone. This is all well and good if you’re living in a place with cellular infrastructure, but if you’re in more remote areas you’ll have to be a little more inventive. This text-based communications device, for example, lets you send text messages without all of that cumbersome infrastructure.

While [Arthur] didn’t create this project specifically for off-grid use, it’s an interesting project nonetheless. The devices use a physical QWERTY keyboard and a small screen, reminiscent of BlackBerry devices from the late 2000s (partially because they are actually using BlackBerry keyboards). One of the other goals for this project was low power consumption, and between polling the keyboard, the memory LCDs, and receiving and transmitting messages using LoRa, [Arthur] was able to get the current draw down to 12 mA.

Between the relatively common nRF52840 and SX1262 chips, plus the fact that [Arthur] made the schematics available, this makes for an excellent off-grid device for anyone who likes to drive off into the wilderness or lives far enough outside of town that cell phone reception is a concern.

Looking for something a little easier to put together before your upcoming camping trip? This similarly styled LoRa communicator from [MSG] uses off-the-shelf modules to greatly reduce the part count. Another option for off-grid communications is to use existing smartphones paired with a LoRa network like we saw in this project.

Motorcycle Regulator By Popular Demand

A few weeks ago we posted a build of an avid motorcycle enthusiast named [fvfilippetti] who created a voltage regulator essentially from the ground up. While this was a popular build, the regulator only works for a small subset of motorcycles. This had a large number of readers clamoring for a more common three-phase regulator as well. Normally we wouldn’t expect someone to drop everything they’re doing and start working on a brand new project based on the comments here, but that’s exactly what he’s done.

It’s important to note that the solutions he has developed are currently only in the simulation phase, but they show promise in SPICE models. There are actually two schematics available for those who would like to continue his open-source project. Compared to shunt-type regulators, these have some advantages. Besides being open-source, they do not load the engine when the battery is fully charged, which improves efficiency. The only downside is that they have have added complexity as they can’t open this circuit except under specific situations, which requires a specific type of switch.

All in all, this is an excellent step on the way to a true prototype and eventual replacement of the often lackluster regulators found on motorcycles from Aprilia to Zero. We hope to see it further developed for all of the motorcycle riders out there who have been sidelined by this seemingly simple part. And if you missed it the first time around, here is the working regulator for his Bajaj NS200.

OpenCV Running On A Tiny Microcontroller

At first blush, it might seem like projects that make extensive use of computer vision or machine learning would need to be based on powerful computing platforms with plenty of clock cycles and memory to handle this type of application. While there is some truth to this, as the field progresses it becomes possible to experiment with these tools on low-power devices as well. Take this OpenCV project which is built entirely on an ESP32 for example.

With that being said, there are some modifications that need to be made to the ESP32 in order to use OpenCV in any meaningful way. The most important of these is the use of the ESP32-DOWDQ6 module which increases the available memory of the ESP32 to allow it to make better use of camera functions. Even then, the ESP32 can’t run the entire OpenCV application, so a shrunken version of OpenCV is required before the device can run it natively. Once those two obstacles are out of the way, though, doing things like edge detection, as this project demonstrates, are well in the realm of possibility.

If running OpenCV on something as small as an ESP32 is possible, it is even easier to run on something orders of magnitude more powerful and yet still inexpensive, such as the Raspberry Pi. While the project’s code is available on its GitHub page for those interested, there are plenty of other OpenCV projects that we have featured on more powerful platforms as well, like this clock which falls off of the wall whenever someone looks at it.

Continue reading “OpenCV Running On A Tiny Microcontroller”

Network Time Protocol On The ESP32

Network Time Protocol (NTP) is one of the best ways to keep networked computers synchronized to the same time. It’s simple, lightweight, and not only allows computers to maintain a time standard together, but it also allows some computer manufacturers to save some money on hardware costs. The Raspberry Pi is perhaps the most well-known example of a low-cost computer without the extra expense of a real-time clock (RTC). While the Pi sets up NTP essentially automatically, other microcontrollers like the ESP32 don’t, but it is possible to configure them to use this time standard with some work.

For this project the MicroPython implementation for the ESP32 is required. MicroPython is a way of running Python code on microcontrollers or other embedded systems without all of the overhead that Python would normally require. Luckily enough, the NTP libraries are built right in so once MicroPython is running on the ESP32 it’s nearly as easy as calling the library. Of course you will have to make sure there is an internet connection, and then grab the time, sync it to the machine, and then set the timezone.

For a bonus exercise, the project’s creator [Bhavesh] suggests attempting to configure Daylight Savings Time, although this can be a surprisingly difficult problem to solve. In the meantime, there are a few other ways of installing a clock on a microcontroller like this one. An RTC module is an obvious choice, but you can also get incredibly accurate time by using a GPS module as well.

Gaming Mouse Becomes Digital Camera

Ever since the world decided to transition from mechanical ball mice to optical mice, we have been blessed with computer pointing devices that don’t need regular cleaning and have much better performance than their ancestors. They do this by using what is essentially a tiny digital camera to monitor changes in motion. As we’ve seen before, it is possible to convert this mechanism into an actual camera, but until now we haven’t seen something like this on a high-performance mouse designed for FPS gaming.

For this project [Ankit] is disassembling the Logitech G402, a popular gaming mouse with up to 4000 dpi. Normally this is processed internally in the mouse to translate movement into cursor motion, but this mouse conveniently has a familiar STM32 processor with an SPI interface already broken out on the PCB that could be quickly connected to in order to gather image data. [Ankit] created a custom USB vendor-specific endpoint and wrote a Linux kernel module to parse the data into a custom GUI program that can display the image captured by the mouse sensor on-screen.

It’s probably best to not attempt this project if you plan to re-use the mouse, as the custom firmware appears to render the mouse useless as an actual mouse. But as a proof-of-concept project this high-performance mouse does work fairly well as a camera, albeit with a very low resolution by modern digital camera standards. It is much improved on older mouse-camera builds we’ve seen, though, thanks to the high performance sensors in gaming mice.

Lawn Mower Carburetor Improves Mileage On Old Sedan

Before the Ford marketing department started slapping Maverick badges on pickup trucks, the name had been attached to compact cars from the 70s instead. These were cheap even by Ford standards, and were built as a desperate attempt to keep up with Japanese imports that were typically higher quality and more efficient than most American cars at the time. Some people called them the poor man’s Mustang. While Ford and the other American car companies struggled to stay relevant during the gas crisis, it turns out that they could have simply slapped a lawn mower carburetor on their old Mavericks to dramatically improve fuel efficiency.

The old Maverick used a 5 L carbureted V8 engine, which is not exactly the pinnacle of efficiency even by 1970s standards. But [ThunderHead289] figured out that with some clever modifications to the carburetor, he could squeeze out some more efficiency. By using a much smaller carburetor, specifically one from a lawn mower, and 3D printing an adapter for it, he was able to increase the fuel efficiency to over 40 mpg (which is higher than even the modern Mavericks) while still achieving a top speed of 75 mph.

While it’s not the fastest car on the block with this modification, it’s still drives well enough to get around. One thing to watch out for if you try this on your own classic car is that some engines use fuel as a sort of coolant for certain engine parts, which can result in certain problems like burned valves. And, if you don’t have a lawnmower around from which to borrow a carb, take a look at this build which 3D prints one from scratch instead.

Thanks to [Jack] for the tip!

Continue reading “Lawn Mower Carburetor Improves Mileage On Old Sedan”

MiniDisc Player Supports Full Data Transfer

Between the era of the CD and the eventual rise and domination of streaming music platforms, there was a limbo period of random MP3 players mixed in with the ubiquitous (and now officially discontinued) iPod. In certain areas, though, the digital music player of choice was the MiniDisc, a miniature re-writable CD player with some extra digital features. Among them was the ability to transfer music to the discs over USB, but they did not feature the ability to transfer the songs back to a computer. At least until now, thanks to this impressive hack from [asivery].

Although it sounds straightforward, this trick has a lot of moving parts that needed to come together just right. The MiniDisc player uses a proprietary encoding format called ATRAC, so a codec is needed for that. The MiniDisc player stores data from the disc in a 40-second buffer when playing, so the code reads the data directly from DRAM in 40-second chunks, moves the read head, repeats the process as needed, then stitches the 40-second parts back together. It can work on any Sony NetMD portable, if you are lucky enough to still have one around.

The project is a tremendous asset to the MiniDisc community, especially since the only way to recover data from a MiniDisc player prior to this was to use a specific version known as the RH-1. As [asivery] reports, used RH-1 players are going for incredibly high prices partially because of this feature. Since this new method demonstrates that it’s possible to do with other devices, perhaps its reign in the MiniDisc world will come to a close. For those still outside the loop on this esoteric piece of technology, take a look at this MiniDisc teardown.

Thanks to [Maarten] for the tip!