Small camera with greyscale image

Camera Capabilities Unlocked From A Mouse

There is a point where taking technology for granted hides some of the incredible capabilities of seemingly simple devices. Optical mice are a great example of this principle, using what are more or less entirely self-contained cameras just for moving the cursor across your screen. Don’t believe us? Check out this camera made from an old optical mouse from [Dycus]!

For those unfamiliar with optical mice, the sensor used for tracking movement, like a camera, is just an array of photosensitive sensors. This allows a simple on-board microcontroller to convert the small changes from the visual sensor into acceleration/movement information to be sent to the computer.

Proving how capable these sensors can truly be, [Dycus]’s camera manages a whole 30×30 array of picture quality. Along with glorious greyscale, the pictures achieved from such a camera are more than recognizable. Putting together the camera didn’t even require anything crazy beyond the sensor itself. What appears to be a Teensy LC board, basic buttons, and a small screen are essentially everything required to replicate the camera’s functionality. Pictures, both standard and “panoramic”, can be viewed in a variety of color palettes stored on board. Along with a surprisingly impressive feature set, the idea is impressive.

Limitations are often the mother of innovation, no matter if self-imposed or not, as seen here. However, [Dycus] still had a whole 30×30 array to photograph. What about a single pixel? Let’s make it even harder; we can’t look directly at the subject! This is exactly what was done here in this impressive demonstration of clever engineering.

Thanks to JohnU and Thinkerer for the tip!

Print in place pump being used next to ladder

Print In Place Pump Pushes Limits Of Printing

3D printing has taken off into the hands of almost anyone with a knack for wanting something quick and easy. No more messing around with machining or complex assembly. However, with the general hands-off nature of most 3D prints, what could be possible with a little more intervention during the printing process? [Ben] from Designed to Make represents this perfectly with an entire centrifugal pump printed all at once.

This project may not entirely fit into the most strict sense of “print in place”; however, the entire pump is printed as one print file. The catch is the steps taken during printing, where a bearing is placed and a couple of filament changes are made to allow dissolvable supports to be printed. Once these supports are dissolved away, the body is coated with epoxy to prevent any leakage.

Testing done by [Ben] showed more than impressive numbers from the experimental device. Compared to previous designs made to test impeller features, the all in one pump could stand its own against in most categories.

One of the greatest parts of the open source 3D printing world is the absolute freedom and ingenuity that comes out of it, and this project is no exception. For more innovations, check out this DIY full color 3D printing!

Continue reading “Print In Place Pump Pushes Limits Of Printing”

DIY Pinball Machine Uses Every Skill

Pinball machines have something for everyone. They’re engaging, fast-paced games available in a variety of sizes and difficulties, and legend has it that they can be played even while deaf and blind. Wizardry aside, pinball machines have a lot to offer those of us around here as well, as they’re a complex mix of analog and digital components, games, computers, and artistry. [Daniele Tartaglia] is showing off every one of his skills to build a tabletop pinball machine completely from the ground up.

Continue reading “DIY Pinball Machine Uses Every Skill”

CoreXY 3D Printer Has A Scissor-Lift Z-axis So It Folds Down!

We don’t know about you, but one of the biggest hassles of having a 3D printer at home or in the ‘shop is the space it takes up. Wouldn’t it be useful if you could fold it down? Well, you’re in luck because over on Hackaday.io, that’s precisely what [Malte Schrader] has achieved with their Portable CoreXY 3D printer.

The typical CoreXY design you find in the wild features a moving bed that starts at the top and moves downwards away from the XY gantry as the print progresses. The CoreXY kinematics take care of positioning the hotend in the XY plane with a pair of motors and some cunning pulley drives. Go check this out if you want to read more about that. Anyway, in this case, the bed is fixed to the base with a 3-point kinematic mount (to allow the hot end to be trammed) but is otherwise vertically immobile. That bed is AC-heated, allowing for a much smaller power supply to be fitted and reducing the annoying cooling fan noise that’s all too common with high-power bed heaters.

Both ends of the cable bundle are pivoted so it can fold flat inside the frame!

The XY gantry is mounted at each end on a pair of scissor lift mechanisms, which are belt-driven and geared together from a single stepper motor paired with a reduction gearbox. This hopefully will resolve any issues with X-axis tilting that [Malte] reports from a previous version.

The coarse tramming is handled by the bed mounts, with a hotend-mounted BLTouch further dialling it in and compensating for any bed distortion measured immediately before printing. Simple and effective.

As will be clear from the video below, the folding for storage is a natural consequence of the Z-axis mechanism, which we reckon is pretty elegant and well executed—check out those custom CNC machine Aluminium parts! When the Z-axis is folded flat for storage, the hotend part of the Bowden tube feed is mounted to a pivot, allowing it to fold down as well. They even added a pivot to the other end of the cable bundle / Bowden feed so the whole bundle folds down neatly inside the frame. Nice job!

If you want a little more detail about CoreXY kinematics, check out our handy guide. But what about the H-Bot we hear you ask? Fear not, we’re on it.


Art of 3D printer in the middle of printing a Hackaday Jolly Wrencher logo

OpenSCAD In Living Color

I modified a printer a few years ago to handle multiple filaments, but I will admit it was more or less a stunt. It worked, but it felt like you had to draw mystic symbols on the floor of the lab and dance around the printer, chanting incantations for it to go right. But I recently broke down and bought a color printer. No, probably not the one you think, but one that is pretty similar to the other color machines out there.

Of course, it is easy to grab ready-made models in various colors. It is also easy enough to go into a slicer and “paint” colors, but that’s not always desirable. In particular, I like to design in OpenSCAD, and adding a manual intervention step into an otherwise automatic compile process is inconvenient.

The other approach is to create a separate STL file for each filament color you will print with. Obviously, if your printer can only print four colors, then you will have four or fewer STLs. You import them, assign each one a color, and then, if you like, you can save the whole project as a 3MF or other file that knows how to handle the colors. That process is quick and painless, so the question now becomes how to get OpenSCAD to put out multiple STLs, one for each color.

But… color()

OpenSCAD has a color function, but that just shows you colors on the screen, and doesn’t actually do anything to your printed models. You can fill your screen with color, but the STL file you export will be the same. OpenSCAD is also parametric, so it isn’t that hard to just generate several OpenSCAD files for each part of the assembly. But you do have to make sure everything is referenced to the same origin, which can be tricky.

OpenSCAD Development Version Test

It turns out, the development version of OpenSCAD has experimental support for exporting 3MF files, which would allow me to sidestep the four STLs entirely. However, to make it work, you not only have to run the development version, but you also have to enable lazy unions in the preferences. You might try it, but you might also want to wait until the feature is more stable.

Besides, even with the development version, at least as I tried it, every object in the design will still need its color set in the slicer. The OpenSCAD export makes them separate objects, but doesn’t seem to communicate their color in a way that the slicer expects it. If you have a large number of multi-color parts, that will be a problem. It appears that if you do go this way, you might consider only setting the color on the very top-most objects unless things change as the feature gets more robust.

A Better Way

What I really wanted to do is create one OpenSCAD file that shows the colors I am using on the screen. Then, when I’m ready to generate STL files, I should be able to just pick one color for each color I am using.

Continue reading “OpenSCAD In Living Color”

Removing Infill To Make 3D Printed Parts Much Stronger

When it comes to FDM 3D prints and making them stronger, most of the focus is on the outer walls and factors like their layer adhesion. However, paying some attention to the often-ignored insides of a model can make a lot of difference in its mechanical properties. Inspired by a string of [Tom Stanton] videos, [3DJake] had a poke at making TPU more resilient against breaking when stretched and PLA resistant to snapping when experiencing a lateral force.

Simply twisting the TPU part massively increased the load at which it snapped. Similarly, by removing the infill from the PLA part before replacing it with a hollow cylinder, the test part also became significantly more resilient. A very noticeable result of hollowing out the PLA part: the way that it breaks. A part with infill will basically shatter. But the hollowed-out version remained more intact, rather than ripping apart at the seams. The reason? The hollow cylinder shape is printed to add more walls inside the part. Plus cylinders are naturally more able to distribute loads.

All of this touches on load distribution and designing a component to cope with expected loads in the best way possible. It’s also the reason why finite element analysis is such a big part of the CAD world, and something which we may see more of in the world of consumer 3D printing as well in the future.

Continue reading “Removing Infill To Make 3D Printed Parts Much Stronger”

A New Cartridge For An Old Computer

Although largely recognizable to anyone who had a video game console in the 80s or 90s, cartridges have long since disappeared from the computing world. These squares of plastic with a few ROM modules were a major route to get software for a time, not only for consoles but for PCs as well. Perhaps most famously, the Commodore VIC-20 and Commodore 64 had cartridge slots for both gaming and other software packages. As part of the Chip Hall of Fame created by IEEE Spectrum, [James] found himself building a Commodore cartridge more than three decades after last working in front of one of these computers.

[James] points out that even by the standards of the early 80s the Commodore cartridges were pretty low on specs. They’re limited to 16 kB, which means programming in assembly and doing things like interacting with video hardware directly. Luckily there’s a treasure trove of documentation about the C64 nowadays as well as a number of modern programming tools for them, in contrast to the 80s when tools and documentation were scarce or nonexistent. Hardware these days is cheap as well; the cartridge PCB and other hardware cost only a few dollars, and the case for it can easily be 3D printed.

Burning the software to the $3 ROM chip was straightforward as well with a TL866 programmer, although [James] left a piece of memory management code in the first pass which caused the C64 to lock up. Removing this code and flashing the chip again got the demo up and running though, and it’ll be on display at their travelling “Chips that Changed the World” exhibit. If you find yourself in the opposite situation, though, we’ve also seen projects that cleverly pull the data off of ancient C64 ROM chips for preservation.