Showing posts from 2019

A simple plan

One of the things I did not like about a new printer was that the belt that moved the carriage was not laying parallel to the axis of motion (left) but at an angle, as shown in the picture below (right):

Such a belt path is not right as for each inch of motion in the axis a slightly different amount of belt is moved (the hypotenuse of a triangle instead of its long side). Most of the time, the angle is so small the difference is tiny. That is why the arrangement works and printers are printing even though they have this ugly hack.

The problem is worse when the carriage is close to any of the two ends, as then one of the angles is not so small and that creates a bigger error. But the question is: how big the error can be?

Well, it took me a good part of a weekend to figure that out, among other things because wxMaxima does not like to calculate the intersection of two circles easily.

So the first thing I needed was to model the anomalous belt path in a geometric model I could calculate…

Anycubic Chiron 3D printer

Some of my ongoing projects required a larger 3D printer and I saw a good deal on a printer that had good reviews (except for its weird bed leveling system) so I bought one off Anycubic's Aliexpress shop shipped from Germany. I got in in less than a week and putting it together took me a bit more than one hour.

It is basically two parts, shipped flat, that you place at a square angle to make a Prusa i3 like configuration.

The printer comes with all the tools you need, including the wire cutter to use to remove the zip ties that keep the bed from moving while in transit.

The 400x400 mm bed features glass on top with a special texture that does what it promises: good adhesion while hot and easy release of parts when cold.

These two brackets will reinforce the vertical axis beams fixed to the horizontal extrusions.

Once built, the manual called for a manual or automatic bed leveling. That I did not like as it seems the user has to decide which one is best. Something most may not be r…

Drawing from Inskcape using Bluetooth connection

Some time ago I developed 4xiDraw, a 2D drawing machine using a single belt, a 3D printable clone of AxiDraw(tm) pen plotter. Instead of the EBB board they used, I opted for an Arduino-based solution, with a CNC shield and regular Pololu-like stepper motor drivers.

Initially, I started using various Inkscape plug-ins that will convert the drawing into a G-code file. Once the G-code was created, I would use the UniversalGcodeSender program to stream it to the drawing machine. That worked ok, both wired and wirelessly (using Bluetooth).

But later, a kind user named Torsten Martinsen migrated the existing AxiDraw plug-in to the 4xiDraw hardware controller. This way, plotting happened right inside Inkscape program without the need to messing with external files or other additional software. Very cool indeed!

I left the project living its own life, with a lot of users creating their own version of it and doing all kinds of interesting hacks, till I received an awkward request from a fellow…

Using Pynq with your Zynq

I recently attended a one-day tutorial about Pynq by Xilinx. While it was on planet Earth I was not familiar with some of these names that sounded alien to me. But I was decided to get some update about the new FPGA offerings by Xilinx company.

I am glad I did as I discovered a wide range of technologies I know nothing about that I reckon can be pretty useful. Unfortunately, becoming an expert on any of them will most likely require many hours of training.

But I can share with you some of what I learned: Pynq is an open-source project by Xilinx to make it easier to use the programmable logic included in some of their SoCs. And that brings us to the second name I have never heard about: Zynq-7000 is a system-on-a-chip (SoC) by Xilinx that bundles an ARM microcontroller with a large FPGA.  In a nutshell, Pynq is a small Linux distribution that runs on a Zynq SoC with access to all the power of the embedded FPGA.

But I guess the question here is what this can be useful for. Right now the…

How to shutdown your interactive Art

If you build a piece of interactive Art with an Arduino, there is not much harm you can cause it by
just powering it down anytime. But when you use a computer, either a PC or a Raspberry Pi, bad things may happen if you just switch off the mains power unannounced.

A common occurrence is that you are asked by the museum or exhibit managers for instructions on how to properly switch off your interactive Art installation. Experience shows us that the more difficult it is, the more likely one day will be done improperly. And I really hate when a piece that took a lot of effort to create goes to waste because of a problem triggered by a "rough" shutdown. 
So one idea that has worked for us is to set up our system as a wireless access point. The person in charge of shutting the system down will use her phone to connect to our wireless network using a password we provided. Once connected just visiting a specific address and port number will cause the shutdown (first time they will…

RPi3+ blues

I have been working a few days improving an existing project based on a Raspberry Pi. It is a art piece with a vertical plotter that draws lines on with a pen. Software and data were already developed and I was just adding some finishing touches.

I was given a new RPi3+ board to upgrade the system but when I connected the new board with the existing SD card the system did not boot up. As our system did not include an HDMI display but an embedded one, we did not have display unless the system could successfully boot. My first thought that then new board could be more power hungry than the existing one and therefore the existing power supply was not enough to keep up with the demand. I had to put back the older board and left the one for further testing.

Once I managed to get an HDMI display connected to the board, I could see the image above. Not sure whether it was some Harry Potter add on the upper left corner or, maybe, someone trying to tell me there was something wrong with the po…