PyBot Is A 3D Printed SCARA Arm For The Masses

We’ve all seen videos of blisteringly fast SCARA arms working on assembly lines, and more than a few of us have fantasied about having that same kind of technology for the home shop. Unfortunately, while the prices for things like 3D printers and oscilloscopes have dropped lower than what many would have believed possible a decade ago, high-performance robotics are still too pricey for the home player.

Unless of course, you’re willing to build it yourself. The PyBot designed by [jjRobots] is an open source robotic arm that should be well within the means of the average hardware hacker. One could argue that this is a project made entirely possible by desktop 3D printing; as not only are most of the structural components printed, but most of the mechanical elements are common 3D printer parts. Smooth rods, linear bearings, lead screws, and NEMA 17 motors are all exceptionally cheap these days thanks to the innumerable 3D printer kits that make use of them.

A custom control board keeps the wiring tight.

Those who’ve researched similar projects might notice that the design of this arm has clearly been influenced by the Mostly Printed SCARA (MPSCARA). But while that robot was designed to carry an extruder and act as a 3D printer, [jjRobots] intends for the PyBot to be more of a general purpose platform. By default it features a simple gripper, but that can easily be changed out for whatever tool or gadget you have in mind.

In the base of the arm is a custom control board that combines an Arduino M0, an ESP8266, and a trio of stepper motor drivers. But if you wanted to build your own version from the parts bin, you could certainly wire up all the principle components manually. As the name implies, the PyBot is controlled by Python tools running on the computer, so it should be relatively easy to get this capable arm to do your bidding.

We’ve seen some impressive 3D printed robotic arms over the years, but the simplicity of the PyBot is particularly compelling. This looks like something that you could reasonably assemble and program over a weekend or two, and then put to work in your ad-hoc PPE factory.

Jetson Nano Robot

[Stevej52] likes to build things you can’t buy, and this Jetson Nano robot falls well within that category. Reading the project details, you might think [Stevej52] drinks too much coffee. But we think he is just excited to have successfully pulled off the Herculean task of integrating over a dozen hardware and software modules. Very briefly, he is running Ubuntu and ROS on the PC and Nano. It is all tied together with Python code, and is using Modbus over IP to solve a problem getting joystick data to the Nano. We like it when existing, standard protocols can be used because it frees the designer to focus more on the application. Modbus has been around for 40 years, has widespread support in many languages and platforms.

This is an ongoing project, and we look forward to seeing more updates and especially more video of it in action like the one found below. With the recent release of a price-reduced Jetson Nano, which we covered last week, this might be an excellent project to take on.

Continue reading “Jetson Nano Robot”

Internet Connected E-Paper Message Board

Are you still writing notes on paper and sticking them to the fridge like it’s the ’80s? Well, if you are, and you read this site, you’d probably like to upgrade to something a bit more 21st century. And, thanks to robot maker [James Bruton], you can leave your old, last century, message taking behind as he has a tutorial up showing you how to build an internet connected e-paper message display board. And, if you have a Raspberry Pi, an e-paper display and adapters just lying around doing nothing, then this project will cost you less than the buck that paper and a magnet will cost you.

Sarcasm aside, this is a pretty nice project. As mentioned, the base of this is a Raspberry Pi – [James] uses a Pi 4, but you could get away with an older, lower powered model as well. This powers the cheap(-ish) e-paper display he found online, which comes with the necessary adapters for the Pi, as well as a python library to write to the display. [James] uses a Google Sheet as the cloud storage for the message board, and there is some python code to access the cells in the Sheet and print them on the display if anything has changed. A cron job runs the script every 5 minutes to catch changes in the messages.

As with most of the projects that [James] does, he gives a good overview in the video and goes over the process of finding the hardware and writing and updating the script. He’s put the script and details as well as the CAD file for the frame he created for the project up on GitHub. [James] has been featured several times on the site before, check out some of his projects.

Continue reading “Internet Connected E-Paper Message Board”

Parsing Math In Python

Programming computers used to be harder. Don’t get us wrong — today, people tend to solve harder problems with computers, but the fundamental act of programming is easier. We have high-level languages, toolkits, and even help from our operating systems. Most people never have to figure out how to directly read from a disk drive, deblock the data into records, and perform multiplication using nothing but shifts and adds. While that’s a good thing, sometimes it is good to study the basics. That was [gnebehay’s] thought when his university studies were too high level, so he decided to write an arithmetic expression parser in Python. It came out in about 100 lines of code.

Interpreting math expressions is one of those things that seems simple until you get into it. The first problem is correctly lexing the input — a term that means splitting into tokens. For a human, it seems simple that 5-3 is three tokens, {5, -, and 3} and that’s easy to figure out. But what about 5+-3? That’s also three tokens: {5,+,-3}. Tricky.

Continue reading “Parsing Math In Python”

Comparing Shortwave Antennas With RTL-SDR And Python

Measuring the performance of antennas in absolute terms that can involve a lot of expensive equipment and specialized facilities. For practical applications, especially when building antennas, comparing performance in relative terms is more practical. Using cheap RTL-SDR dongles and Python, [Eric Urban] was able to compare the performance of two shortwave/HF antennas, and documented the entire process.

The two antennas in question was a single band inverted-L and smaller broadband T3FD antenna. [Eric] first gathered performance data for each over few days, connected to separate PCs with RTL-SDRs via low-pass filters. These were set up to receive FT8 transmissions, a popular digital ham radio mode, which allowed [Eric] to automate data collection completely. GQRX, a software receiver, converted the signals to audio, which was then piped into WSJT-X for demodulation.

Data for each received FT8 transmission was recorded to a log file. [Eric] also modified GQRX and WSJT-X to give him all the remote control features he needed to automatically change frequencies. Between the two antenna setups, more than 100,000 FT8 transmissions were logged. Using the recorded data and Python he compared the number of received transmissions, the distance, and the heading to the transmitters, using the location information included in many FT8 transmissions. Where the same transmission was received by both antennas, the signal-to-noise ratios was compared.

From all this data, [Eric] was able to learn that the inverted-L antenna performed better than the T3FD antenna on three of the four frequency bands that were tested. He also discovered that the inverted-L appeared to be “deaf” in one particular direction. Although the tests weren’t perfect, it is impressive how much practical data [Eric] was able to gather with low-cost hardware. Continue reading “Comparing Shortwave Antennas With RTL-SDR And Python”

The Hurricanes Are Coming

It’s hurricane season in the northern hemisphere right now, and plenty of news and weather organizations remain dedicated to alerting people if a storm is about to impact their area. There’s no shortage of ways to receive this information, either. We all have our favorite weather app or forecasting site, and there are emergency alerts to cell phones, TV, and radio stations as well. If none of that suits you, though, you can also roll out your own weather alert readerboard.

[Damaged Dolphin] built a weather alert readerboard using a Raspberry Pi and a 64×128 LED matrix. The Raspberry Pi runs Raspbian and uses a HAT from Adafruit, and once connected to the internet pulls down weather information for a specific area using custom python code. From there it can display any emergency weather alerts instantly on the readerboard screen including alerts for hurricanes. It does rely on data from the National Weather Service though, so if that is not available in your area some modifications will need to be made to the code.

While he notes that you probably shouldn’t rely on his non-professional python code exclusively when getting weather information, it would still be a good way of retrieving information about weather events without having to refresh a browser all the time. Once the storms have passed though, be sure you’re prepared for the days following.

Thanks to [b00tfa|l] for the tip!

Continue reading “The Hurricanes Are Coming”

Busting GPS Exercise Data Out Of Its Garmin-controlled IoT Prison

If you take to the outdoors for your exercise, rather than walking the Sisyphusian stair machine, it’s nice to grab some GPS-packed electronics to quantify your workout. [Bunnie Huang] enjoys paddling the outrigger canoe through the Singapore Strait and recently figured out how to unpack and visualize GPS data from his own Garmin watch.

By now you’ve likely heard that Garmin’s systems were down due to a ransomware attack last Thursday, July 23rd. On the one hand, it’s a minor inconvenience to not be able to see your workout visualized because of the system outage. On the other hand, the services have a lot of your personal data: dates, locations, and biometrics like heart rate. [Bunnie] looked around to see if he could unpack the data stored on his Garmin watch without pledging his privacy to computers in the sky.

Obviously this isn’t [Bunnie’s] first rodeo, but in the end you don’t need to be a 1337 haxor to pull this one off. An Open Source program called GPSBabel lets you convert proprietary data formats from a hundred or so different GPS receivers into .GPX files that are then easy to work with. From there he whipped up less than 200 lines of Python to plot the GPS data on a map and display it as a webpage. The key libraries at work here are Folium which provides the pretty browsable map data, and Matplotlib to plot the data.

These IoT devices are by all accounts amazing, listening for satellite pings to show us how far and how fast we’ve gone on web-based interfaces that are sharable, searchable, and any number of other good things ending in “able”. But the flip side is that you may not be the only person seeing the data. Two years ago Strava exposed military locations because of an opt-out policy for public data sharing of exercise trackers. Now Garmin says they don’t have any indications that data was stolen in the ransomware attack, but it’s not a stretch to think there was a potential there for such a data breach. It’s nice to see there are Open Source options for those who want access to exercise analytics and visualizations without being required to first hand over the data.