Meshtastic And Owntracks To Kick Your Google Habit

I have an admission to make. I have a Google addiction. Not the normal addiction — I have a problem with Google Maps, and the timeline feature. I know, I’m giving my location data to Google, who does who-knows-what-all with it. But it’s convenient to have an easy way to share location with my wife, and very useful to track my business related travel for each month. What we could really use is a self-hosted, open source system to track locations and display location history. And for bonus points, let’s include some extra features, like the ability to track vehicles, kids, and pets that aren’t carrying a dedicated Internet connection.

You can read the title — you know where we’re going with this. We’re setting up an Owntracks service, and then tying it to Meshtastic for off-Internet usability. The backbone that makes this work is MQTT, a network message bus that has really found its niche in the Home Assistant project among others. It’s a simple protocol, where clients send brief messages labeled by topic, and can also subscribe to specific topics. For this little endeavor we’ll use the Mosquito MQTT broker.

One of the nice things about MQTT is that the messages are all text strings, and often take the form of JSON. When trying to get two applications to talking using a shared MQTT server, there may need to be a bit of translation. One application may label a field latitude, and the other shortens it to lat. The glue code to put these together is often known as an MQTT translator, or sometimes an MQTT bridge. This is a program that listens to a given topic, ingests each message, and sends it back to the MQTT server in a different format and topic name.

The last piece is Owntracks, which has a recorder project, which pulls locations from the MQTT server, and stores it locally. Then there’s Owntracks Frontend, which is a much nicer user interface, with some nice features like viewing movement a day at a time. Continue reading “Meshtastic And Owntracks To Kick Your Google Habit”

Hackaday Prize 2023: An Anti-Tremor Handle, With No Electronics

Many of us will have seen the various active assistive devices which have appeared over the last few years to help people with a hand tremor. Probably the best known was a fork with a set of servos and an accelerometer, that kept the end of the utensil steady despite the owner’s hand movements. It’s a field which has the potential to help many people, but it’s undeniable that such technology comes with a cost.

What if the same effect could be achieved passively, without all those electronics? It’s something [Jacob] is investigating with his mechanical anti-tremor cup handle. It’s a university project completed as part of his studies so it’s very much a work-in-progress which if we’re being fair isn’t quite there yet, but we think the potential in this idea of bringing a useful assistive device at least bears further attention.

The write-up is available as a Norwegian PDF file so takes a little bit of Google Translate cut and pasting for an Anglophone. Sadly due to what must be report format requirements set by the university it’s long on procedure and shorter on engineering calculations than we’d like, but there’s an attempt to calculate the properties of the helical springs in each of the joints to match the likely forces. Our intuition is that the design as shown would require significantly more mass on the end of it than that of the mug and beverage alone to achieve some form of stability, but despite that as we said it’s an interesting enough idea that it deserves more thought.

Hand tremor assistive devices have appeared more than once on these pages before, here’s one for soldering that enlists the aid of a camera gimbal.

A handheld computer made on a piece of prototyping board running a Tetris clone

Tetris Clone Uses 1000 Lines Of Code, And Nothing Else

If you’re programming on a modern computer, you typically make use of lots of work done by other people. There’s operating systems to abstract away the complexities of modern hardware, standard libraries to implement common tasks, and tons of third-party libraries that prevent you from having to reinvent the wheel all the time: you’re definitely not the first one trying to draw graphics onto a screen or store data in a file.

But if it’s the wheels you’re most interested in, then there’s nothing wrong with inventing new ones now and then. [Michal Zalewski], for instance, has made a beautiful Tetris clone in just 1000 lines of C, without using anyone else’s code.

The purpose of this exercise is to show that it’s possible to make a game with graphics comparable to modern, complex computing systems, without relying on operating systems or third-party libraries. The hardware consists of not much more than an ARM Cortex-M7 MCU, a 240×320 LCD screen and a few buttons soldered onto a piece of prototyping board, all powered by a set of AAA batteries.

The software is similarly spartan: just pure C code running directly on the CPU core. Graphic elements, some generated by AI and others hand-drawn, are stored in memory as plain bitmaps. They are manipulated by 150 lines of code that shuffles sprites around the display at a speed high enough to generate smooth motion. Game mechanics take up about 250 lines, while sound consists of simple square-wave chiptunes written in just 50 lines of code.

[Michal]’s code is very well documented, and his blog post gives even more details about all the problems he had to solve. One example is the length of keypresses: when do you interpret a keypress as a single “press”, and when does it become “press and hold”? Apparently, waiting 250 ms after the first press and 100 ms after subsequent ones does the trick. [Michal] is a bit of an expert on bare-bones game programming by now: he has previously pushed several 8-bit micros to their very limits. Third-party libraries can make your programming life a lot easier, but it’s good to reflect on the dangers of relying too much on other people’s code.

Continue reading Tetris Clone Uses 1000 Lines Of Code, And Nothing Else”

Squid-Con Brings Joy To All

While we’re always happy to see accessibility aids come into fruition, most of them focus on daily tasks, not that there’s anything wrong with that. But what about having some fun? That’s the idea behind [Akaki Kuumeri]’s accessibly-awesome Joy-Con controller, the Squid-Con, which provides access to every button with just one hand. It even has tripod and AMPS mounts.

The joysticks themselves are controlled with the thumb and pinky, although some of [Akaki]’s beta testers changed it up a bit. That’s okay, because it’s designed to be comfortable in a variety of positions for either hand. As for the ABXY buttons, those are actuated using 3D-printed arms that connect to a central piece which [Akaki] calls the turbine.

But perhaps the coolest part of this project is the flexures that actuate the shoulder buttons (L, R, zL, and zR) on the controllers. It’s a series of four arms that are actuated by bringing the fingers back toward the palm. If all of this sounds confusing, just check out the video after the break.

We love flexures around here, and we’ve seen them in everything from cat feeding calendars to 6-DOF positioners to completely new kinds of joysticks.

Continue reading “Squid-Con Brings Joy To All”

A Guide To Field Stripping Your Voyager Tricorder

For the last few years, [Mangy_Dog] has been working on what is easily the most technically and aesthetically impressive Star Trek tricorder prop the world has ever seen. With each new version of the hardware we’ve gotten the occasional peek under the hood or source code walk-through, but these limited presentations have made it somewhat difficult to really appreciate the scale of this undertaking.

But now thanks to this epic hour-long tour of the hardware and software that makes up version 2.5 of his Voyager tricorder, we can finally see just how incredible the engineering that’s gone into this project really is. Every detail has been meticulously considered to deliver a final product that’s not only as visually accurate as possible, but reliable enough to actually carry around. Continue reading “A Guide To Field Stripping Your Voyager Tricorder”

Opening A Curta — With Great Care

We’ve always admired Curta mechanical calculators, and would be very hesitant to dismantle one. But [Janus Cycle] did just that — and succeeded. A friend sent him a Curta Model 2 calculator that was frozen up. Just opening the case involved percussive force to remove a retaining pin, and once inside he discovered the main shaft had been slightly bent. No doubt this calculator had suffered a drop at some point in the past.

I’m sticking to the rule of doing no harm — I’d rather not be able to fix this than do something that causes more problems.

Inside the Curta

But surprisingly, he was able to get it substantially back in working order without completely taking apart all 600+ parts. Most of the issues were shafts whose lubrication had become gummy, and one carry lever was slightly bent. There is still a little more work, but soon this calculator will once again be cranking out results.

Has anyone dismantled a mechanical contraption this complicated before, for example a teletype machine? Let us know in the comments. If you want to brush up on your Curta knowledge, check out the Curta Calculator Page. We also wrote a Retrotechtacular about the Curta before. Thanks to [mister35mm] for sending in this tip.

Continue reading “Opening A Curta — With Great Care”

Blackberry Pi Puts Desktop Linux In Your Pocket

Let’s face it — Android wasn’t what most of us had in mind when we imagined having Linux running on our phones. While there’s a (relatively) familiar kernel hiding at the core of Google’s mobile operating system, the rest of the environment is alien enough that you can’t run Linux software on it without jumping through some hoops. While that’s fine for most folks, there remains a sizable group of users who still dream of a mobile device that can run a full Linux operating system without any compromises.

Judging by the work put into the Blackberry Pi, we’re willing to bet that [IMBalENce] falls into that camp. The custom handheld combines the Raspberry Pi Zero, a 320×240 LCD, and the BBQ20KBD keyboard from Solder Party with a 2500 mAh LiPo pouch cell and associated charging circuitry. Optionally, it also supports modules such as the Raspberry Pi Camera, a Real-Time-Clock, a ADS1015 ADC to read the battery voltage, and even a USB hub — although you can’t have all the goodies installed at once as it draws too much current.

Everything is packed into a 3D printed case that looks roughly like an original DMG-01 Game Boy if somebody replaced the bottom half with a tiny keyboard. We appreciate the ZX Spectrum theme, even if it’s not immediately clear how it relates to the project other than being an excuse to play around with multi-color printing. [IMBalENce] says the final product works quite well, though the relatively limited keys on the BlackBerry keyboard does make it tricky to use the device for writing code.

Interested in mobile Linux, but not trying to build the hardware yourself? We recently took a look at the SQFMI Beepy, which is fairly similar in terms of hardware, but very much in need of some talented penguin wranglers who are willing to come in and work on the software and documentation. Think you’re up for the challenge?