An image of a smarphone sitting on a lightly-colored wooden table. It has a tan case surrounding it on the top 2/3, and a copper case holding a BlackBerry Q10 keyboard jutting out over the bottom of the phone.

FairBerry Brings The PKB Back To Your Smartphone

Missing the feel of physical keys on your phone, but not ready to give up your fancy new touchscreen phone? [Dakkaron] has attached a BlackBerry keyboard to a slightly more recent device.

Designed for the FairPhone 4, [Dakkaron]’s hack should be transferable to other smartphones as it connects to the phone over USB without any of that tedious mucking about with Bluetooth. There’s even a handy OpenSCAD-based generator to help you along in the customization process.

[Dakkaron] started with an Arduino Pro Micro-based implementation, but the most recent iteration uses a custom board that can be obtained partially-populated. Unfortunately, the Hirose connector for the keyboard isn’t available off-the-shelf, so you’ll have to solder that yourself if you’re planning to do this mod. Sounds like a perfect opportunity to practice your surface mount soldering skills!

If the Q10 keyboard looks familiar, it’s probably because it’s one of the most popular keyboards for small projects around here. Check out Regrowing a BlackBerry from the Keyboard Out or a LoRa Messenger with one. We’ve even seen them in a conference badge!

At Last! Faster OpenSCAD Rendering Is On The Horizon

Known as “The Programmers Solid 3D CAD Modeller”, OpenSCAD is used by many people for whom writing code comes more naturally than learning a fiddly user interface. It’s a very capable piece of software, but regular users will tell you that it can be rather slow when it comes to rendering your work. We’re very pleased to see that a fix for this has been produced courtesy of [@ochafik], can now be found as an experimental feature in nightly builds, and will in due course no doubt find its way to official releases.

Despite a modern computer invariably having a multi-core architecture, it might surprise you to find that OpenSCAD wasn’t able to take advantage of this previously. The above-linked thread spans over a decade of experimenting and contains some fascinating discussions if you’re prepared to wade through it, and culminates a few weeks ago in the announcement of the new feature giving access to multiple CPUs. We don’t have it yet, but it’s great to know it’s in the works and we’re looking forward to render time involving considerably less of a wait.

So many OpenSCAD projects have passed through these pages over the years, it’s safe to say that it has a significant user base among Hackaday readers. It’s still something an AI hasn’t mastered yet though.

Thanks [pca006132] for the tip.

ChatGPT, The Worst Summer Intern Ever

Back when I used to work in the pharma industry, I had the opportunity to hire summer interns. This was a long time ago, long enough that the fresh-faced college students who applied for the gig are probably now creeping up to retirement age. The idea, as I understood it, was to get someone to help me with my project, which at the time was standing up a distributed data capture system with a large number of nodes all running custom software that I wrote, reporting back to a central server running more of my code. It was more work than I could manage on my own, so management thought they’d take mercy on me and get me some help.

The experience didn’t turn out quite like I expected. The interns were both great kids, very smart, and I learned a lot from them. But two months is a very tight timeframe, and getting them up to speed took up most of that time. Add in the fact that they were expected to do a presentation on their specific project at the end of the summer, and the whole thing ended up being a lot more work for me than if I had just done the whole project myself.

I thought about my brief experience with interns recently with a project I needed a little help on. It’s nothing that hiring anyone would make sense to do, but still, having someone to outsource specific jobs to would be a blessing, especially now that it’s summer and there’s so much else to do. But this is the future, and the expertise and the combined wisdom of the Internet are but a few keystrokes away, right? Well, maybe, but as you’ll see, even the power of large language models has its limit, and trying to loop ChatGPT in as a low-effort summer intern leaves a lot to be desired.

Continue reading “ChatGPT, The Worst Summer Intern Ever”

Ventbot fans with 3D printed brackets and control circuit board with ESP32 breakout and multicolored 3D printed cases

Ventbots Are Fans Of HVAC And Home Automation

[WJCarpenter] had a common HVAC problem; not all the rooms got to a comfortable temperature when the heater was working to warm up their home. As often happens with HVAC systems, the rooms farthest from the heat source and/or with less insulation needed a boost of heat in the winter and cooling in the summer too. While [WJCarpenter] is a self-reported software person, not a hardware person, you will enjoy going along on the journey to build some very capable vent boosters that require a mix of each.

Ventbot control circuit board with ESP32 breakout in a red 3D printed case

There’s a great build log on hackaday.io here, but for those who need more of a proper set of instructions, there’s a step-by-step guide that should allow even a beginner hardware hacker to complete the project over on Instructables. There you’ll find everything you need to build ESPHome controlled, 3D printed, PC fan powered vent boosters. While they can be integrated into Home Assistant, we were interested to learn that ESPHome allows these to run stand-alone too, each using its own temperature and pressure sensor.

The many iterations of hardware and software show, resulting in thoughtful touches like a startup sequence that checks for several compatible temperature sensors and a board layout that accommodates different capacitor lead spacings. Along the way, [WJCarpenter] also graphed the noise level of different fans running at multiple speeds and the pressure sensor readings against the temperatures to see if they could be used as more reliable triggers for the fans. (spoiler, they weren’t) There are a bunch of other tips to find along the way, so we highly recommend going through all that [WJCarpenter] has shared if you want to build your own or just want some tips on how to convert a one-off project to something that a wider audience can adapt to their own needs.

Ventbot graphing of temperature, pressure, and fan noise

See a video after the break that doesn’t show the whole project but includes footage of the start-up sequence that tests each fan’s tachometer and the customizable ramp-up and ramp-down settings. Continue reading “Ventbots Are Fans Of HVAC And Home Automation”

IBM Selectric Typewriters Finally Get DIY Typeballs

IBM’s Selectric line of typewriters were quite popular in the 1960s, thanks in part to an innovation called the typeball which allowed for easy font changes on a single machine. Unfortunately, as if often the case when specialized components are involved, it’s an idea that hasn’t aged particularly well. The Selectric typewriters are now around 60 years old and since IBM isn’t making replacement parts, those restoring these machines have had to get somewhat creative like using a 3D printer to build new typeballs.

It sounds like it would be a simple, but much like the frustration caused with modern printers, interfacing automated computer systems with real-world objects like paper and ink is not often as straightforward as we would like. The main problem is getting sharp edges on the printed characters which is easy enough with metal but takes some more finesse with a printed plastic surface. For the print, each character is modelled in OpenSCAD and then an automated process generates the 3D support structure that connects the character to the typeball.

This process was easier for certain characters but got more complicated for characters with interior sections or which had a lot of sharp angles and corners. Testing the new part shows promise, although the plastic components will likely not last as long as their metal counterparts. Still, it’s better than nothing.

Regular Hackaday readers may recall that the ability to 3D print replacement Selectric typeballs has been on the community’s mind for years. When we last covered the concept in 2020 we reasoned that producing them on resin printers might be a viable option, and in the end, that does indeed seem to have been the missing element. In fact, this design is based on that same one we covered previously — it’s just taken this long for desktop resin 3D printing technology to mature enough.

A Soft Soldering Jig For Hard Projects

We’ve seen some absolutely gorgeous freeform circuit sculptures. There’s a mystic quality to taking what has normally been hidden away for safety and reliability reasons and putting it on display for everyone to see. Of course, creating these unique circuit sculptures takes considerable time and effort. [Inne] created several silicone soldering jigs to help with these tricky joints.

While a vice or helping hands is crucial for many joints, when dealing with tiny SMD components and exacting angles, you need something a little more specialized. Double-sided tape is often recommended, but heat ruins the adhesive and SMD components like to stick to soldering iron tips. Since silicone tends to be heat resistant, it makes a decent material for soldering on. [Inne] uses a city analogy with the cups for soldering called plazas, each with a hole (called a manhole) leading to a foot-switch vacuum pump to keep parts in place. The OpenSCAD code is available on GitHub under a GPLv3 license. It generates a two-part mold that you can cast in A-8/A-15 silicone.

It’s a clever project that makes it far easier to assemble gorgeous circuit sculptures. We love the design and thought that went into it, particularly the naming scheme as we often find appropriately naming variables in OpenSCAD quickly becomes difficult.

GhostSCAD: Marrying OpenSCAD And Golang

It’s been at least a couple of months since we’ve seen a different 3D modeling language project, so here’s [Lukasz Janyst] with GhostSCAD: a take on creating OpenSCAD models, using the Go language as the front end, bringing all the delights this modern modular language has to offer (and a few of its own idiosyncrasies.) As [Lukasz] says in the blog, from a programmer’s viewpoint, openSCAD has a number of failings that make it not necessarily hard, just kinda annoying to work with, due to the way the geometry tree works. The OpenSCAD way of working ends up with the programmer requiring knowledge of the internal workings of sub-modules, in order to work at the top level (assembly) which is not an ideal situation from a code reuse perspective.

A programmer would describe this problem as “abstraction leakage” and it doesn’t make modular, reusable coding easy to do without a lot of extra work. [Lukasz] says regarding the example GhostSCAD project, that some parts were modeled in a way that knowledge was needed of some mounting points of sub-modules, but those sub-modules had no way to expose this information to the outside world. GhostSCAD enables the programmer to define parts that expose specific parameters to the world that can be queried, for example, to produce a joining part, or an exploded assembly diagram. These properties can be interpreted without the querying module having any knowledge of the internal structure of the thing it’s working with. GhostSCAD provides a Java3D-like API for defining the geometry tree, which may be familiar to some.

Continue reading “GhostSCAD: Marrying OpenSCAD And Golang”