A Hacker’s Journey In Developing A New VR Controller

[Rob Cole] had an ambitious side project: to build an improved version of the Valve Index VR controllers. His effort, named Project Caliper, aims for optimal ergonomics and modularity for the handheld devices. [Rob] originally had plans to develop it as a consumer product by forming a small startup company, but after taking a hard look at the realities of manufacturing delays, semiconductor shortages, and the high costs of developing hardware, decided that the idea just didn’t seem justified at the time.

An XRCaliper prototype

However, the project was still to take shape. [Rob] is a self-learner, and highly passionate about the value of human-centric design. He started by building a basic controller that could be tracked in SteamVR, then a lot of work prototyping the finer points of controller design, and finally moving on to developing Project Caliper, his concept for a fully-adjustable, modular VR controller. The article he’s written takes you on a journey through the development of the project, and it is chock-full of prototype pictures for those of you who want to see just how much work can go into developing the actual physical realities of a handheld device. Some of his discoveries are pretty interesting; for example, he put a small vibration motor on a dorsal strap of one of his prototypes, thinking it would be a good place for feedback since the back of the hand is quite sensitive. It turned out that vibration applied to the back of the hand was powerfully felt as though it were inside the hand.

While its future as a consumer product isn’t certain, [Rob] is still working on the Project Caliper design and shares progress and photos on Twitter. Developing VR hardware isn’t easy, but at least there’s a much more robust framework for it nowadays, and thankfully no longer any need to roll your own tracking from scratch.

Art of 3D printer in the middle of printing a Hackaday Jolly Wrencher logo

Ask Hackaday: Are Extruders The Only Feasible Tools For Toolchanging?

Toolchanging in 3D printers is no longer something from the bleeding edge; it’s going mainstream. E3D has a high-quality kit for a toolchanger and motion system, our own Joshua Vasquez has shared details about the open-source toolchanging Jubilee design, and just recently Prusa3D formally announced the Prusa XL, which promises toolchanging with up to five different extruders.

A toolchange in progress

It’s safe to say toolchanging on 3D printers has stepped to the front, but what comes next? What kind of tools other than extruders make sense on a 3D printer?

First, let’s explain what makes separate extruders such fantastic tools. Being able to change extruders on-demand during a print enables things like true multi-material printing. Printing in more than one color or material will no longer be done by pushing different filaments through a single nozzle, which limits a print to materials that extrude under similar conditions and temperatures. Toolchanging means truly being able to print in multiple materials, even if they have different requirements, because each material has its own extruder. That’s a clear benefit, but what about tools other than extruders?

Continue reading “Ask Hackaday: Are Extruders The Only Feasible Tools For Toolchanging?”

Secret Ingredient For 3D-Printed Circuit Traces: Electroplating

Conductive filament exists, but it takes more than that to 3D print something like a circuit board. The main issue is that traces made from conductive filament are basically resistors; they don’t act like wires. [hobochild]’s interesting way around this problem is to use electroplating to coat 3D-printed traces with metal, therefore creating a kind of 3D-printed circuit board. [hobochild] doesn’t yet have a lot of nitty-gritty detail to share, but his process seems fairly clear. (Update: good news! here’s the project page and GitHub repository with more detail.)

The usual problem with electroplating is that the object to be coated needs to be conductive. [hobochild] addresses this by using two different materials to create his test board. The base layer is printed in regular (non-conductive) plastic, and the board’s extra-thick traces are printed in conductive filament. Electroplating takes care of coating the conductive traces, resulting in a pretty good-looking 3D-printed circuit board whose conductors feature actual metal. [hobochild] used conductive filament from Proto-pasta and the board is a proof-of-concept flashing LED circuit. Soldering might be a challenge given the fact that the underlying material is still plastic, but the dual-material print is an interesting angle that even allows for plated vias and through-holes.

We have seen conductive filament used to successfully print workable electrical connections, but applications are limited due to the nature of the filament. Electroplating, a technology accessible to virtually every hacker’s workbench, continues to be applied to 3D printing in interesting ways and might be a way around these limitations.

Running Octoprint On A PinePhone Turns Out To Be Pretty Easy

3D printer owners have for years benefitted from using Octoprint to help manage their machines, and most people run Octoprint on a Raspberry Pi. [Martijn] made it run on his PinePhone instead, which turned out to be a surprisingly good fit for his needs.

While [Martijn] was working out exactly what he wanted and taking an inventory of what Raspberry Pi components and accessories it would require, it occurred to him that his PinePhone — an open-source, linux-based mobile phone — would be a good candidate for his needs. It not only runs Linux with a touchscreen and camera, but even provides USB, ethernet, and separate DC power input via a small docking bar. It looked like the PinePhone had it all, and he was right. [Martijn]’s project page gives a walkthrough of the exact steps to get Octoprint up and running, and it even turns out to not be particularly difficult.

[Martijn] is no stranger to hacking his PinePhone to do various things; we’ve already seen him add thermal imaging to his PinePhone. For those of you who are intrigued by the idea but don’t own a PinePhone? Check out the octo4a project, which allows running Octoprint on Android phone hardware.

Watch Blender Plugin Make Animated PCB Traces (and More)

[Staacks]’s Blender plugin to animate growth is behind the sweet animation seen above. It’s an add-on that cleverly makes creating slick growth animations easier when using Blender. It isn’t limited to PCB images either, although they do happen to make an excellent example of the process.

The add-on isn’t limited to animating PCB traces.

The idea is that one begins with an image texture with a structure showing a bunch of paths (like a maze, or traces on a PCB), and that gets used as an input. The plugin then uses a path finding algorithm to determine how these paths could grow from an origin point, and stores the relevant data in the color channels of an output image. That output is further used within Blender as the parameters with which to generate the actual animation, resulting in the neat self-creating PCB seen above. That PCB isn’t just for show, by the way. It’s the PCB for [Staacks]’s smart doorbell project.

Blender is an amazingly comprehensive tool for modeling and animation, and while we’ve covered using it to create high-quality KiCad renders, this kind of animation is really something else.

Here is the GitHub repository for the Blender growth tool if you’re interested in giving it a spin. If you’d like to see more first, watch the video embedded below for a showcase of what it’s capable of, and how it works.

Continue reading “Watch Blender Plugin Make Animated PCB Traces (and More)”

ESP32 board with battery and nearby antenna

How To Easily Set Up Secure OTA Firmware Updates On ESP32

After an electronic IoT device has been deployed into the world, it may be necessary to reprogram or update it. But if physical access to the device (or devices) is troublesome or no longer possible, that’s a problem.

OTA updates allow a device to download new firmware, install it, and reboot itself into the new version. Convenient? Yes. Secure? It definitely needs to be.

Fortunately, over-the-air (OTA) firmware updates are a thing, allowing embedded devices to be reprogrammed over their wireless data connection instead of with a physical hardware device. Security is of course a concern, and thankfully [Refik] explains how to set up a basic framework so that ESP32 OTA updates can happen securely, allowing one to deploy devices and still push OTA updates in confidence.

[Refik] begins by setting up a web server using Ubuntu Linux, and sets up HTTPS using a free SSL certificate from Let’s Encrypt, but a self-signed SSL certificate is also an option. Once that is done, the necessary fundamentals are in place to support deploying OTA updates in a secure manner. A bit more configuration, and the rest is up to the IoT devices themselves. [Refik] explains how to set things up using the esp32FOTA library, but we’ve also seen other ways to make OTA simple to use.

You can watch a simple secure OTA firmware update happen in the video, embedded below. There are a lot of different pieces working together, so [Refik] also provides a second video for those viewers who prefer a walkthrough to help make everything clear. Watch them both, after the break.

Continue reading “How To Easily Set Up Secure OTA Firmware Updates On ESP32”

Generate Fully Parametric, 3D-Printable Speaker Enclosures

Having the right speaker enclosure can make a big difference to sound quality, so it’s no surprise that customizable ones are a common project for those who treat sound seriously. In that vein, [zx82net]’s Universal Speaker Box aims to give one everything they need to craft the perfect enclosure.

The parts can be 3D-printed, but the design ensures that the front and back panels are flat, so one can use wood or some other material for those depending on preference and appearance. The assembly is screwed together using six M3 bolts per side with optional heat-set inserts, but it’s entirely possible to simply glue the unit together if preferred.

One thing that makes this design a bit more broadly useful is that [zx82net] not only provides the parametric design file for Fusion360, but also includes STEP format CAD files, and a small number of pre-configured assemblies for a few commonly available speaker drivers: the Dayton Audio DMA70-4, ND91-4, and the TCP115-4. Not enough for you? Check out [zx82net]’s collection of ready-to-rock enclosures in a variety of designs and configurations; there’s bound to be something to appeal to just about anyone.

[via Reddit]