The yagi, suction-cup mounted to a wall

Bringing A Yagi Antenna To 915MHz LoRa

If you’re a regular reader of Hackaday, you may have noticed a certain fondness for Meshtastic devices, and the LoRa protocol more generally. LoRa is a great, low-power radio communications standards, but sometimes the antennas you get with the modules can leave you wanting more. That’s why [Chris Prioli] at the Gloucester County Amateur Radio Club in the great state of New Jersey have got a Yagi antenna for North America’s 915 MHz LoRa band.

Right out the gate, their article links to one of ours, where [tastes_the_code] builds a Yagi antenna for the European 868 MHz LoRa. Like [tastes_the_code], the radio club found [Chris]’s antenna gives much better reception than what came with the LoRa module. Looking out their window, instead of two Metastatic nodes with a stock antenna, one club member is now connecting to two hundred.

A simulation of the radiation pattern. Looks like a Yagi, alright.

Now, the Yagi is directional, so you only get that boost pointed down the axis of the antenna, but at least in simulation they estimate a 7.7 dB front-to-back gain vs under 3 dB for an omnidirectional antenna. Not bad, for a simple 3D print and some stiff wire!

If you don’t want to re-invent the wheel again, check out the GCARC’s GitHub for files if you’re in North America. If you’re in Europe, check out [taste_the_code]’s build from last year. Of course whatever band you’re operating in, Yagi isn’t your only roll-your-own option for a LoRa antenna.

Thanks to [Jon Pearce WB2MNF] for the tip!

Escaping The Linux Networking Stack At Cloudflare

Courtesy of the complex routing and network configurations that Cloudflare uses, their engineers like to push the Linux network stack to its limits and ideally beyond. In a blog article [Chris Branch] details how they ran into limitations while expanding their use of soft-unicast functionality that fits with their extensive use of anycast to push as much redundancy onto the external network as possible.

The particular issue that they ran into had to do with the Netfilter connection tracking (conntrack) module and the Linux socket subsystem when you use packet rewriting. For soft-unicast it is important that multiple processes are aware of the same connection, yet due to how Linux works this made it impossible to use packet rewriting. Instead they had to use a local proxy initially, but this creates overhead.

To work around this the solution appeared to be to abuse the TCP_REPAIR socket option in Linux, which normally exists to e.g. migrate VM network connections. This enables one to describe the entire socket connection state, thus ‘repairing’ it. Combined with TCP Fast Open to skip the whole handshake bit with a TFO ‘cookie’. This still left a few more issues to fix, with an early demux providing a potential solution.

Ironically, ultimately it was decided to not break the Linux networking stack that much and stick with the much less complicated local proxy to terminate TCP connections and redirect traffic to a local socket. Unfortunately escaping the Linux networking stack isn’t that straightforward.

Rectal Oxygenation Could Save Your Life One Day

Humans have lots of basic requirements that need to be met in order to stay alive. Food is a necessary one, though it’s possible to go without for great stretches of time. Water is more important, with survival becoming difficult beyond a few days in its absence. Most of all, though, we crave oxygen. Without an air supply, death arrives in mere minutes.

The importance of oxygen is why airway management is such a key part of emergency medicine. It can be particularly challenging in cases where there is significant trauma to the head, neck, or surrounding areas. In these cases, new research suggests there may be an alternative route to oxygenating the body—through the rear.

Continue reading “Rectal Oxygenation Could Save Your Life One Day”

Measuring Caffeine Content At Home

By far, the most widely used psychoactive substance in the world is caffeine. It’s farmed around the world in virtually every place that it has cropped up, most commonly on coffee plants, tea plants, and cocoa plants. But is also found in other less common plants like the yaupon holly in the southeastern United States and yerba maté holly in South America. For how common it is and how long humans have been consuming it, it’s always been a bit difficult to quantify exactly how much is in any given beverage, but [Johnowhitaker] has a solution to that.

This build uses a practice called thin layer chromatography, which separates the components of a mixture by allowing them to travel at different rates across a thin adsorbent layer using a solvent. Different components will move to different places allowing them to be individually measured. In this case, the solvent is ethyl acetate and when the samples of various beverages are exposed to it on a thin strip, the caffeine will move to a predictable location and will show up as a dark smudge under UV light. The smudge’s dimensions can then be accurately measured to indicate the caffeine quantity, and compared against known reference samples.

Although this build does require a few specialized compounds and equipment, it’s by far a simpler and less expensive way of figuring out how much caffeine is in a product than other methods like high-performance liquid chromatography or gas chromatography, both of which can require extremely expensive setups. Plus [Johnowhitaker]’s results all match the pure samples as well as the amounts reported in various beverages so he’s pretty confident in his experimental results on beverages which haven’t provided that information directly.

If you need a sample for your own lab, we covered a method on how to make pure caffeine at home a while back.

Continue reading “Measuring Caffeine Content At Home”

Why Can’t I 3D Print With Rubber?

A friend of mine and I both have a similar project in mind, the manufacture of custom footwear with our hackerspace’s shiny new multi-material 3D printer. It seems like a match made in heaven, a machine that can seamlessly integrate components made with widely differing materials into a complex three-dimensional structure. As is so often the case though, there are limits to what can be done with the tool in hand, and here I’ve met one of them.

I can’t get a good range of footwear for my significantly oversized feet, and I want a set of extra grippy soles for a particular sporting application. For that the best material is a rubber, yet the types of rubber that are best for the job can unfortunately not be 3D printed. In understanding why that is the case I’ve followed a fascinating path which has taught me stuff about 3D printing that I certainly didn’t know.

The extruder unit from a Prusa Mini 3D printer
Newton strikes back, and I can’t force rubber through this thing.

A friend of mine from way back is a petrochemist, so I asked him about the melting points of various rubbers  to see if I could find an appropriate filament His answer, predictably, was that it’s not that simple, because rubbers don’t behave in the same way as the polymers I am used to. With a conventional 3D printer filament, as the polymer is fed into the extruder and heated up, it turns to liquid and flows out of the nozzle to the print. It ‘s then hot enough to fuse with the layer below as it solidifies, which is how our 3D prints retain their shape. This property is where we get the term “plastic” from, which loosely means “Able to be moulded”.

My problem is that rubber doesn’t behave that way. As any casual glance at a motor vehicle will tell you, rubber can be moulded, but it doesn’t neatly liquefy and flow in the way my PLA or PET does. It’s a non-Newtonian fluid, a term which I was familiar with from such things as non-drip paint, tomato ketchup, or oobleck, but had never as an electronic engineer directly encountered in something I am working on. Continue reading “Why Can’t I 3D Print With Rubber?”

It’s Time To Make A Major Change To D-Bus On Linux

Although flying well under the radar of the average Linux user, D-Bus has been an integral part of Linux distributions for nearly two decades and counting. Rather than using faster point-to-point interprocess communication via a Unix socket or such, an IPC bus allows for IP communication in a bus-like manner for convenience reasons. D-Bus replaced a few existing IPC buses in the Gnome and KDE desktop environments and became since that time the de-facto standard. Which isn’t to say that D-Bus is well-designed or devoid of flaws, hence attracting the ire of people like [Vaxry] who recently wrote an article on why D-Bus should die and proposes using hyprwire instead.

The broader context is provided by [Brodie Robertson], whose video adds interesting details, such as that Arch Linux wrote its own D-Bus implementation rather than use the reference one. Then there’s CVE-2018-19358 pertaining to the security risk of using an unlocked keyring on D-Bus, as any application on said bus can read the contents. The response by the Gnome developers responsible for D-Bus was very Wayland-like in that they dismissed the CVE as ‘works as designed’.

One reason why the proposed hyperwire/hyprtavern IPC bus would be better is on account of having actual security permissions, real validation of messages and purportedly also solid documentation. Even after nearly twenty years the documentation for D-Bus consists mostly out of poorly documented code, lots of TODOs in ‘documentation’ files along with unfinished drafts. Although [Vaxry] isn’t expecting this hyprwire alternative to be picked up any time soon, it’s hoped that it’ll at least make some kind of improvement possible, rather than Linux limping on with D-Bus for another few decades.

Continue reading “It’s Time To Make A Major Change To D-Bus On Linux”

Chamber-Master

Chamber Master: Control Your 3D Printer Enclosure Like A Pro

Having an enclosed 3D printer can make a huge difference when printing certain filaments that are prone to warping. It’s easy enough to build an enclosure to stick your own printer in, but it can get tricky when you want to actively control the conditions inside the chamber. That’s where [Jayant Bhatia]’s Chamber Master project comes in.

This system is built around the ESP32 microcontroller, which provides control to various elements as well as hosts a web dashboard letting you monitor the chamber status remotely. The ESP32 is connected to an SSD1306 OLED display and a rotary encoder, allowing for navigating menus and functions right at the printer, letting you select filament type presets and set custom ones of your own. A DHT11 humidity sensor and a pair of DS18B20 temperature sensors are used to sense the chamber’s environment and intake temperatures.

One of the eye-catching features of the Chamber Master is the iris-controlled 120 mm fan mounted to the side of the chamber, allowing for an adjustable-size opening for air to flow. When paired with PWM fan control, the amount of airflow can be precisely controlled.

Continue reading “Chamber Master: Control Your 3D Printer Enclosure Like A Pro”