Weird And Wonderful VR/MR Text Entry Methods, All In One Place

Are you a developer or experimenter pondering options for text entry in virtual or mixed reality? If that’s the case (or you’re merely curious) then here’s the resource you need: TEXT, or the Text Entry for XR Trove. It’s a collection of all the things people have tried when it comes to creating text entry interfaces for virtual and mixed reality (VR/MR) systems, all in a searchable list, complete with animated demonstrations.

There are a lot of different ways to approach this problem, ranging from simple to strange.

VR and MR are new frontiers, and optimal interfaces are still very much a work in progress. If one wishes to avoid reinventing the wheel, it’s a good idea to research prior art. This resource makes it very easy to browse all the stuff people have tried when it comes to text entry.

It’s also fun just to browse and see what kinds of unusual solutions people have come up with that go pretty far beyond “floating over-sized virtual keyboard”. Lenstouch for example involves tapping directly on the touch-sensitive front of the headset, and PalmType reminds us somewhat of the Palm Pilot’s Graffiti system.

It’s a treasure trove of creativity with a nice, searchable interface. Have you come up with your own, or know of a method that isn’t there? Submit it to the collection so others can find it. And if you’re in the process of cooking something up yourself, we have some DIY handwriting recognition resources you might find useful.

Save Cells From The Landfill, Get A Power Bank For Your Troubles

A hefty portable power bank is a handy thing to DIY, but one needs to get their hands on a number of matching lithium-ion cells to make it happen. [Chris Doel] points out an easy solution: salvage them from disposable vapes and build a solid 35-cell power bank. Single use devices? Not on his watch!

[Chris] has made it his mission to build useful things like power banks out of cells harvested from disposable vapes. He finds them — hundreds of them — on the ground or in bins (especially after events like music festivals) but has also found that vape shops are more than happy to hand them over if asked. Extracting usable cells is most of the work, and [Chris] has refined safely doing so into an art.

Disposable vapes are in all shapes and sizes, but cells inside are fairly similar.

Many different vapes use the same cell types on the inside, and once one has 35 identical cells in healthy condition it’s just a matter of using a compatible 3D-printed enclosure with two PCBs to connect the cells, and a pre-made board handles the power bank functionality, including recharging.

We’d like to highlight a few design features that strike us as interesting. One is the three little bendy “wings” that cradle each cell, ensuring cells are centered and held snugly even if they aren’t exactly the right size.  Another is the use of spring terminals to avoid the need to solder to individual cells. The PCBs themselves also double as cell balancers, providing a way to passively balance all 35 cells and ensure they are at the same voltage level during initial construction. After the cells are confirmed to be balanced, a solder jumper near each terminal is closed to bypass that functionality for final assembly.

The result is a hefty power bank that can power just about anything, and maybe the best part is that it can be opened and individual cells swapped out as they reach the end of their useful life. With an estimated 260 million disposable vapes thrown in the trash every year in the UK alone, each one containing a rechargeable lithium-ion cell, there’s no shortage of cells for an enterprising hacker willing to put in a bit of work.

Power banks not your thing? [Chris] has also created a DIY e-bike battery using salvaged cells, and that’s a money saver right there.

Learn all about it in the video, embedded below. And if you find yourself curious about what exactly goes on in a lithium-ion battery, let our own Arya Voronova tell you all about it.

Continue reading “Save Cells From The Landfill, Get A Power Bank For Your Troubles”

Tiny, Hackable Telepresence Robot For Under $100? Meet Goby

[Charmed Labs] are responsible for bringing numerous open-source hardware products to fruition over the years, and their latest device is an adorably small robotic camera platform called Goby, currently crowdfunding for its initial release. Goby has a few really clever design features and delivers a capable (and hackable) platform for under 100 USD.

Goby embraces its small size, delivering what its creators dub “tinypresence” — or the feeling of being there, but on a very small scale. Cardboard courses, LEGO arenas, or even tabletop gaming scenery hits different when experienced from a first-person perspective. Goby is entirely reprogrammable with nothing more than a USB cable and the Arduino IDE, while costing less than most Arduino starter kits.

Recharging happens by driving over the charger, then pivoting down so the connectors (the little blunt vampire fangs under and to each side of the camera) come into contact with the charger.

One of the physical features we really like is the tail-like articulated caster at the rear. Flexing this pivots Goby up or down (and can even flip Goby completely over), allowing one to pan and tilt the view without needing to mount the camera on a gimbal. It also comes into play for recharging; Goby simply moves over the disc-shaped charger and pivots down to make contact.

At Goby‘s heart is an ESP32-S3 and OmniVision OV2640 camera sensor streaming a live video feed (and driving controls) with WebRTC. Fitting the WebRTC stack onto an ESP32 wasn’t easy, but opens up possibilities beyond just media streaming.

Goby is set up to make launching an encrypted connection as easy as sharing a URL or scanning a QR code. The link is negotiated between bot and client with the initial help of an external server, and once a peer-to-peer connection is established, the server’s job is done and it is out of the picture. [Charmed Labs]’s code for this functionality — named BitBang — is in beta and destined for an open release as well. While BitBang is being used here to make it effortless to access Goby remotely, it’s more broadly intended to make web access for any ESP32-based device easier to implement.

As far as tiny remote camera platforms go, it might not be as small as rebuilding a Hot Wheels car into a micro RC platform, but it’s definitely more accessible and probably cheaper, to boot. Check it out at the Kickstarter (see the first link in this post) and watch it in action in the video, embedded just below the page break.

Continue reading “Tiny, Hackable Telepresence Robot For Under $100? Meet Goby

DIY AI Butler Is Simpler And More Useful Than Siri

[Geoffrey Litt] shows that getting an effective digital assistant that’s tailored to one’s own needs just needs a little DIY, and thanks to the kinds of tools that are available today, it doesn’t even have to be particularly complex. Meet Stevens, the AI assistant who provides the family with useful daily briefs. The back end? Little more than one SQLite table and a few cron jobs.

A sample of Stevens’ notebook entries, both events and things to simply remember.

Every day, Stevens sends a daily brief via Telegram that includes calendar events, appointments, weather notes, reminders, and even a fun fact for the day. Stevens isn’t just send-only, either. Users can add new entries or ask questions about items through Telegram.

It’s rudimentary, but [Geoffrey] already finds it far more useful than Siri. This is unsurprising, as it has been astutely observed that big tech’s digital assistants are designed to serve their makers rather than their users. Besides, it’s also fun to have the freedom to give an assistant its own personality, something existing offerings sorely lack.

Architecture-wise, the assistant has a notebook (the single SQLite table) that gets populated with entries. These entries come from things like reading family members’ Google calendars, pulling data from a public weather API, processing delivery notices from the post office, and Telegram conversations. With a notebook of such entries (along with a date the entry is expected to be relevant), generating a daily brief is simple. After all, LLMs (Large Language Models) are amazingly good at handling and formatting natural language. That’s something even a locally-installed LLM can do with ease.

[Geoffrey] says that even this simple architecture is super useful, and it’s not even a particularly complex system. He encourages anyone who’s interested to check out his project, and see for themselves how useful even a minimally-informed assistant can be when it’s designed with ones’ own needs in mind.

Software Project Pieces Broken Bits Back Together

With all the attention on LLMs (Large Language Models) and image generators lately, it’s nice to see some of the more niche and unusual applications of machine learning. GARF (Generalizeable 3D reAssembly for Real-world Fractures) is one such project.

GARF may play fast and loose with acronym formation, but it certainly knows how to be picky when it counts. Its whole job is to look at the pieces of a broken object and accurately figure out how to fit the pieces back together, even if there are some missing bits or the edges aren’t clean.

Re-assembling an object from imperfect fragments is a nontrivial undertaking.

Efficiently and accurately figuring out how to re-assemble different pieces into a whole is not a trivial task. One may think it can in theory be brute-forced, but the complexity of such a job rapidly becomes immense. That’s where machine learning methods come in, as researchers created a system that can do exactly that. It addresses the challenge of generalizing from a synthetic data set (in which computer-generated objects are broken and analyzed for training) and successfully applying it to the kinds of highly complex breakage patterns that are seen in real-world objects like bones, recovered archaeological artifacts, and more.

The system is essentially a highly adept 3D puzzle solver, but an entirely different beast from something like this jigsaw puzzle solving pick-and-place robot. Instead of working on flat pieces with clean, predictable edges it handles 3D scanned fragments with complex break patterns even if the edges are imperfect, or there are missing pieces.

GARF is exactly the kind of software framework that is worth keeping in the back of one’s mind just in case it comes in handy some day. The GitHub repository contains the code (although at this moment the custom dataset is not yet uploaded) but there is also a demo available for the curious.

The Incomplete JSON Pretty Printer (Brought To You By Vibes)

Incomplete JSON (such as from a log that terminates unexpectedly) doesn’t parse cleanly, which means anything that usually prints JSON nicely, won’t. Frustration with this is what led [Simon Willison] to make The Incomplete JSON pretty printer, a single-purpose web tool that pretty-prints JSON regardless of whether it’s complete or not.

Making a tool to solve a particular issue is a fantastic application of software, but in this case it also is a good lead-in to some thoughts [Simon] has to share about vibe coding. The incomplete JSON printer is a perfect example of vibe coding, being the product of [Simon] directing an LLM to iteratively create a tool and not looking at the actual code once.

Sometimes, however the machine decides to code something is fine.

[Simon] shares that the term “vibe coding” was first used in a social media post by [Andrej Karpathy], who we’ve seen shared a “hello world” of GPT-based LLMs as well as how to train one in pure C, both of which are the product of a deep understanding of the subject (and fantastically educational) so he certainly knows how things work.

Anyway, [Andrej] had a very specific idea he was describing with vibe coding: that of engaging with the tool in almost a state of flow for something like a weekend project, just focused on iterating one’s way to what they want without fussing the details. Why? Because doing so is new, engaging, and fun.

Since then, vibe coding as a term seems to get used to refer to any and all AI-assisted coding, a subject on which folks have quite a few thoughts (many of which were eagerly shared on a recent Ask Hackaday on the subject).

Of course human oversight is critical to a solid and reliable development workflow. But not all software is the same. In the case of the Incomplete JSON Pretty Printer, [Simon] really doesn’t care what the code actually looks like. He got it made in a short amount of time, the tool does exactly what he wants, and it’s hard to imagine the stakes being any lower. To [Simon], however the LMM decided to do things is fine, and there’s a place for that.

DIY Soldering Tweezers, Extra Thrifty

It started when [Mitxela] was faced with about a hundred incorrectly-placed 0603 parts. Given that he already owned two TS101 soldering irons, a 3D printer, and knows how to use FreeCAD (he had just finished designing a custom TS101 holder) it didn’t take long to create cost-effective DIY soldering tweezers.

Two screws allow adjusting the irons to ensure the tips line up perfectly.

The result works great! The TS101 irons are a friction-fit and the hinge (designed using the that-looks-about-right method) worked out just fine on the first try. Considering two TS101 irons are still cheaper than any soldering tweezer he could find, and one can simply undock the TS101s as needed, we call this a solid win.

One feature we really like is being able to precisely adjust the depth of each iron relative to each other, so that the tips can be made to line up perfectly. A small screw and nut at the bottom end of each holder takes care of that. It’s a small but very thoughtful design feature.

Want to give it a try? The FreeCAD design file (and .stl model) is available from [Mitxela]’s project page. Just head to the bottom to find the links.

We’ve seen DIY soldering tweezers using USB soldering irons from eBay but the TS101 has a form factor that seems like a particularly good fit.