Sometimes we manage to miss projects when they first appear, only to have the joy of discovering them a while later. So it is with [John Opsahl]’s Project Convert To Paint, a CNC painting ‘bot that takes a bitmap image and paints it on canvas as a fine artist would, with a real brush, and paints.
It was first created for the 2017 robotart.org competition, and takes the form of a fairly standard CNC gantry machine. It departs from the norm in its chuck however, as it has what is described as a universal artist chuck, capable of holding a variety of artistic implements. The images are converted from bitmap to vector format, and thence to gcode with the help of a bit of custom Python code.
He’s at pains to say that simply because an image can be converted to a paintable format does not mean that it will produce a good picture. But some of the results are rather impressive, delivering anything from a pointilist effect to a broader brush stroke. We can see that with a bit of experience in the processing it would be possible to create a veritable gallery of masterpieces.
Elliot Williams and Mike Szczys wish Hackaday a happy fifteenth birthday! We also jump into a few vulns found (and fixed… ish) in the WiFi stack of ESP32/ESP8266 chips, try to get to the bottom of improved search for 3D printable CAD models, and drool over some really cool RC cars that add realism to head-to-head online racing. We look at the machining masterpiece that is a really huge SCARA arm drawbot, ask why Hydrogen cars haven’t been seeing the kind of sunlight that fully electric vehicles do, and give a big nod of approval to a guide on building your own custom USB cables.
Take a look at the links below if you want to follow along, and as always tell us what you think about this episode in the comments!
Take a look at the links below if you want to follow along, and as always, tell us what you think about this episode in the comments!
It’s not uncommon to find us doodling on paper as an aid to thinking, for recreation, or simply because we’re bored. But, this kind of manual labor is so last century. It’s 2019, and we should have robots to fill our notebooks with cross-hatched illustrations. Well, [Alex Weber] is way ahead of us on this account: the outstanding SCARA drawbot he created can be unleashed to draw all manner of things at his command.
The robot, named Mechpen, and pronounced “McPen”, is of a SCARA (Selective Compliance Assembly Robot Arm) design, with two parallel axes controlling the x-y movement of the arm. Robot design is always a series of trade-offs; in this case, [Alex] has sacrificed some accuracy to achieve a long reach. Two NEMA 23 stepper motors reside in the base, along with all the electronics. This makes the base a heavy 15 kg, which is good as it helps stabilize the arm during movement. The arm uses a mix of off-the-shelf and custom hardware, most of which is dotted with holes drilled to reduce the mass of the moving parts. Two 700 mm sections of the arm made from carbon fiber tubes give the drawbot a 140 cm reach — long enough to fill an A0 paper with its beautiful mechanical doodling.
The brains behind the arm are two-tiered. An Einsy RAMBo board, designed for 3D printers, controls the stepper motors. Above that, a Raspberry Pi runs Octoprint to control the ‘bot. This choice turned out to be very convenient for working around a mechanical issue: the elbow flexes too far in the Z-axis. The difference in pen height between the elbow at 90 vs 180 degrees was 20-25 mm; too much to fix with just a spring-loaded pen. The solution: use a bed-leveling algorithm designed for 3D printers. A VL6180X distance sensor measures the distance to the paper over a number of grid points, then the software moves the servo up and down accordingly while drawing to keep the pen on the paper.
Some custom-written software converts SVG graphic files to gcode suitable for printing, allows selection of different stroke and fill types, and separation of different colors into individual gcode files to be plotted with different pens.
Definitely check out the video of Mechpen in action, after the break.
The patience and precision involved with drawing geometric patterns in sand is right up a robot’s alley, and demonstrating this is [rob dobson]’s SandBot, a robot that draws patterns thanks to an arm with a magnetically coupled ball.
SandBot is not a cartesian XY design. An XY frame would need to be at least as big as the sand table itself, but a SCARA arm can be much more compact. Sandbot also makes heavy use of 3D printing and laser-cut acrylic pieces, with no need of an external frame.
[rob]’s writeup is chock full of excellent detail and illustrations, and makes an excellent read. His previous SandBot design is also worth checking out, as it contains all kinds of practical details like what size of ball bearing is best for drawing in fine sand (between 15 and 20 mm diameter, it turns out. Too small and motion is jerky as the ball catches on sand grains, and too large and there is noticeable lag in movement.) Design files for the SCARA SandBot are on GitHub but [rob] has handy links to everything in his writeup for easy reference.
Sand and robots (or any moving parts) aren’t exactly a natural combination, but that hasn’t stopped anyone. We’ve seen Clearwalker stride along the beach, and the Sand Drawing Robot lowers an appendage to carve out messages in the sand while rolling along.
There’s something about art. Cavemen drew on walls. People keep programming drawing robots. One we’ve seen recently is [Andy’s] Drawbot that uses WiFi and WebSockets to draw on just about any flat surface. What’s more, the Johnson County Library has a great write-up about how they built one and if you want a go at it, you’ll find their instructions very helpful. The video below is pretty inspirational, too.
What makes this build especially interesting is that it uses a drive system with two fixed points attached with suction cups. There are a variety of 3D printed parts — some just for the build and some are older parts repurposed.
Badges come in all shapes and sizes, but a badge that draws on a stack of Post-It notes is definitely a new one. The design uses three of the smallest, cheapest hobby servos reasonably available and has a drawing quality that creator [Bart Dring] describes as “adorably wiggly”. It all started when he decided that the CNC and mechanical design world needed to be better represented in the grassroots demo scene that is the badge world, and a small drawing machine that could be cheaply made from readily available components seemed just the ticket.
Two arms control the position of a pen, and a third motor lifts the assembly in order to raise or lower the pen to the drawing surface. Gravity does most of the work for pen pressure, so the badge needs to be hanging on a lanyard or on a tabletop in order to work. An ESP32 using [Bart]’s own port of Grbl does the work of motion control, and a small stack of Post-It notes serves as a writing surface. Without the 3D printed parts, [Bart] says the bill of materials clocks in somewhere under $12.
We’ve seen similar designs doing things like writing out the time with a UV LED, but a compact DrawBot on a badge is definitely a new twist and the fact that it creates a physical drawing that can be peeled off the stack also sets it apart from others in the badgelife scene.
Instructables user [lingib] made a clever and inexpensive pen arm plotter that uses plastic rulers for arms. An inspiring sight for anyone without a bunch of robot parts lying around,
The electronics are straightforward, with an Arduino UNO and a pair of Easy Drivers to control NEMA17 stepper motors connected to robot wheels, which serve as hubs for the rulers. At the end of the arms, an SG90 micro servo raises and lowers the pen as commanded, shoving the whole pen assembly off the paper with its horn—an elegant solution to an age-old drawbot problem. He even wrote wrote a custom Processing program that allows him to control the plotter from his desktop
[lingib]’s experimented with different kinds of drawing machines, including a drum plotter (video after the break), a V-plotter, as well as a rolling drawbot.