User Tools

Site Tools


infra:tools:kodakportrait

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
infra:tools:kodakportrait [2023/10/28 13:23] – [WIP] arinfra:tools:kodakportrait [2024/03/04 22:10] (current) ar
Line 1: Line 1:
 ====== Kodak Portrait ====== ====== Kodak Portrait ======
 Despite the name, it's 3d. Despite the vendor/label, it's surprisingly mod-friendly Despite the name, it's 3d. Despite the vendor/label, it's surprisingly mod-friendly
 +===== Current status =====
 +  * configuration still in flux, is editable from the web ui as needed
 +
 ===== General notes/instructions ===== ===== General notes/instructions =====
-  * the stock print surface is a mirror. don't print PET-G (and possibly ABS?) directly on it. they have a tendency to bond with glass too strongly+  * the stock print surface is a mirror, so try not to break it when removing prints or anything. 
-  * the stock nozzles aren'hardened. don't print filament with additives using them. +  * if printing pet-g, wait for the bed to cool down before removing the print, and/or use glue to provide a debonding agent. washing the bed with cold water also works
-  * the printer uses 12V PSU, so heating the print surface takes a while +  * the nozzle on the right (T0; default) is hardened steel; filaments with additives *should* work, but not tested yet 
-  * the printer uses the hotend on the right as a Z probe; don't be surprised to see the printer using it for probing the bed before print+  * web interface is available at http://kodak.waw.hackerspace.pl/ 
 +  * the printer uses the hotend on the right as a Z probe
   * the printer has been klipperified (WIP)! stock slicer won't work anymore!   * the printer has been klipperified (WIP)! stock slicer won't work anymore!
   * password for root user is, for now, identical to hswaw wifi password   * password for root user is, for now, identical to hswaw wifi password
-  * host + printer config are at: https://code.hackerspace.pl/ar/nibylandia/src/branch/main/nixos/akamanto/default.nix+  * host <del>+ printer</del> config is at: https://code.hackerspace.pl/ar/nibylandia/src/branch/main/nixos/akamanto/default.nix 
 +  * klipper printer config is here temporarily: {{ :infra:tools:printer.cfg.zip |}} 
 +  * don't do Nix things when a print is in progress; overloads the RPI and makes klipper unhappy 
 +  * takes a while to boot; when it's done you should see [[https://klipperscreen.readthedocs.io/en/latest/|KlipperScreen]] interface
 =====  profile(s) for slicer(s) (WIP) ===== =====  profile(s) for slicer(s) (WIP) =====
 ==== PrusaSlicer ==== ==== PrusaSlicer ====
-Very rudimentary config. Works, including hotend swaps, but is a bit slow and messy +Very rudimentary working config. Still needs some adjustments. {{ :infra:tools:kodak.zip |}} 
-{{ :infra:tools:klipper-kodak-portrait-bundle.ini |}} + 
-(haven't tested with just single hotend in use, may misbehavewhoops)+There'bed texture and shape includedbut they don't get inlined into config; you'll need to set them yourself. Go to "Printer settings" -> "General", switch settings mode to expert, click "Set" next to bed shape, and load texture and model there. 
 + 
 +When adding profiles for more filaments, you may want to lower the temperature from what you'd probably use on other printersto compensate a bit for the poor part cooling of this printer. 
 + 
 +==== Other slicers? ==== 
 +When configuring other slicers use this for "start g-code": 
 +<code> 
 +PRINT_START T0_USED={ is_extruder_used[0] } T1_USED={ is_extruder_used[1] } T0_TARGET_TEMPERATURE={ first_layer_temperature[0] } T1_TARGET_TEMPERATURE={ first_layer_temperature[1] } BED_TEMPERATURE=[first_layer_bed_temperature] 
 +</code> 
 +The printer will handle everything on its own through this macro. 
 + 
 +This for "tool change" (subject to change)
 +<code> 
 +G1 Z{layer_z + 5} F5000 
 + 
 +T{next_extruder} HOT=1 RETRACT=1 
 + 
 +{if layer_num == 0 } 
 +M109 T{next_extruder} S{first_layer_temperature[next_extruder]} 
 +{else} 
 +M109 T{next_extruder} S{temperature[next_extruder]} 
 +{endif} 
 + 
 +G1 Z{layer_z} 
 +</code> 
 + 
 +And this for finishing the print: 
 +<code> 
 +FINISH_PRINT 
 +</code> 
 + 
 +Adjust for macro expansion rules of your slicer. As far as I understand, re-creating these in cura-based slicers may not be trivial.
  
 ===== Hardware documentation ===== ===== Hardware documentation =====
   * standard raspberry pi 3b   * standard raspberry pi 3b
-  * standard smoothieware v1 +  * standard smoothieboard v1 
-  * LED driver board connected to the rpi (needs investigating a bit)+  * LED driver board connected to the rpi (generic 4pin - rgb+ground - pwm-driven ledstrip)
   * removed most of hotglue as it did not hold the connectors anymore anyway   * removed most of hotglue as it did not hold the connectors anymore anyway
  
Line 51: Line 89:
  
 ===== TODO ===== ===== TODO =====
-  * solve filament/power switch access +  * pressure advance calibration 
-  * profile(s) for slicer(s) +  * accelerometer for input shaping 
-  * obtain second print surface +
-  * fix camera/audio under nixos +
-  * klipper raspberry/linux "mcu" config. should allow us to control the rgb led strips. +
-  * possibly maybe fix touchscreen rotation properly, right now it's a hack: https://code.hackerspace.pl/ar/nibylandia/src/commit/6741165a4fb6c1c6d97be5bb38ffbaf90ce29fbb/nixos/akamanto/default.nix#L12 https://code.hackerspace.pl/ar/nibylandia/src/commit/6741165a4fb6c1c6d97be5bb38ffbaf90ce29fbb/nixos/akamanto/default.nix#L151-L156+
 ===== WIP ===== ===== WIP =====
-This section needs expansion. You can help by prodding my (ar) ADHD brain to do something with it, or pick an item from TODO list yourself.+This section needs expansion. You can help by prodding my (ari) ADHD brain to do something with it, or pick an item from TODO list yourself.
  
-  * general usage instructions +  * slicer profiles 
-  * [[https://code.hackerspace.pl/ar/kodak-portrait/src/branch/main/klipper|printer klipper config]] +  * obtain second print surface 
-  * calibration, again, this time with klipper: eyeballed, need to check stuff using calipers +    * pl0myk volunteered for handling this? ;)
-  * [[https://code.hackerspace.pl/ar/nibylandia/src/branch/main/nixos/akamanto/default.nix|nixos]] +
-    * didn't boot with impermanence enabled for some reasonwill need to investigate that later.+
 ===== DONE ===== ===== DONE =====
-This section needs expansion. You can help by prodding my (ar) ADHD brain to do something with it, or pick an item from TODO list yourself.+This section needs expansion. You can help by prodding my (ari) ADHD brain to do something with it, or pick an item from TODO list yourself.
   * hardware documentation (what's connected where and how)   * hardware documentation (what's connected where and how)
   * calibration, at least to the extent reasonable before we have proper slicer profiles   * calibration, at least to the extent reasonable before we have proper slicer profiles
 +  * general UI/UX: 
 +    * klipperscreen running in cage on the touchscreen 
 +    * fluidd for webui 
 +    * moonraker accessible over network for slicers 
 +  * fix camera/audio under nixos 
 +  * solve filament/power switch access 
 +    * now on a shelf next to the entrance, between main room and electronics lab 
 +  * filament runout sensors - ordered two, will need installing them properly and changing the printer config a bit 
 +    * bonus points for making filament a bit easier to insert 
 +  * The printer is now 300% more gay! 
 +    * Built-in macros change the chamber color at different parts of the print 
 +  * Klipper side of the configuration is now done, for the most part 
 +    * Moved significant parts of custom g-code in slicers to klipper gcode macros 
 +    * Hotends get primed in their respective areas 
 +  * converted the printer from 12V to 24V 
 +  * rework part cooling; it's abysmal 
 +    * https://www.printables.com/model/760731-angled-e3d-revo-adjustable-cooling-fan-clip 
 +  * <del>obtain more hotend socks, and rework the part cooling solution</del> no longer relevant - switched to revo 
 +  * skewed bed 
 +    * the difference between far-left and front-right corners was around 1mm 
 +    * {{:infra:tools:kodak-skewed-bed.png?direct&400|}} 
 +    * shimmed the bed enough to reduce the skew to 0.2mm 
 +    * {{:infra:tools:kodak-unskewed-bed.png?direct&400|}} 
 +  * actual printing area limitations 
 +    * embedding the limitations into actual slicer profile is proving to be difficult/impossible 
 +    * visual aids will have to do for now 
 +    * {{:infra:tools:kodak-bed-texture.png?direct&400|}}
 ===== Preliminary findings ===== ===== Preliminary findings =====
-  * controlled with a normal rpi3 with raspbian + smoothieboard combo+  * controlled with a normal rpi3 + smoothieboard combo
   * screen is connected over hdmi (+ usb for touch?), 800x480 res   * screen is connected over hdmi (+ usb for touch?), 800x480 res
   * camera uses the camera interface   * camera uses the camera interface
Line 77: Line 136:
   * there's a speaker!   * there's a speaker!
   * doesn't appear to do anything fancy to lock-out mods   * doesn't appear to do anything fancy to lock-out mods
-  * didn't complain about creating ''/root/.ssh/authorized_keys'' 
-  * on running system, root filesystem is by-default mounted readonly, which is a Good Choice™ on an rpi with sd card; ''mount -o remount,rw /'' and later ''mount -o remount,ro /'' work as expected. 
-  * <del>password for ''pi'' user is, for now, identical to hswaw wifi password, passwordless sudo is enabled. 
-</del> 
-  * the printer runs its control panel using chromium pointed at a webserver running locally. that's listening on all interfaces. try http://printers-ip-address:8888/home (check setup -> connectivity -> network) 
-    * „Myślę, że w tym przypadku masz do czynienia nie tylko z powierzchnią ataku, ale również z objętością” ~ drozdziak1 
   * disassembly, at least for getting to the electronics compartment is **trivial**:   * disassembly, at least for getting to the electronics compartment is **trivial**:
     - unscrew two screws on left and right (4 total) that hold the bottom panel (regular hex bit)     - unscrew two screws on left and right (4 total) that hold the bottom panel (regular hex bit)
Line 88: Line 141:
     - unscrew 4 screws on the *sides* of the metal box holding the electronics (the ones that you see in front of you hold the fans)     - unscrew 4 screws on the *sides* of the metal box holding the electronics (the ones that you see in front of you hold the fans)
     - remember to detach the fans when opening the box     - remember to detach the fans when opening the box
 +==== no longer relevant ====
 +these items referred to stock software/firmware, leaving them here for future reference for anyone from the wider internets stumbling upon this page
 +  * ran raspbian by default
 +  * didn't complain about creating ''/root/.ssh/authorized_keys''
 +  * on running system, root filesystem is by-default mounted readonly, which is a Good Choice™ on an rpi with sd card; ''mount -o remount,rw /'' and later ''mount -o remount,ro /'' work as expected.
 +  * password for ''pi'' user is, for now, identical to hswaw wifi password, passwordless sudo is enabled.
 +  * the printer runs its control panel using chromium pointed at a webserver running locally. that's listening on all interfaces. try http://printers-ip-address:8888/home (check setup -> connectivity -> network)
 +    * „Myślę, że w tym przypadku masz do czynienia nie tylko z powierzchnią ataku, ale również z objętością” ~ drozdziak1
 ===== Resources ===== ===== Resources =====
-"stock" slicer (really just an old cura, reskinned), stock firmware images: https://cloud.is-a.cat/s/NsaCHnyDMn8cFWE 
- 
 Many resources about the printer from, apparently, its actual vendor: https://exolicious.com Many resources about the printer from, apparently, its actual vendor: https://exolicious.com
 ===== Plans ===== ===== Plans =====
-Would prefer to keep hardware mostly unmodified, except for following+<del>Would prefer to keep hardware mostly unmodified, except for following</del> xD
    * replace the e3d v6 with e3d revo (and obxidian nozzles) which is almost a drop-in replacement    * replace the e3d v6 with e3d revo (and obxidian nozzles) which is almost a drop-in replacement
 +     * done
    * replace the 12V PSU with 24V    * replace the 12V PSU with 24V
 +     * done
    * add filament runout sensors    * add filament runout sensors
 +     * done
    * buy angled cables and rotate the screen proper way round.    * buy angled cables and rotate the screen proper way round.
-   * accelerometer+     * done & undone; viewing angles on the screen are meh; back to rotation hacks 
 +   * accelerometer for input shaping 
 +   * brushes for automated nozzle cleaning
infra/tools/kodakportrait.1698499417.txt.gz · Last modified: 2023/10/28 13:23 by ar

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki