Old Nixie Display Rides Again As 3D-Printer Filament Meter

We’re not sure about the name of this Nixie tube filament meter that [Scott M. Baker] built. He calls it a “filadometer”, perhaps a portmanteau of “filament” and “odometer”, in which case it makes sense. It may not flow trippingly from the tongue and we can’t come up with anything better, but whatever moniker you use it’s actually a pretty cool build.

The filadometer started life as something completely different and utterly typical for Nixie tube projects – a temperature and humidity gauge. [Scott] decided to recycle the eight-tube display to keep track of his Prusa, and in doing so he reveals a pretty remarkable degree of forethought in his design process. The original Nixie display has all the usual trappings – the driver chips, the shift registers, and the high voltage power supply. What stands out is the modularity of his design: the tube sockets and drivers live on a backplane PCB, with a Raspberry Pi and a separate HV supply board plugging into it. The original display had a Model B Pi, so there was plenty of room for a new Zero W. A new printed case and a little programming to capture the filament use from Octoprint is all it took to put this nifty little build back in action. The video below shows the details.

We’re always excited to see new videos from [Scott] because we learn so much from looking over his virtual shoulder. If you haven’t checked out his stuff, take a look at his homage to the 8″ floppy or his dual-port memory hack for retro gaming.

Continue reading “Old Nixie Display Rides Again As 3D-Printer Filament Meter”

Stator Library Makes Your Arduino Code Easier To Read

The readability of your code can make the difference between your project being a joy to work on, or an absolute headache. This goes double when collaborating with others. Having easily parsed code reduces your cognitive load and makes solving problems easier. To try and help with this, [PTS93] developed the Stator library to make certain common tasks simpler to read.

The aim of the library is to get rid of piles of state tracking variables and endless if/else statements – hence the name. It’s designed primarily for the Arduino IDE but doesn’t have any dependencies on the API, so can be used in other C++ environments. It comes with a variety of neat tools for common jobs, such as reading an analog sensor with hysteresis around a trigger point, as well as easy ways to track state changes across multiple variables. By using basic English terms instead of condition checks and mathematical operators, it can make things more readable and easier to follow.

The power of the Arduino platform has always been in its easy to use libraries that make everything easier, from interfacing LCDs to working with Amazon Dash buttons.

CPU Made From 74HC Chips Is A Glorious Mess

Did you ever start a project that you felt gained a life of its own? This project by [Paulo Constantino] is an entire CPU named dreamcatcher on breadboards, and is a beautiful jungle of digital. On top of that, it works to connect to an analog VGA display. How cool is that!

Designing an ALU and then a CPU is a typical exercise for students of digital design and is done using VerilogHDL or VHDL. It involves creating an ALU that can add, subtract etc while a control unit manages data moves and the like. There is also a memory fetch and instruction decode made up of de-mulitiplexers and a bunch of flip-flops that make up registers and flags. They are as complex as they sound if not more.

[Paulo Constantino] went ahead and designed the whole thing in Eagle as a schematic using 74HC logic chips. To build it though instead of a PCB he used breadboards. Everything from bus decoders to controlling an external VGA display is done using jumper wires. We did cover a video on the project a while back, but this update adds a video card interface to the build.

The CPU updates the display buffer on the VGA card, and in the video below shows the slow and steady update. The fact that the jungle of wires can drive a display is awesome. He has since started working on a 16-bit version of the processor and we’d love to see someone take it up a notch.

For those more accustomed to the PCB, the Z80 membership card project is a great build for 8-bit computer fans.

Thanks to [analog engineer] for the tip.

Continue reading “CPU Made From 74HC Chips Is A Glorious Mess”

Sniffing CAN To Add New Features To A Modern Car

It used to be that there wasn’t a problem on the average car that couldn’t be solved with a nice set of wrenches, a case of beer, and a long weekend. But the modern automobile has more in common with a spaceship than those vintage rides of yesteryear. Bristling with sensors and electronics, we’re at the point that some high-end cars need to go back to the dealer for even minor repairs. It’s a dark time for the neighborhood grease monkey.

But for those of us who are more likely to spend their free time working with a compiler than a carburetor, a modern car can be an absolute wonderland. That’s what [TJ Bruno] found when he recently started experimenting with the CAN bus on his 2017 Chevy Cruze. Not only was he able to decode how the different switches and buttons on the dashboard communicated with the vehicle’s onboard systems, he was able to hack in a forward-looking camera that’s so well integrated you’d swear it was a factory option.

The idea started simple enough: using some relays, [TJ] planned on physically switching the video feed going to the Chevy’s dashboard between the stock rear camera and his aftermarket front camera. That’s all well and good, but the car would still only bring up the video feed when the gear selector was put in reverse; not exactly helpful when he’s trying to inch his way into a tight spot. He needed to find a way to bring up the video display when the car was moving forward.

With a PCAN-USB adapter connected to the car’s OBD-II port, he shifted into and out of reverse a few times and noted which messages got transmitted on the network. It wasn’t long before he isolated the proper message, and when he injected it with his laptop, the dashboard display switched over to the backup camera regardless of what gear the car was in. Building on this success, he eventually figured out how to read the status of all the buttons on the car’s dashboard, and programmed an Arduino to listen for the appropriate signals.

The final piece of the puzzle was combing bringing both of these capabilities, so that went the appropriate button was pressed on the dashboard the Arduino would not only send the signal to turn on the video display, but kick the relays over to switch the camera source. Now [TJ] has a front-facing camera that can be called up without having to kludge together some button or switch that would never match the modern styling of the vehicle’s interior.

A couple years back we saw a similar project to add a backup camera to a Peugeot 207 that was too old to have one from the factory, and more recently we saw how CAN hacking can allow you to fight back when your car’s touch screen interface robs you of simple pleasures like pushing buttons and turning knobs.

Continue reading “Sniffing CAN To Add New Features To A Modern Car”

The Two-Dimensional Stepper Motor

Over on hackaday.io and deep in the Hackaday Prize, a lot of cool people are playing around with the possibilities of putting coils in printed circuit boards. On the face of it, it makes sense: drawing spirals on a PCB gets you an electromagnet. This allows you to do all sorts of crazy things. You can make miniature model maglev trains using the track as a motor. Someone built a wearable Tesla coil.

The latest build to show off the possibilities of motors etched on PCBs is [bobricius]’ micro manipulator. It’s a 100 mm square board capable of moving a small magnet around the surface. The point? Well, if you have to ask that question you’re really never going to get the point.

The design of this stepper motor is simply two coils of wire, with the X axis of the grid placed on the top copper layer of the PCB and the Y axis on the bottom copper layer. There are four poles to each of these coils, and they plug right into a standard stepper driver, so to control this board all you need is a basic Arduino and a motor shield. Or a RepRap board, take your pick, you probably have something sitting around in a junk drawer.

In the test of this board, the stepper motor can move small rare earth magnets around quickly and with high repeatability. As for what use this PCB stepper motor has, if you have to ask that question, you’ll never know. Also, because it looks cool.

Continue reading “The Two-Dimensional Stepper Motor”

Building a Raspberry Pi Rover: My Big Fat Linux Weekend

Linux! Such a wonderful, rich, capable operating system has blessed us, and all for the low, low cost of absolutely free. It’s under the hood of countless servers, computers, phones, and embedded devices, and is the go-to solution for when you want to get the job done right. Why, then, does it curse me so?


The penguin giveth, and the penguin taketh away.

My experience with the almighty penguin stretches back to the late 90s. Facebook hadn’t been invented yet, so most weekends were spent installing whatever came on the front of the latest computer mags. I wish I was kidding, but I’m really not.

Way back when, us kids would load the latest Red Hat or Fedora distribution onto our hand-me-down Pentium IIs, trying not to accidentally wipe our hard drive in the process. Limited to dial-up internet and very few help resources, it was pretty common that you’d spend hours watching progress bars tick over, only to wind up with no working mouse, or an X server that simply refused to start for man or God. Did I mention we did all this for fun?

Trying To Get Some Work Done

Of course, after growing up, real life and real responsibilities take over. Now, if I’m using Linux, it’s because I’ve got a job to do, not just because there’s nothing good to watch on Cartoon Network this weekend. I consider myself to be a fairly intermediate user. I’ve compiled a few things successfully, understood how to work with a variety of package managers, and once, just once, even managed to connect to a wireless network from the command line. There’s not a whole lot that phases me in this realm anymore.

For the past few years, I’ve been slowly working on a little rover by the name of TKIRV, powered by a Raspberry Pi. It was overdue for a camera upgrade, as I’d been using an old Microsoft webcam for far too long. I ordered a nice 1080p Raspberry Pi camera, and naturally the parts marinated in their boxes for a good couple of years. Finally, after much procrastination, I was eager to get my wheely boi back out on the road.

This was but the beginning my weekend slaying embedded Linux dragons.

Continue reading “Building a Raspberry Pi Rover: My Big Fat Linux Weekend”

Robot Arms Nudge the Hands of Time in the Strangest Clock

We see a lot of clocks here at Hackaday. Digital clocks, retro clocks, lots of Nixie clocks, binary clocks, and clocks that appear to be designed specifically to be unreadable. But this dual-servo kinematic clock is something we haven’t seen yet, and it’s certainly worth a mention.

[mircemk]’s idea is simple and hearkens back to grammar school days when [Teacher] put a large cardboard clock dial on the blackboard and went through the “big hand, little hand” drill. In this case, the static cardboard clock has been replaced by a 3D-printed dial and hands, while a pair of servos linked together by two arms takes the place of the teacher. The video below shows it in action; the joint in the linkage between the two servos has a screw sticking out that can be maneuvered across the clock face to reposition the hands. It’s a little jittery, though; [mircemk] might want to tune the servo loops up a bit or tighten the linkage joints to make things a little smoother.

Even with the shakes, we find it wonderfully weird and hard to stop watching. It reminds us a bit of this luminous plotting clock from a while back – same linkage, different display.

Continue reading “Robot Arms Nudge the Hands of Time in the Strangest Clock”