Recommended Posts

Um0dGCoh.jpg

VuMimW7h.jpg

This is an early proof of concept before rebuilding it completely:

THZO0bYh.jpg

Running down the pen:

LY8axV0l.jpg

I built this printer LEGO parts. It prints pretty well with markers. It prints in dot-matrix and line modes. I did this with an unmodified EV3. Some of the work was creating huge binary files to print from.

Video:

Edited by technical

Share this post


Link to post
Share on other sites

Interesting ! Very interesting!

Is it possible to go faster?

Share this post


Link to post
Share on other sites

Interesting ! Very interesting!

Is it possible to go faster?

Yes, the video I made was of the first revision. In subsequent versions, it prints faster, particularly when drawing lines rather than dots.

Share this post


Link to post
Share on other sites

wow very nice. wasnt the programming a lot of work. how did you manage to get a 'picture' on the paper?

i really really like it, especially since i'm very interested in computers.

next step 3d printing :wink:

Share this post


Link to post
Share on other sites

wow very nice. wasnt the programming a lot of work. how did you manage to get a 'picture' on the paper?

i really really like it, especially since i'm very interested in computers.

next step 3d printing :wink:

Well, it's a lot to explain, but I'll outline some of the procedure. First I determined the number of motor degrees of rotation from end to end of the printer, then split it up into 200 smaller slices. This is the number of horizontal pixels it can print. Then I fired up Photoshop with a 200x240px image, converted to 1-bit bitmap, and exported as PNG. I then wrote a PHP script to convert the PNG to pure binary. At the end of each line of the image, I also write a 9. So I end up with a file that defines when the printer will print (1) and when it will skip printing a pixel and move on (0). If it runs into a 9, it advances the paper, moves the print head to the left side, and starts the next sequence.

This is what the letter "a" looks like in Arial font after exporting and converting to binary text:

t2puchYm.jpg

Zooming out, the text file looks like this:

MbTKPdOm.jpg

This is the PHP script I used to convert PNG images to binary text:

8E94o4F.jpg

I then found that Mindstorms EV3 will not read one character at a time; it can only read an entire line from a file. So, I had to insert a line break after every single character so that every line of the file contains only a 1, 0, or 9. I downloaded the print files to the EV3 and loop through each line and execute the command. Some of the images I printed were over 65,000 pixels long and spent 12 batteries.

This is the main routine of the print program, not including a ton of MyBlocks I wrote to perform functions like initial calibration, screen UI, etc. You can see there are three main branches for each of the functions the printer could be commanded to perform:

Al8ZEnxh.jpg

Edited by technical

Share this post


Link to post
Share on other sites

Nice job on the programming and execution. I really like the simplicity of it.

Do you think it's possible to load a PNG or bitmap and have the EV3 brick read it line by line and execute a print loop every time it encountered a dark pixel? It would save some offline conversion time.

Share this post


Link to post
Share on other sites

BusterHaus: No, it is not possible to open a PNG or BMP on the EV3. It can only open text files and read them one line at a time. You can only program it using basic types of operations. Opening and processing an image file is far beyond its ability. The only way I could pull this off was to load these huge binary files on to it, with one number per line. I haven't discovered any better way.

As far as simplicity; the main loop of the program I posted is just a small part of it. This part calls other programs I've written to do specific things. The LEGO Mindstorms EV3 software for Windows gets very slow when you're working with huge complex interconnected programs, so I had to break it up.

Edited by technical

Share this post


Link to post
Share on other sites

I figured my suggestion would likely be impossible without some sort of file reader. I'm not sure about the structure of bitmaps and PNGs, but GIFs compress rows of same coloured pixels. It's far from being readable by human eyes.

Your approach is very clever, thanks for sharing it. It's basically an uncompressed monochrome file.

Have you thought of using numbers beyond 0 and 1 to convey extra information? Since it's a felt tip pen, you could use duration or pressure to make dots bigger or darker.

Share this post


Link to post
Share on other sites

This achievement is really great!

I dream of another, able to make very large posters with 3 RGB pens.

Thank you for all this.

Share this post


Link to post
Share on other sites

It's amazing! I admire the fact that you can make out of Lego! Probably not far off Lego 3D printers that print details Lego themselves :wink:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.