First test of the print movement…

The first test of the print movement with realtime slicing!!! (no “blank” frame between slices yet)

Haha!! Just load and print!!! no pre-processing!! (without support structure!)

This test is running the official firmware on our CS1 Shield for arduino.

I’m now working on the vat-release control and we’re ready for the first REAL PRINT TEST!! UHUU!!

Haa… I also need to make the host disable the screen-saver, as you see in the middle of the video!!! LOL

If you want to try it yourself:

Although, without our firmware it will probably freeze after the first slice, since a normal ramps firmware have no concept of feedback when an axis movement is finished.

Right now our firmware only works with our shield, since the pinage is different. I’ll see if I can add a ramps version, but unfortunately,  our firmware will be imcompatible with ramps very soon since we have a dc motor controller and opto-switch for a simple encoder that controls the vat-release tilt.

I suppose we could even keep a simpler RAMPS version of the firmware, if necessary, but without vat-release. Will see!

Comments (26)

  1. 9:14 am, April 14, 2012Rod  / Reply

    Well done. I’ve been downloading and testing each new release as they become available. Question, since calibration of the ballscrew and stepper (steps per mm) is hard coded into the firmware, will you release the firmware code so tihis can be changed manually and re-complied or do you plan on having an option in the application to change this?

  2. 2:47 pm, April 14, 2012Jon Watson  / Reply

    Looks good! Back when I was working on my macro for Powerpoint & Mach 3, I incorporated a movement to re-position the build platform in 2 steps. Once the platform raises and releases from the VAT, it moves up, past the next “exposure” position then slowly moves back down into position for the next layer. The thought behind this was to allow the resin to flow evenly under the platform for the next layer. Would you be able to implement this into CS1 or possibly make it an option? I think it will be helpful when using resins with varying viscosity.

    • 5:19 pm, April 14, 2012hradec  / Reply

      @Jon Watson
      Cool… that’s a really good feeback, Jon (as always 🙂 !
      I was thinking about what options I could add to the movement, and that’s definitely a good one. I want to make the print movement very configurable, with a few parameters that would allow to change it for experimenting.
      I think I just got the first few parameters:

      * fill flow axis distance
      * up speed and acceleration
      * down speed and acceleration

      thanks again… I’ll do that right away.

  3. 3:38 pm, April 14, 2012tj  / Reply

    Its Alive People..Its Breathing!!!!..COOOOL!!!

  4. 9:14 pm, April 14, 2012derek jacoby  / Reply

    hah, fantastic! On my way back from SF next week with a Viewsonic Pro8200 and bucktown polymers in tow, so I’m excited to see progress on your end!

  5. 11:15 pm, April 14, 2012ShaderZ  / Reply

    I really love the work you’re doing. Im new to the chemshapes site and was wondering if there is an option to customize the dimensions of the print area ( the virtual box around the model ). That would be a huge time saver for people looking into using your program with standard inkjet technology for 3d printing. Great Job on the work you guys are doing *thumbs up*


  6. 3:12 am, April 15, 2012Jason Stone  / Reply

    What is the plan for adding support structure? How will it work? Thanks!

    • 7:36 pm, April 17, 2012hradec  / Reply

      @Jason Stone
      Hi Jason…

      I’ll be working on automatic support structure generation after I get the 1.0 version out of the door, which essentially will be the current version working 100% with our shield, controlling and doing a full automatic print, from beginning to end, on our CS1 prototype.

      What I can say about the support structure is that it will be also generated on the GPU, based on a custom tillable mesh or pattern stored in disk, so people can experiment creating they own.

      Not sure yet how visible it will be in the 3D viewport initially, but it will be definitely visible in the “preview as print” mode.

      As I’m using GPU for all that, the support will be created on a per-slice basis, so there will be NO 3d mesh for it. To display it in the 3D viewport, I would have to re-construct a mesh from the slices, and for that I would need the CPU. So, re-constructing a “preview” will probably be way slower than creating the slices themselves… how odd is that??!?! LOL

      But I’ll do my best…

      The same goes to infill pattern… EXACTLY the same case. Infill will be created from a tillable pattern stored on disk, and people will be able to experiment with their own patterns.


  7. 2:59 pm, April 15, 2012johnny.yeh  / Reply

    nice job.

  8. 4:59 am, April 17, 2012ShaderZ  / Reply

    i just successfully imported a test model from google sketchup. All this time ive been trying to import obj models without success but the stl files from sketchup work almost perfectly! Pretty cool 😛

  9. 12:06 pm, April 17, 2012Martin  / Reply

    Great News!!!
    I use RAMPS 1.4 shield. In the 0.1.2 release i was able to connect the host to arduino with the Marlin-2a019a5 firmware after modifying the pinlayout and disabling the endstops and thermistor checks in the firmware.

    To disable the support for normal RAMPS Marlin Firmware is bad news for me and mybe others who want to use the capabilities of RAMPS, as RAMPS is cheap and has space for adding more functions like the VAT-tilting driven by a stepper-motor. A nother example would be a cheap peristalic pump driven by a stepper too for filling in the resign into the vat automaticaly.

    so i realy hope you will give us this opportunity!

    Nvertheless you are my Hero :)!

    • 4:40 pm, April 17, 2012hradec  / Reply

      Hey Martin… I’m glad you liked it! 🙂
      You’re running the SVN trunk in linux, right? If so, you can build a RAMPS compatible firmware by going to the firmware folder, and type:
      > make clean
      > make RAMPS=1

      that should create a firmware keeping the default pinage of a RAMPS 3.4. If you need to build to a different RAMPS version, you can modify it in:

      > firmare/include/chemshapes.h

      before running “make clean” and “make RAMPS=1”.

      Please understand that I can’t, at this point, support other shield than our chemshield since there’s no room for hardware changes in the RAMPS board.

      As we’re working towards a dedicated hardware/software from scratch, we wan’t the liberty of make changes on booth so they work the best we can make it!

      Supporting one hardware is already a big task, and we simply don’t have enough room to accommodate support over others.

      Having said that, we’re not apple, so we’re not going to prohibit or make it impossible for you to do it in your own. 🙂

      So, it’s there…. Using a linux shell you can build your own version of our firmware RAMPS compatible. From there, I’m affraid you’re on your own.

      If you have problems, don’t hesitate to ask, but as a non-official supported hardware, I can’t garantee support for it, at this point in time.

      I hope you understand!


  10. 6:12 pm, April 17, 2012Ago  / Reply

    I used CS1 for making cuts (PNG).
    3d model made ​​(. STL) in “Rhinoceros”
    The result of printing photo:

    • 7:16 pm, April 17, 2012hradec  / Reply

      COOOOL!!!! I’m so glad to see it working for you!! Really COOL!!!

      What “thickness in micron” value did you use?

      Do you mind if I publish your pics on our blog and Google Code Project page?

      • 7:46 pm, April 17, 2012Ago  / Reply

        Resolution is 50 microns, about 400 layers.
        Print (18 s) layer. Put photo on the blog.

  11. 6:57 pm, April 17, 2012tj  / Reply

    Thats awesome man!
    It is great to know our slice output such great quailty and resolution.!.

  12. 7:49 pm, April 17, 2012muringa  / Reply

    Wow!!!! Things are going really fast here!!! Awesome work Ago!! =]

  13. 8:24 pm, April 17, 2012James William Kincaid III  / Reply


    Amazing work so far! That’s one thing I never learned to do, l never was able to learn a programming language of any kind. Too much of a taxing left brain activity! =D Yet, with this, it’s direct connection to hardware that does something I’m interested in, perhaps I could learn some Python. I think I’ll look around and see what’s the best way to start learning.

    In the meanwhile, is it too much trouble to get the host software to send a print command to a Windows default printer for each slice? That way, powder printer experiments could be done via inkjet or other types of printers in combination with the Arduino stepper motor controls to facilitate control and preparation of powder or what not.

    There may be ways to take the DLP projector out of the loop via lasers. Although DLP projectors are convenient, they are expensive and are limited by their output resolutions as well as their near UV transmission abilities. For example, 405nm laser diodes could replace each nozzle of a inkjet printer head and they could be modulated by the incoming signals for each nozzle. Or a powerful 405nm laser could replace the laser in a laser printer and be modulated by the control signal of the replaced laser, then this assembly would simply be moved over the surface of the near UV curable resin at an appropriately controlled rate.

    So anyway, there could be lots of room for experimentation if a print command for a default printer could be added.

    All the best,

Leave a Reply

Allowed Tags - You may use these HTML tags and attributes in your comment.

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Pingbacks (0)

› No pingbacks yet.