Printerception: NXT Printer prints self portrait

Students from the Franz-Haniel-Gymnasium have extended the printer from the LEGO MINDSTORMS NXT 2.0 Inventor’s Guide to print images – pixel by pixel. In fact, they turned it into an actual printer. The original model is merely a ‘plotter’. You can find more information here [LINK]. Below is a video of the printer in action.

And recently, blog reader BManCan came up with a creative program for the printer. The original program plots the NXT 2.0 logo, but BManCan made a program to draw the all new EV3 logo. Check out the video below or print out the new EV3 logo with this program [LINK].

About the author

45 Responses
    1. SergejStoetzer

      to convert a picture use an image processing software / editor like Gimp (free) to adjust the picture levels and convert it so black/white or grayscale with just 2 colors. In the first case you will get 0 and 1, in the second 0 and 255. So whatever you chose, you might have to adjust the NXT-G-Code where the data from file is read.
      The image-files need to be small like 120×100 pixel, so scale them down after they were converted to b/w or grayscale. Then I used ImageJ (free) to convert the picture-files (e.g. jpg) to text. The corresponding color-codes will be written into a text file. Use your favourite editor to search for the (i think tabulator) seperation of the values and replace them with a end of paragraph-code.
      At that time your file will be “flat” so you cannot find out the x and y resolution – which you will have to adjust in the NXT-Code, too. You will get this from the scaled down picture-file. This is just meant to be a proof of concept; there are defintely easier ways to make this happen by scripts or small code in any language – so if anyone will make this process more automatic, you are welcome 馃檪

      1. Abasba

        I converted text but it likes


        Sorry for thirdth comment.Can you tell how to convert like 0 255 255 0 with More Details or video.I tried a lot but icant.Pls We are waiting a video from the creator of self portrait program’s creator , YOU !

  1. Justin Notarianni

    hey laurens. first of all, let me tell you… you are my hero!!!! hahaha. you are so good with these robots!!!! anyway, I have been wanting to make an nxt 2.0 printer. I do not currently have the money to buy your book, and i only have 1 nxt 2.0 set. I am beginner so i need program and instructions. is there any set of instructions for a printer/drawer that meets my critera?

  2. Abasba

    Sorry for thirdth comment.Can you tell how to convert like 0 255 255 0 with More Details or video.I tried a lot but icant.Pls We are waiting a video from the creator of self portrait program’s creator , YOU !

  3. yeochoon

    I`m a 12 years korean boy.
    I have a book .
    I built the printer and I drew the NXT logo but I want to draw an EV3 logo, too.
    Could you send me how to program?

    1. SergejStoetzer

      Hi Yeochoon,
      greetings to Korea 馃檪
      If you want to draw the EV3-Logo like the NXT-Logo you have to think about it like you draw it by hand.
      The difference between the NXT-Logo drawn and the image of the printer prints of itself is that of vector versus pixel images. Vectors are something you’ll refer to in 10th class or hight. It is basically a pointer – like in treasuere maps: 10 steps ahead and 3 to the right. If you think of the EV3-Logo like this you have to code for the printer how to draw the single parts like an E. Perhaps print out the EV3 Logo quite big an a semi-transparent sheet of paper or foil. If you lay that on top of a grid-based paper like the ones used in math class, you can count how many steps it might take for the printer to move the paper in one direction, the pencil in the other and so on… In the end you will have a “drescription” in numers that tell you how to “draw” the logo.
      Hope this helps, regards Sergej

  4. Andrew

    I’m jealous. 馃槢

    Too bad the printer is only compatible with the NXT 2.0, since I just got an EV3 set a couple weeks ago.

    @Laurens, do you think you might have instructions for an EV3 plotter in one of your upcoming books? If so, I’ll pre-order it now. 馃榾

  5. Sergej

    Unfortunately not. It would require to add this NXT-Printer as a printer driver in windows. Given the resolution of approx. 150×150 pixel this printer/plotter is more of educational (and fun) use in order to unterstand “how stuff works”…
    You could probably write a little program that will do all the conversion from an image file to a txt-file this NXT-printer can print out.

  6. Vivek

    I shid must sa this is just an awsm robo.
    A printer from nxt is just awsmm.
    But plzz tell me one thing that u use lego software only or u also use c++,c or java.
    I dont know any of these but i want to make this robo but yes i know how to use lego official aoftware very well so plzz tell me can i build this printer without java or c or c++.
    Thanxx and an awsmm robo dude.
    Note:i use ev3 not nxt

  7. Sergej

    The software for the printer is “programmed” with the official NXT2.0-Retail software. You can download the image file legally from Lego. However with EV3 you have to build it yourself, since you cannot import NXT-Code into EV3. Please bear in mind that there are further differences between NXT and EV3 concerning the parts included. EV3 has only 2 “big” motors similar to the NXT and one smaller. You would have to adjust the design of the printer, too. Laurens is working on this, I suppose 馃檪

  8. Vivek

    Hey Sergej,
    Thanxx for the reply but can u plzz tell me or send me the lonk from where i can download the image file becoz i am not able to find it.
    And that ev3 concept i will adjustbut the main thing is programming.

  9. Vivek

    Hey Sergej,
    Thanxx for the reply but can u plzz tell me or send me the link from where i can download the image file becoz i am not able to find it.
    And that ev3 concept i will adjustbut the main thing is programming.

  10. abasba

    Sergej And Laurens
    I need help about printers nxt-g program.How can i set this program to read image text data from pc ? Its too important for my school.

    1. Sergej

      The NXT-Code for the printer to print pixel images reads files from the NXT-brick itself. You need to upload the file you created to your NXT.
      There is no interaction or communication between NXT and PC required for the printer.
      Sincerely, Sergej


        I was printed image with printer but higher resolution is needs higher memory.And NXT’s memory is too small for my pictures.I want to add some NXT-G codes to read data from pc.How can i do that ? I need higher resolution

        1. While we’re happy to help, remember that we can’t do your homework for you 馃檪

          You may want to look at other programming languages. I don’t know if NXT-G can support this out of the box.


            First of all thanks for your help.This isnt my homework.I need it for my friends from school.Im not good at programing languages.Is there anyway to read data from pc in nxt-g or transform nxt-g to nxc or other languages ?

  11. Daniel

    Hello.I am a korean boy who is 9.I read it.Thank you!I learned a lot by the book.I will buy lego mindstorms ev3.Can I make this using lego mindstorms ev3?If possible,should I use home edition,education,or anything?Can you give me the manual of programing/building?

    1. Hi Daniel,

      You can build a similar robot with LEGO MINDSTORMS EV3, but I do not have building instructions for it.

      By the way, a Korean edition of the EV3 Discovery Book will soon be published. Stay tuned!


  12. Sergej

    Hi Vishal,
    the program itself is available for download and your are free to use and improve it for your school project.
    However, the building instructions are published in a book Laurens wrote about the NXT – so you have to get the book to build it or develop your own version of it. You might find it in a library, it is as well available for purchase, of course.

    @Laurens – perhaps you could publish the instructions for moving the pen up/down? They are really clever and I had the most trouble finding a solution for this (before findung your book) 馃檪
    Kind regards, Sergej

  13. alberto

    hi, i downloaded the programs but the pen does not lower or lift so it will dot drawer, what am i doing wrong鈥

    where i have to transfer the txt files??and how?
    can you help me please?

    1. Sergej

      Hi Alberto,
      just copy the txt file to the brick. You can do that with the NXT Software, just browse the brick’s memory and up/download it there. There are no folders of the brick, so you can’t put it somewhere wrong 馃檪
      Kind reganrds, Sergej

        1. alberto

          ok I get it….. there was a misunderstanding i have to DOWNLOAD the file in to the brick….but i have to download only the txt or too the .rxe/.rso and sorry for My stupid questions (but i am a beginner) which types of files are? how do they work?
          thanks so much

          1. Sergej

            Your questions are not stupid – Lego ist just ver intuitive ehh “innovative” in the way it is using technical terms 馃檪
            Simply download the txt-file to the brick and compile the other file with the standard NXT-Software. This way you can adjust the filename and the x and y resolution if necessary…
            Kind regards, Sergej

Leave a Reply


EV3 Discovery

Discover the many features of the EV3 set, and learn to build and program your own robots! Learn more

Start Building Robots


Website Maintenance

Robotsquare is currently being updated, which means that it may look a little different (and not very polished) for a while. All the content and pages should still be there, though. It should be back and fully operational soon. Thanks for your patience!