Wanting a simple tool to aid in the development of LoRa controlled robotic projects, [Jay Doscher] put together this very slick one-handed controller based on the 900 MHz Adafruit Feather M0. With a single trigger and a miniature analog joystick it’s a fairly simple input device, but should be just enough to test basic functionality of whatever moving gadget you might find yourself working on.
Wiring for this project is about as simple as you’d expect, with the trigger and joystick hanging off the Feather’s digital ports. The CircuitPython code is also very straightforward, though [Jay] says in the future he might expand on this a bit to support LoRaWAN. The controller was designed as a barebones diagnostic tool, but the hardware and software in its current form offers an excellent opportunity to layer additional functionality on a known good base.
Everything is held inside a very well designed 3D printed enclosure which [Jay] ran off on his ELEGOO Mars, one of the new breed of low-cost resin 3D printers. The machine might be pretty cheap, but the results speak for themselves. While resin printing certainly has its downsides, it’s hard not to be impressed by the finish quality of this enclosure.
While LoRa is generally used for transmitting small bits of information over long distances, such as from remote sensors, this isn’t the first time we’ve seen it used for direct control of a moving object. If you’re not up to speed on LoRa, check out this excellent talk from [Reinier van der Lee] that goes over the basics of the technology and how he used it to build a community sensor network.



While this promise might seem abstract, consider the movements made by a 3D printer. Many styles of this machine rely on motor-driven movement along three orthogonal axes: X, Y, and Z. We usually restrict individual motor movement to a single axis by constraining it using a precision part, like a linear rod or rail. However, the details of how we physically constrain the motor’s movements using these parts is a non-trivial task. Overconstrain the axis, and it will either bind or wiggle. Underconstrain it, and it may translate or twist in unwanted directions. Properly constraining a machine’s degrees of freedom is a fundamental aspect of building a solid machine. This is the core subject of the book: how to join these precision parts together in a way that leads to precision movement only in the directions that we want them.



