Adding Remote Control To The Elegoo Mars Pro

Recent price drops put entry level masked stereolithography (MSLA) resin 3D printers at around $200 USD, making them a very compelling tool for makers and hackers. But as you might expect, getting the price this low often involves cutting several corners. One of the ways manufacturers have made their machines so cheap is by simplifying the electronics and paring down the feature set to the absolute minimum.

So it was hardly a surprise for [Luiz Ribeiro] to find that his new Elegoo Mars Pro didn’t offer WiFi connectivity or a remote control interface. You’re supposed to just stick a USB flash drive into the printer and select the object you want to print from its menu system. But that doesn’t mean he couldn’t hack the capability in himself.

Monitoring a print with Mariner.

If this were a traditional 3D printer, he might have installed OctoPrint and been done with it. But resin printers are a very different beast. In the end, [Luiz] had to develop his own remote control software that worked around the unique limitations of the printer’s electronics. His software runs on a Raspberry Pi Zero and uses Linux’s “USB Gadget” system to make it appear as a flash drive when plugged into the USB port on the Elegoo Mars Pro.

This allows sending object files to the printer over the network, but there was a missing piece to the puzzle. [Luiz] still needed to manually go over to the printer and select which file he wanted to load from the menu. Until he realized there was an exposed serial port on control board that allowed him to pass commands to the printer. Between the serial connection and faux USB Mass Storage device, his mariner software has full control over the Mars Pro and is able to trigger and monitor print jobs remotely.

It might not offer quite the flexibility of adding OctoPrint to your FDM 3D printer, but it’s certainly a start.

ESP8266 Does RC Without The Transmitter

While the cost of a hobby-grade remote control transmitter has dropped significantly over the last decade or so, even the basic models are still relatively expensive. It’s not such a big deal if you only need to get one for personal use, but for a school to outfit a classroom’s worth of students their own radios, they’d need to have a serious STEM budget.

Which is why [Miharix], himself an educator with a decade of experience, developed a project that leverages the ESP8266 to create affordable RC vehicles that can be controlled with a smartphone’s web browser. There’s a bit of irony at play since the smartphones are more expensive than the RC transmitters would have been; but with more and more school-age kids having their own mobile devices, it takes the cost burden off of the educators. Depending on the age of the students, the teacher would only need to keep a couple of burner phones on hand for student that doesn’t have a device of their own.

A custom PCB makes connections easier for students.

In its fully realized form, the project uses an open hardware board that allows standard RC hobby servos to be connected to the GPIO pins of a ESP-12E module. But if you don’t want to go through the trouble of building the custom hardware, you could put something similar together with an ESP development board. From there it’s just a matter of installing the firmware, which starts up a server providing a touch-based controller interface that’s perfect for a smartphone’s screen.

Since the ESP8266 pops up as an Access Point that client devices can connect to, you don’t even need to have an existing network in place. Or Internet access, for that matter. [Miharix] says that in tests, the range between a common smartphone and the ESP8266 is approximately 85 meters (260 feet), which should be more than enough to get the job done.

In the videos after the break you can see this system being used with an RC car and boat, though the only limit to what you could control with this project is your own imagination.

Continue reading “ESP8266 Does RC Without The Transmitter”

PyGame Celebrates 20 Years By Releasing PyGame 2.0

Python is an absolutely fantastic language for tossing bits of data around and gluing different software components together. But eventually you may find yourself looking to make a program with an output a bit more advanced than the print() statement. Once you’ve crossed into the land of graphical Python programming, you’ll quickly find that the PyGame library is often recommended as a great way to start pushing pixels even if you’re not strictly making a game.

Today, the project is celebrating an incredible milestone: 20 years of helping Python developers turn their ideas into reality. Started by [Pete Shinners] in 2000 as a way to interface with Simple DirectMedia Layer (SDL), the project was quickly picked up by the community and morphed into a portable 2D/3D graphics library that lets developers deploy their code on everything from Android phones to desktop computers.

Things haven’t always gone smoothly for the open source library, and for awhile development had stalled out. But the current team has been making great progress, and decided today’s anniversary was the perfect time to officially roll out PyGame 2.0. With more than 3,300 changes committed since the team started working on their 2.0 branch in July of 2018, it’s a bit tough to summarize what’s new. Suffice to say, the library is more capable than ever and is ready to tackle everything from simple 2D art up to 4K GPU-accelerated applications.

Rip and tear in PyGame 2.0

If you haven’t given PyGame a try in awhile, don’t worry. The team has put special effort into making the library as backwards compatible as possible, so if you’ve got an old project kicking around that you haven’t touched in a decade, it should still run against the latest and greatest version. If you’ve never used it before, the team says they’ll soon be releasing new tutorials that show you how to get the most out of this new release.

Whether you’re putting together your own implementation of Conway’s “Game of Life” or creating the graphical front-end for your own Linux distribution, PyGame is a powerful tool to have in your collection. Our sincere congratulations to all PyGame developers, past and present, for making it to this auspicious occasion. We can’t wait to see what the next decade will bring.

[Thanks to deshipu for the tip.]

Making A 3D Printed DSLR Camera Mount Even Better

We’d love to say that all of our projects worked perfectly on the first try, but the average Hackaday reader is a bit too experienced to buy a fib like that. The reality is, DIY projects rarely get everything right out of the gate. It takes some time to identify issues and work out all the kinks. But of course, that’s half the fun.

For a perfect example of this process, check out the latest update on the 3D printed DSLR camera mount that [isaac879] has been working on. When we last checked in with this project over the summer the mount was already impressive, but with the latest improvements and the addition of a whole new axis of movement, this homebrew camera motion system is an extremely compelling project for anyone who wants to take their project videos to the next level.

The new Hall effect sensor mounts are a very nice touch.

Back in June, the mount [isaac879] showed off was only capable of pan and tilt. But as you can see in the video after the break, he’s since mounted that to a track made of 20×40 aluminum extrusion and added another stepper motor. This allows the pan/tilt mount to move itself back and forth on the track to get those slick panning shots that all the cool kids use in their videos nowadays.

But even if you’re not interested in the slider aspect, the core pan/tilt mount has also received a number of refinements over the last few months. Perhaps the most obvious is the switch over to thinner and lighter stepper motors. Reducing mass is always an improvement with a moving system like this, and in the case of the pan motor, the shorter can prevents a potential collision with the camera itself. Obviously the smaller motors are weaker, but [isaac879] considers that a feature; the mini motors will just start skipping steps if things get bound up instead of potentially damaging your expensive camera.

He’s switched to flange bearings to help hold the frame together, improved wire routing, added a mounting point for the electronics, reprinted the pinion gears in a flexible filament to help absorb some vibrations, and switched over to TMC2208 stepper drivers. The new drivers may actually be one of the biggest usability upgrades, as they allow the entire mount to move faster and more accurately. Critically, [isaac879] also reports the new drivers have solved a troublesome vibration issue he was seeing when the camera was moving slowly.

Obviously you can throw together a simple pan and tilt mount with a couple of servos and some zip ties if you only need to use it once or twice, but a project of this caliber would rightfully become a permanent fixture in your workspace. Perfect if you’re looking to up your project photography game.

Continue reading “Making A 3D Printed DSLR Camera Mount Even Better”

Replace Your IR Remote With A Web Browser

While more and more consumer products are rushing to include WiFi and Bluetooth connectivity, the simplicity and reliability of infrared has kept it in the game in the game far longer than many might have thought. Despite being thinner and sleeker, the IR remote control that comes with your brand new smart TV isn’t fundamentally different than what we were using in the 1980s.

But that doesn’t mean IR devices can’t enjoy some modern conveniences. Sick of misplacing his remote, [Sasa Karanovic] decided to come up with a way he could emulate it to control his TV over the network. Now with nothing more exotic than a web browser on his phone or computer, he can tap away at a visual representation of a remote to control the TV from anywhere in the house. As you might expect, this project could readily be adapted to control whatever IR gadget you might have in mind.

Assembling a simple IR transmitter dongle.

Admittedly, this isn’t exactly breaking any new ground. We’ve seen plenty of people come up with similar IR gateways in the past with varying levels of complexity. But what we really like about this project is that not only has [Sasa] shared the source code that turns an ESP32 into a network-controlled IR transmitter, but he’s put together a concise video that demonstrates how easy it is so spin up your own version. The 3D printed enclosure that looks like a traditional IR remote was a nice touch too.

The hardware for this project is little more than an ESP32 development board and an LED, but if you’re looking for something a bit more built for purpose, we recently saw a very slick open hardware IR gateway that might fit your needs.

Continue reading “Replace Your IR Remote With A Web Browser”

Bringing High Temperature 3D Printing To The Masses

Despite the impressive variety of thermoplastics that can be printed on consumer-level desktop 3D printers, the most commonly used filament is polylactic acid (PLA). That’s because it’s not only the cheapest material available, but also the easiest to work with. PLA can be extruded at temperatures as low as 180 °C, and it’s possible to get good results even without a heated bed. The downside is that objects printed in PLA tend to be somewhat brittle and have a low heat tolerance. It’s a fine plastic for prototyping and light duty projects, but it won’t take long for many users to outgrow its capabilities.

The next step up is usually polyethylene terephthalate glycol (PETG). This material isn’t much more difficult to work with than PLA, but is more durable, can handle higher temperatures, and in general is better suited for mechanical parts. If you need greater durability or higher heat tolerance than PETG offers, you could move on to something like acrylonitrile butadiene styrene (ABS), polycarbonate (PC), or nylon. But this is where things start to get tricky. Not only are the extrusion temperatures of these materials greater than 250 °C, but an enclosed print chamber is generally recommended for best results. That puts them on the upper end of what the hobbyist community is generally capable of working with.

Industrial 3D printers like the Apium P220 start at $30,000.

But high-end industrial 3D printers can use even stronger plastics such as polyetherimide (PEI) or members of the polyaryletherketone family (PAEK, PEEK, PEKK). Parts made from these materials are especially desirable for aerospace applications, as they can replace metal components while being substantially lighter.

These plastics must be extruded at temperatures approaching 400 °C, and a sealed build chamber kept at >100 °C for the duration of the print is an absolute necessity. The purchase price for a commercial printer with these capabilities is in the tens of thousands even on the low end, with some models priced well into the six figure range.

Of course there was a time, not quite so long ago, where the same could have been said of 3D printers in general. Machines that were once the sole domain of exceptionally well funded R&D labs now sit on the workbenches of hackers and makers all over the world. While it’s hard to say if we’ll see the same race to the bottom for high temperature 3D printers, the first steps towards democratizing the technology are already being made.

Continue reading “Bringing High Temperature 3D Printing To The Masses”

Community Rallies Behind Youtube-dl After DMCA Takedown

At this point, you’ve likely heard that the GitHub repository for youtube-dl was recently removed in response to a DMCA takedown notice filed by the Recording Industry Association of America (RIAA). As the name implies, this popular Python program allowed users to produce local copies of audio and video that had been uploaded to YouTube and other content hosting sites. It’s a critical tool for digital archivists, people with slow or unreliable Internet connections, and more than a few Hackaday writers.

It will probably come as no surprise to hear that the DMCA takedown and subsequent removal of the youtube-dl repository has utterly failed to contain the spread of the program. In fact, you could easily argue that it’s done the opposite. The developers could never have afforded the amount of publicity the project is currently enjoying, and as the code is licensed as public domain, users are free to share it however they see fit. This is one genie that absolutely won’t be going back into its bottle.

In true hacker spirit, we’ve started to see some rather inventive ways of spreading the outlawed tool. A Twitter user by the name of [GalacticFurball] came up with a way to convert the program into a pair of densely packed rainbow images that can be shared online. After downloading the PNG files, a command-line ImageMagick incantation turns the images into a compressed tarball of the source code. A similar trick was one of the ways used to distribute the DeCSS DVD decryption code back in 2000; though unfortunately, we doubt anyone is going to get the ~14,000 lines of Python code that makes up youtube-dl printed up on any t-shirts.

Screenshot of the Tweet sharing YouTube-dl repository as two images

It’s worth noting that GitHub has officially distanced themselves from the RIAA’s position. The company was forced to remove the repo when they received the DMCA takedown notice, but CEO Nat Friedman dropped into the project’s IRC channel with a promise that efforts were being made to rectify the situation as quickly as possible. In a recent interview with TorrentFreak, Friedman said the removal of youtube-dl from GitHub was at odds with the company’s own internal archival efforts and financial support for the Internet Archive.

But as it turns out, some changes will be necessary before the repository can be brought back online. While there’s certainly some debate to be had about the overall validity of the RIAA’s claim, it isn’t completely without merit. As pointed out in the DMCA notice, the project made use of several automated tests that ran the code against copyrighted works from artists such as Taylor Swift and Justin Timberlake. While these were admittedly very poor choices to use as official test cases, the RIAA’s assertion that the entire project exists solely to download copyrighted music has no basis in reality.

[Ed Note: This is only about GitHub. You can still get the code directly from the source.]