From Paper To Pixels: A DIY Digital Barograph

A barograph is a device that graphs a barometer’s readings over time, revealing trends that can predict whether stormy weather is approaching or sunny skies are on the way. This DIY Digital Barograph, created by [mircmk], offers a modern twist on a classic technology.

Dating back to the mid-1700s, barographs have traditionally used an aneroid cell to move a scribe across paper that advances with time, graphing pressure trends. However, this method has its shortcomings: you must replace the paper once it runs through its time range, and mechanical components require regular maintenance.

[mircmk]’s DIY Digital Barograph ditches paper and aneroids for a sleek 128×64 LCD display that shows measurements from a BME280 pressure sensor. Powered by an ESP32 microcontroller — the code for which is available on the project page — the device checks the sensor upon boot and features external buttons to cycle through readings from the current moment, the last hour, or three hours ago. Unlike traditional barographs that only track pressure, the BME280 also measures temperature and humidity, which are displayed on the screen for a more complete environmental snapshot.

Head over to the project’s Hackaday.io page for more details and to start building your own. Thanks to [mircmk] for sharing this project! We’re excited to see what you come up with next. If you’re inspired, check out other weather display projects we’ve featured.

Continue reading “From Paper To Pixels: A DIY Digital Barograph”

3D Modeling With Paper As An Alternative To 3D Printing

Manual arrangement of the parts in Pepakura Designer. (Credit: Arvin Podder)
Manual arrangement of the parts in Pepakura Designer. (Credit: Arvin Podder)

Although these days it would seem that everyone and their pets are running 3D printers to churn out all the models and gadgets that their hearts desire, a more traditional approach to creating physical 3D models is in the form of paper models. These use designs printed on paper sheets that are cut out and assembled using basic glue, but creating these designs is much easier these days, as [Arvin Poddar] demonstrates in a recent article.

The cool part about making these paper models is that you create them from any regular 3D mesh, with any STL or similar file from your favorite 3D printer model site like Printables or Thingiverse being fair game, though [Arvin] notes that reducing mesh faces can be trickier than modelling from scratch. In this case he created the SR-71 model from scratch in Blender, featuring 732 triangles. What the right number of faces is depends on the target paper type and your assembly skills.

Following mesh modelling step is mesh unfolding into a 2D shape, which is where you have a few software options, like the paid-for-but-full-featured Pepakura Designer demonstrated, as well as the ‘Paper Model’ exporter for Blender.

Beyond the software used to create the SR-71 model in the article, the only tools you really need are a color printer, paper, scissor,s and suitable glue. Of course you are always free to use fancier tools than these to print and cut, but the bar here is pretty low for the assembly. Although making functional parts isn’t the goal here, there is a lot to be said for paper models for pure display pieces and to get children interested in 3D modelling.

Aussie Researchers Say They Can Bring The Iron Age To Mars

It’s not martian regolith, bu it’s the closest chemical match available to the dirt in Gale Crater. (Image: Swinburne University)

Every school child can tell you these days that Mars is red because it’s rusty. The silicate rock of the martian crust and regolith is very rich in iron oxide. Now Australian researchers at CSIRO and Swinburn University claim they know how to break that iron loose.

In-situ Resource Utilization (IRSU) is a big deal in space exploration, with good reason. Every kilogram of resources you get on site is one you don’t have to fight the tyranny of the rocket equation for. Iron might not be something you’d ever be able to haul from Earth to the next planet over, but when you can make it on site? You can build like a Victoria is still queen and it’s time to flex on the French.

The key to the process seems to be simple pyrolysis: they describe putting dirt that is geochemically analogous to martian regolith into a furnace, and heating to 1000 °C under Martian atmospheric conditions to get iron metal. At 1400 °C, they were getting iron-silicon alloys– likely the stuff steelmakers call ferrosilicon, which isn’t something you’d build a crystal palace with.

It’s not clear how economical piling red dust into a thousand-degree furnace would be on Mars– that’s certainly not going to cut it on Earth– but compared to launch costs from Earth, it’s not unimaginable that martian dirt could be considered ore.

The schematic on the left and the assembled circuit on the right.

How To Make A Simple MOSFET Tester

Over on YouTube our hacker [VIP Love Secretary] shows us how to make a simple MOSFET tester.

This is a really neat, useful, elegant, and simple hack, but the video is kind of terrible. We found that the voice-over constantly saying “right?” and “look!” seriously drove us to distraction. But this is a circuit which you should know about so maybe do what we did and watch the video with subtitles on and audio off.

To use this circuit you install the MOSFET you want to test and then press with your finger the spare leg of each of two diodes; in the final build there are some metal touch pads attached to the diodes to facilitate this. One diode will turn the MOSFET off, the other diode will turn the MOSFET on, and the LED will show you which is which.

Continue reading “How To Make A Simple MOSFET Tester”

Send Images To Your Terminal With Rich Pixels

[darrenburns]’ Rich Pixels is a library for sending colorful images to a terminal. Give it an image, and it’ll dump it to your terminal in full color. While it also supports ASCII art, the cool part is how it makes it so easy to display an arbitrary image — a pixel-art rendition of it, anyway — in a terminal window.

How it does this is by cleverly representing two lines of pixels in the source image with a single terminal row of characters. Each vertical pixel pair is represented by a single Unicode ▄ (U+2584 “lower half block”) character. The trick is to set the background color of the half-block to the upper pixel’s RGB value, and the foreground color of the half-block to the lower pixel’s RGB. By doing this, a single half block character represents two vertically-stacked pixels. The only gotcha is that Rich Pixels doesn’t resize the source image; if one’s source image is 600 pixels wide, one’s terminal is going to receive 600 U+2584 characters per line to render the Rich Pixels version.

[Simon WIllison] took things a step further and made show_image.py, which works the same except it resizes the source image to fit one’s terminal first. This makes it much more flexible and intuitive.

The code is here on [Simon]’s tools GitHub, a repository for software tools he finds useful, like the Incomplete JSON Pretty Printer.

ESP32 Hosts Functional Minecraft Server

If you haven’t heard of Minecraft, well, we hope you enjoyed your rip-van-winkle nap this past decade or so. For everyone else, you probably at least know that this is a multiplayer, open world game, you may have heard that running a Minecraft server is a good job for maxing out a spare a Raspberry Pi. Which is why we’re hugely impressed that [PortalRunner] managed to squeeze an open world onto an ESP32-C3.

Of course, the trick here is that the MCU isn’t actually running the game — it’s running bareiron, [PortalRunner]’s own C-based Minecraft server implementation. Rewriting the server code in C allows it to be optimized for the ESP32’s hardware, but it also let [PortalRunner] strip his server down to the bare essentials, and tweak everything for performance. For example, instead of the multiple octaves of Perlin noise for terrain generation, with every chunk going into RAM, he’s using the x and z of the corners as seeds for the psudorandom rand() function, and interpolating between them. Instead of caves being generated by a separate algorithm, and stored in memory, in bareiron the underground is just a mirror-image of the world above. Biomes are just tiled, and sit separately from one another.

So yes, what you get from bareiron is simpler than a traditional Minecraft world — items are simplified, crafting is simplified, everything is simplified, but it’s also running on an ESP32, so you’ve got to give it a pass. With 200 ms to load each chunk, it’s playable, but the World’s Smallest Minecraft Server is a bit like a dancing bear: it’s not about how well it dances, but that it dances at all.

This isn’t the first time we’ve seen Minecraft’s server code re-written: some masochist did it in COBOL, but at least that ran on an actual computer, not a microcontroller. Speaking of low performance, you can’t play Minecraft on an SNES, but you can hide the game inside a cartridge, which is almost as good.

Thanks to [CodeAsm] for the tip. Please refer any other dancing bears spotted in the wild to our tips line.

Continue reading “ESP32 Hosts Functional Minecraft Server”

Keep Reading, Keep Watching

I’ve been flying quadcopters a fair bit lately, and trying to learn some new tricks also means crashing them, which inevitably means repairing them. Last weekend, I was working on some wiring that had gotten caught and ripped a pad off of the controller PCB. It wasn’t so bad, because there was a large SMT capacitor nearby, and I could just piggyback on that, but the problem was how to re-route the wires to avoid this happening again.

By luck, I had just watched a video where someone else was building up a new quad, and had elegantly solved the exact same routing problem. I was just watching the video because I was curious about the frame in question, and I had absolutely no idea that it would contain the solution to a problem that I was just about to encounter, but because I was paying attention, it make it all a walk in the park.

I can’t count the number of times that I’ve had this experience: the blind luck of having just read or seen something that solves a problem I’m about to encounter. It’s a great feeling, and it’s one of the reasons that I’ve always read Hackaday – you never know when one hacker’s neat trick is going to be just the one you need next week. Indeed, that’s one of the reasons that we try to feature not just the gonzo hacks that drill down deep on a particular feat, but also the little ones too, that solve something in particular in a neat way. Because reading up on the hacks is free, and particularly cheap insurance against tomorrow’s unexpected dilemmas.

Read more Hackaday!