Arm Allows Custom Instructions

We’re surrounded by ARM processors, which enjoy a commanding foothold in the consumer market, especially with portable electronics. However, Arm Holdings has never focused its business model on manufacturing chips, instead licensing its CPUs to others who make the physical devices. There is a bit of a tightrope to walk, though, because vendors want to differentiate themselves while Arm wants to keep products as similar as possible to allow for portability and reuse of things like libraries and toolchains. So it was a little surprising when Arm announced recently that for the first time, they would allow vendors to develop custom instructions. At least on the Armv8-M architecture.

We imagine designs like RISC-V are encroaching on Arm’s market share and this is a response to that. Although it is big news, it isn’t necessarily as big as you might think since Arm has allowed other means to do similar things via special coprocessor instructions and memory-mapped accelerators. If you are willing to put in some contact information, they have a full white paper available with a pretty sparse example. The example shows a population count function hand-optimized into 12 Arm instructions. Then it shows a single custom instruction that would do the same job. However, they don’t show the implementation nor do they offer any timing data about speed increases.

Continue reading “Arm Allows Custom Instructions”

The Ultimate Guide To Artisan USB Cables

If you’ve gone through the trouble of building your own customized mechanical keyboard, the last thing you want to do is plug it into your computer with some plebeian USB cable from the local electronics shop. Your productivity, nay livelihood, depends on all those 1s and 0s being reproduced with the crisp fidelity that’s only possible with a high-end USB cable. Anything less would be irresponsible.

Or at least, that’s what the advertising on the back of the package would say if we tried to sell the custom USB cables built by [Josef Adamčík]. But alas, he’s decided to give away all the details for free so that anyone can build their own delightfully overengineered USB cables. Do you need a paracord USB cable with GX12 aviation connectors in the middle? Of course not. But you still want one, don’t you?

As [Josef] admits in his blog post, there’s nothing particularly special about what he’s doing here. If you can splice wires together, you can build your own bespoke USB cables. But what attracted us to his write-up was the phenomenal detail he goes into. Every step is clearly explained and includes a nice, well-lit, photo to illustrate what he’s doing. Honestly, when the documentation for soldering some USB connectors onto a wire looks this good, there’s no excuse why more substantial projects get little more than a few blurry shots.

Of course, even for those of us who are no stranger to the ways of the soldering iron, there’s likely a few ideas you can pull from this project. We particularly liked his tip for taping the USB connector to the workbench while soldering it rather than trying to get it to stay in a vise, and his method for adding a coil the cable with a wooden jig and a heat gun is definitely something to file away for future use.

Then again in an era where even the lowly-USB cable can potentially be a security threat, or simply not live up to published specifications, rolling your own might not be such a bad idea.

Custom Electric Motorcycle Packs 6 KW

If you only need to travel at around 25 mph around town or to get a short distance to work, an electric bicycle might just be the best thing you can ride. It’s cheap, quick, and fun, and sometimes a great way to get some exercise too. If you want to dial up the amount of excitement, though, you’re going to want something with a little more power and speed. Something like an old dirt bike converted to a 6 kW electric motorcycle.

This is the latest build from [Boom Electric Cycles] and uses the frame from an early-90s Suzuki dirt bike as the foundation. From there it’s all new, though, as the engine was removed and replaced with 3 kW hub motors in each of the wheels. A 72-volt custom battery with 240 18650 cells pushed the amps through the motors, making this bike able to keep up anywhere except the fastest highways (if it’s street legal at all…).

Having about eight times more power than is found in a typical electric bicycle is sure to be a blast, but this build isn’t quite finished yet. Some of the trim panels need to be finished and the suspension needs to be adjusted, but it looks like it’ll be out and about any day now. Until then you’ll have to be satisfied with other projects that managed to cram in 3 kW per wheel.

Custom Storage Boxes, From Cardboard And 3D Printed Bits

It’s not that storage boxes and organizers are hard to find. No, the problem this project set out to solve was more nuanced than that. The real trouble [theguymasamato] had was that his storage options — wide shelves and deep drawers — weren’t well suited to storing a lot of small and light objects. The result was a lot of wasted space and poor organization. To make matters worse, his big drawers had oddball dimensions, meaning that store bought organizers weren’t a good fit either.

To solve these problems, [theguymasamato] decided to design his own stackable boxes to store small and light objects far more efficiently than before. The design also allows the boxes to be made in a variety of sizes without changing any of the 3D printed parts. Carefully measured and cut cardboard is critical, but that’s nothing a utility knife and ruler can’t solve. The only other requirements are a few simple plastic parts, and some glue. He can fit six of these inside a single one of his drawers with enough room to access and handle them, but without wasting space.

Cardboard is really versatile stuff. Not only has it been behind some amazingly complex devices such as this tiny working plotter, but we’ve seen it form major components in the remarkably ambitious cardboard CNC.

Make Your Python Prettier With Decorators

Many Pythonistas are familiar with using decorators, but far fewer understand what’s happening under the hood and can write their own. It takes a little effort to learn their subtleties but, once grasped, they’re a great tool for writing concise, elegant Python.

This post will briefly introduce the concept, start with a basic decorator implementation, then walk through a few more involved examples one by one.

Continue reading “Make Your Python Prettier With Decorators”

Roll Your Own Trackball Mouse

What do you do when you’re into trackball mice, but nothing out there is affordable or meets all your murine needs? You build one, of course. And if you’re like [Dangerously Explosive], who has a bunch of old optical mice squeaking around the shop, you can mix and match them to build the perfect one.

The mouse, which looks frozen mid-transformation into a rodential assassin, is a customized work of utilitarian art. Despite the excellent results, this project was not without its traps. [Dangerously] got really far into the build before discovering the USB interface chip was dead. Then he tried to sculpt a base out of Plasticine and discovered he’d bought the one kind of clay that can’t be baked. After trying his hand at making homemade salt dough, he painstakingly whittled a base from scrap pine using a drill and a hacksaw.

Every bit of this mouse is made from recycled bits, which, if you pair that with the paint job and the chosen shade of blinkenlights, makes this a green mouse on three levels. One of the two parts of this mouse that isn’t literally green, the cord, is still ecologically sound. [Dangerously] wanted a really long tail, so he scavenged a charger cable built for fruity hardware and threaded it through a hollowed-out piece of purple paracord.

We love the thumb-adjacent scroll wheel and the trackball itself, which is a ping pong ball painted black. The cool part is the guide it rolls around in. [Dangerously] spent a long time hand-whittling the perfect size hole in a particularly wide mouse palm rest. All that plastic shaving paid off, because the action is smooth as Velveeta.

[Dangerously] certainly designed this mouse to fit his preferences, and ergonomics seem a bit secondary. For a truly custom fit, try using whatever passes for Floam these days.

Robotic Wood Shop Has Ambitions To Challenge IKEA

Many people got their start with 3D printing by downloading designs from Thingiverse, and some of these designs could be modified in the browser using the Thingiverse Customizer. The mechanism behind this powerful feature is OpenSCAD’s parametric design capability, which offers great flexibility but is still limited by 3D printer size. In the interest of going bigger, a team at MIT built a system to adopt parametric design idea to woodworking.

The “AutoSaw” has software and hardware components. The software side is built on web-based CAD software Onshape. First the expert user builds a flexible design with parameters that could be customized, followed by one or more end users who specify their own custom configuration.

Once the configuration is approved, the robots go to work. AutoSaw has two robotic woodworking systems: The simpler one is a Roomba mounted jigsaw to cut patterns out of flat sheets. The more complex system involves two robot arms on wheels (Kuka youBot) working with a chop saw to cut wood beams to length. These wood pieces are then assembled by the end-user using dowel pegs.

AutoSaw is a fun proof of concept and a glimpse at a potential future: One where a robotic wood shop is part of your local home improvement store’s lumber department. Ready to cut/drill/route pieces for you to take home and assemble.

Continue reading “Robotic Wood Shop Has Ambitions To Challenge IKEA”