Need A Serial Data Plotter? Better Write Your Own

When you’re working with a development team, especially in a supporting capacity, you can often find yourself having to invent tools and support systems that are fairly involved, but don’t add to the system’s functionality. Still, without them, it’d be a dead duck. [Aidan Chandra] was clearly in a similar situation, working with a bunch of postgrads at Stanford, on an exoskeleton project, and needed an accurate data plotter to watch measurements in real-time.

This particular problem has been solved many times over, but [Aidan] laments that many solutions available seem to be too complex, hard to extend, or just have broken dependencies. This happens a lot, and it simply leads to yet another project to get going, before you can do the real work it supports. Based on Python and PyQT5, serial-plotter is a new beginning, with an emphasis on correct data acquisition and real-time data visualization with a little processing thrown in. Think, acquire data, show the raw values as well as the mean value, and RMS noise all on the same windows side-by-side, all of which is easily tweakable with a bit of programming using Numpy and Matplotlib.

One particularly important point to highlight is that of the handling of time-stamping. [Aidan] needed to ensure samples were logged together with a local MCU timestamp so that when displayed and possibly later post-processed, it was possible to accurately determine when a particular value or event occurred. With the amount of buffering, data loss and multiple-thread shenanigans, it is easy to forget that the data might get to the application in a non-deterministic way, and just relying on local CPU time is not so useful.

If you need to visualize data transported over the serial port, we have seen many projects to help. Like the highly configurable Serial Studio, for one. If your needs are a bit more complex, especially with multiple data transport methods, then a Supercon 2022 talk by [Alex Whittemore] might be a jolly good place to start.

CoreXY On The Pi Pico

There are enough off-the-shelf CoreXY mechanisms out there that for the cost of an AliExpress order it’s possible to quickly and cheaply make yourself a plotter. But [Koushani Das], [Mahathi Andavolu] and [Dengyu Tu] are completing their project for Cornell University’s ECE 5730 course, so of course they have designed one from the ground up. Happily for us it seems to be fairly easy to replicate, so you can build one too if it takes your fancy.

The write-up makes for an interesting dive into the nitty-gritty of design, for which we hope they managed to secure a decent grade. The hardware itself seems pretty straightforward as does the pair of stepper controllers and RP2040 they use to run the thing, and their explanation of the math behind the CoreXY coordinate system is genuinely interesting for those of us who’ve never taken the time to consider it.

All the good stuff can be found in a GitHub repository if you’d like to take this further, and meanwhile they’ve also put up a demo video which you can see below the break. We like this little plotter, and we hope others will take its design and run with it.

Want more CoreXY explanation? We’re happy to oblige.

Continue reading “CoreXY On The Pi Pico”

Lessons Learned While Building A DIY Pen Plotter

There was a time when plotters were the pinnacle of computer graphics output. While they aren’t as common as they used to be, there are some advantages to having a plotter. [Symon] wanted a plotter and decided to make one from scratch. Truthfully, he wants to build a CNC machine, so the plotter is just a stepping stone. In fact, some of it may be a little much for just a plotter. Other design choices have worked for the plotter, but don’t look like they will work well for the eventual CNC design.

As an example, the plotter uses 2020 extrusions and lead screws. An Arduino with a CNC shield provides the brains. GRBL, of course, runs on the Arduino, so the whole machine runs fine with normal G-code. This post will be especially interesting if you want to build a plotter or something similar. We especially like that it covers the design rationale for each choice made It is great to learn from others successes and, of course, their mistakes.

If you really want just a plotter, you don’t have to spend much. You can even go super minimal if you want.

Pen Plotter Uses Polar Coordinates

To keep track of a location in a two-dimensional space, two measurements are needed. Most of the time, we would naturally think to do this by the Cartesian method, measuring position along one axis and then again along a second axis. But this isn’t the only way of keeping track of position. Polar coordinates, where the distance from the origin and an angle are used as the two measurements, works just as well, and sometimes can be a preferred method. This pen plotter tosses the expected Cartesian methodology we would typically expect in favor of this polar system.

The first prototype that [André] built was a good proof of concept. A pen attached to a movable carriage on a single rotating arm produced passable drawings, but as all prototypes go this one needed some refinement. Limit switches at the ends of the table, as well as within the arm, served to orient the plotter so that it didn’t manually need to be zeroed out every time. A linear actuator was added to give finer control over the pen’s pressure on the table, and finally an encoder was added to the base of the plotter to more accurately correct positional errors in the rotating arm mechanism.

With everything said and done, the polar coordinate plotter seems to work just as well as its Cartesian cousins might, orienting it like this has some advantages as well. Specifically, it is more adapted to drawing curves or circles than an X-Y device might be able to, like we saw with this similar sand-drawing plotter. Also, if allowed to rotate its entire 360-degree reach instead of just the 90 degrees shown in the video, a machine like this could theoretically reach a wider workspace more easily than other plotters.

Continue reading “Pen Plotter Uses Polar Coordinates”

Modern Demo For A Casio PB-700 Pocket Computer Plotter

[Fred] has a Casio PB-700 pocket calculator / computer, complete with the companion docking station featuring a four-color pen plotter, model FA-10, and a microcassette tape recorder, model CM-1. He really wanted to see what this plotter could do, but there were no demos that he could find. So despite only having one working pen, [Fred] took matters into his own hands and proceeded to make his own.

What if I made a program where I type what I want to draw and the PB-700 just draws it?

Penguin from Penguindrum eating Popcorn

[Fred] succeeds, shoehorning several sub-projects into a single convoluted work flow: request an image from the PB-700 and after a long pause the plot emerges. The cute microcassette recorder is too much of a hassle, so he emulates the audio interface on a PC using a utility called casutil that reads and writes .wav files in PB-700 format. Much of his effort is spent figuring out how to request an image from Midjourney without being banned, but eventually comes up with a workable but shaky solution. The last steps are to convert the image into a line drawing, and then wrap up all those X-Y coordinates into a Basic program and send it back down to the PB-700 for plotting.

You can read more details in the PloTTY GitHub repository. There were several of these pocket computers with plotters coming out of Japan in the 1980s. In addition to this Casio, the Radio Shack TRS-80 PC-1 and PC-2 come to mind, which were re-branded versions of the Sharp PC-1211 and PC-1500 models. We wrote about them last year. This author had a PC-2 in 1985 and used it to plot antenna patterns at his desk, bypassing the IT department’s red tape. Have you ever used any of these pocket plotters? If so, let us know in the comments below. Thanks to [Altomare] for send us the tip.

Sand Drawing Plotter Runs On ESP32

Humans have always drawn lines in the sand, whether it’s to communicate a plan of attack or to indicate metaphorically a very real boundary. It’s also something we do just for the aesthetic pleasure, and this plotter from [aidenvigue] is great at performing in just that role.

The plotter traces patterns in the circular sand tray by dragging a small marble with a magnet. This is achieved with a pair of NEMA 17 stepper motors, set up in a polar coordinate fashion. One stepper motor controls the angle, while another motor controls the marble’s distance from the center point of the circle. It’s a simple way to build a circular plotter, and works far better than a Cartesian setup would for this geometry. The build uses an ESP32 as the brains of the operation. It hosts a web interface that allows various patterns to be selected and run on the device. It also runs a set of addressable SK6812 LEDs that light the sand rather nicely.

We’ve seen some great sand plotters before, and have always been particular fans of the larger variety. Video after the break.

Continue reading “Sand Drawing Plotter Runs On ESP32”

Irreproducible, Accumulative Hacks

Last weekend, I made an incredibly accurate CNC pen-plotter bot in just 20 minutes, for a total expenditure of $0. How did I pull this off? Hacks accumulate.

In particular, the main ingredients were a CNC router, some 3D-printed mounts that I’d designed and built for it, and a sweet used linear rail that I picked up on eBay as part of a set a few years back because it was just too good of a deal. If you had to replicate this build exactly, it would probably take a month or two of labor and cost maybe $2,000 on top of that. Heck, just tuning up the Chinese 6040 CNC machine alone took me four good weekends and involved replacing the stepper motors. Continue reading “Irreproducible, Accumulative Hacks”