Screencast Keys add-on

Blender 2.78

Download the Add-on file

Install the Add-on.

[File] > [User Preferences] > [Add-ons] > [Install from File…]

In 3D View window, press N to open the properties panel.

Click Screencast Keys menu.

Set up size of text, mouse, and color.



Posted in Blender | Tagged , , | Leave a comment

How to forward X over SSH in Devuan

SSH packages: openssh-client, openssh-server

/etc/ssh/ssh_config is default configuration file for SSH client.
/etc/ssh/sshd_config is default configuration file for SSH server (ssh daemon).
Check content of two files in the bottom.

Example (mini): SSH server that will provide X applications. SSH client that will loing the server and run X applications.

I login to the server whose hostname is mini through ssh, then run xeyes.


-v is debug option that dumps messages.

$ ssh -v -X penguin@

OpenSSH_6.7p1 Debian-5+deb8u2, OpenSSL 1.0.1t  3 May 2016
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to [] port 22.
debug1: Connection established.
debug1: Trying private key: /home/penguin/.ssh/id_rsa
debug1: Trying private key: /home/penguin/.ssh/id_dsa
debug1: Trying private key: /home/penguin/.ssh/id_ecdsa
debug1: Trying private key: /home/penguin/.ssh/id_ed25519
debug1: Next authentication method: password
penguin@'s password:
debug1: channel 0: new [client-session]
debug1: Requesting
debug1: Entering interactive session.
debug1: Requesting X11 forwarding with authentication spoofing.
debug1: Sending environment.
debug1: Sending env LC_ALL = en_US.UTF-8
debug1: Sending env LANG = en_US.UTF-8
Linux mini 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u3 (2015-08-04) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
You have mail.
Last login: Sun Dec 11 22:30:48 2016 from

$ xeyes &
[1] 16450
$ debug1: client_input_channel_open: ctype x11 rchan 3 win 65536 max 16384
debug1: client_request_x11: request from ::1 53402
debug1: channel 1: new [x11]
debug1: confirm x11



Host *
#   ForwardAgent no
#   ForwardX11 no
#   ForwardX11Trusted yes
#   RhostsRSAAuthentication no
#   RSAAuthentication yes
#   PasswordAuthentication yes
#   HostbasedAuthentication no
#   GSSAPIAuthentication no
#   GSSAPIDelegateCredentials no
#   GSSAPIKeyExchange no
#   GSSAPITrustDNS no
#   BatchMode no
#   CheckHostIP yes
#   AddressFamily any
#   ConnectTimeout 0
#   StrictHostKeyChecking ask
#   IdentityFile ~/.ssh/identity
#   IdentityFile ~/.ssh/id_rsa
#   IdentityFile ~/.ssh/id_dsa
#   Port 22
#   Protocol 2,1
#   Cipher 3des
#   Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
#   MACs hmac-md5,hmac-sha1,,hmac-ripemd160
#   EscapeChar ~
#   Tunnel no
#   TunnelDevice any:any
#   PermitLocalCommand no
#   VisualHostKey no
#   ProxyCommand ssh -q -W %h:%p
#   RekeyLimit 1G 1h
    SendEnv LANG LC_*
    HashKnownHosts yes
    GSSAPIAuthentication yes
    GSSAPIDelegateCredentials no


# Package generated configuration file
# See the sshd_config(5) manpage for details

# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes

# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes

ServerKeyBits 1024

# Logging
SyslogFacility AUTH
LogLevel INFO

# Authentication:
LoginGraceTime 120
PermitRootLogin without-password
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile     %h/.ssh/authorized_keys

# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no

# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes

# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no

# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes

# Kerberos options
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no

#MaxStartups 10:30:60
#Banner /etc/

# Allow client to pass locale environment variables
AcceptEnv LANG LC_*

Subsystem sftp /usr/lib/openssh/sftp-server
# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes
Posted in GNU/Linux | Tagged , , , , , | Leave a comment

Power meter



Single plug socket x1
Circuit breaker x1
Plug with three wires x1
Two wires, 30 cm
Power meter x1
Wood piece x1
50 mm screw x6
20 mm Short screw x2
Zip-tie x2

(I used a AC 80-260V 100A BAYITE-PZEM-061 by bayite.)


Philips drive
Wire cutter

Testing 60W light bulb’s power


Input voltage: 229 V
Input current: 0.25 A AC
Power measurement: 56.6 W

Steel Fisher 3D Printer

I was literally shocked in good sense because the power consumption of Steel Fisher is less than a medium light bulb. This would give me advantage of running a 3D farmer. Five Steel Fishers’ power consumption is about 250 W!

Idle mode: 6.6 W

Printing mode: 41.0 W to 38.5 W
The maxium power consumption was about 60 W when the hotend was turned on after the printing started.


Posted in DIY, Reprap 3D Printer | Tagged , , , | Leave a comment

Extreme tests of Steel Fisher

I’m preparining a 3D Farm business. So I’ve been printing difficult models that takes many hours with delicacy.

0.1 mm layer height, 33 hours, KISSlicer

0.1 mm layer height, 17 hours, KISSlicer


13 hours, KISSlicer

12 hours 49 minutes, KISSlicer

Before removing the support material

The contact area of support is dirty.

A sample print of Lea’s arm. Layer height 0.1 mm with support.

Persian Spring Vase

A vase with spiral option in Slic3r

0.2 mm layer height, 2 hours 15 minutes, Slic3r

Posted in Reprap 3D Printer | Tagged , , , , , , , , | Leave a comment

Why you should not buy Makerbot 3D printers!


Really! And there are many reasons not to buy: cost, reliability, human values, innovation and so.

I endorse even less Makerbot business
than I already trusted their products !
But enough is enough, this time I say why.

Seriously, Makerbot Industries care more about money than 3D printers. They so badly want your money that they start using dirty business practices. As a client, their overall strategy is simple: you will increasingly pay more to get less. The quality of the product does not count as long as they keep selling it through marketing tricks.

Update (nov. 2014): eventually, well-known resellers of 3D printers like imakr even stopped selling them because of after sale burden and heavy customer negative feedback.

Update (april 2016): interestingly, this post still holds. Makerbot just moved its production to China. A few arguments may be outdated though, so read carefully.

Do not think this is a biased joke, neither only a maker’s rant (as formerly). I really want to warn would-be customers that they should not buy. And I want to try and stay objective.

Posted in Reprap 3D Printer | Tagged , , , | Leave a comment

Two Voronoi cats


I used Meshmixer to add manual support. The Voronoi cat model took two hours and thirty minutes. laser-cat-sc1

Slic3r 1.2.9 to generate a gcode file without support.laser-cat-slic3r-sc1

Filament: eSun PLA+ 1.75 mm
Temperaure: 185 C
Printing speed: 25 mm/s (Perimeters)



20161028_0147 20161028_0143

Printing time: 17 hours 31 minutes 15 secondsfisher-sc3


I pushed Steel Fisher to extreme how it would handle a long printing hours that has heavy retraction. The total printing hours was about 33 that kept me awake for two straight nights.

3D Model: LASER CAT – Voronoi Style

Size: 103.09 x 112.91 x 167.1220161022_0761

The first attempt failed, which wasted 1h 38m 55s.
20161022_0108The second attempt failed again at 2h 30m mark.

The big troublesome question was “How to prevent the nozzle dislocation middle of printing?” And I had been fixated to default Lift Z height in slicer programs that set for Cartesian 3D Printers, which ranges from 0.025 mm to 0.4 mm.

Two days ago I thought ‘Hmm, what if the nozzle goes up and down so high that there is no chance to hit any plastic part? Then it would eliminate the nozzle dislocation, potential print failure.’

Two millimeter was little low, so I set three millimeter as Lift Z height in retraction. Slic3r 1.2.9 hang in the voronoi cat’s gcode generation with support. I used KISSlicer to generate a gcode file of the Voronoi cat with support.


PLA: eSun 1.75 mm (This one was shitty. I could’ve use another spool of filament)
Temperature: 200 C
Layer height: 0.2 mm
Printing speed: 15 mm/s (perimeter)
Retraction: 3.4 mm (length), 3.0 mm (Lift Z height), 15 mm/s (speed)

; destring_suck = 3.4
; destring_prime = 3.4
; destring_min_mm = 1
; destring_trigger_mm = 100
; destring_speed_mm_per_s = 15
; destring_suck_speed_mm_per_s = 15
; Z_lift_mm = 3
; min_layer_time_s = 10
; wipe_mm = 10

; *** Actual Slicing Settings As Used ***
; layer_thickness_mm = 0.2
; extrusion_width = 0.4
; num_ISOs = 3
; wall_thickness = 0.8
; infill_style = 5
; support_style = 2
; solid_interface = 0
; use_lower_interface = 1
; support_angle = 44.9
; destring_min_mm = 1
; stacked_infill_layers = 1
; Perimeter Speed = 10.00
; Loops Speed = 42.50
; Solid Speed = 37.50
; Sparse Speed = 52.50

I started to take photo with one minute interval.
25h 48m 40s
It finished the printing at 32h 58m 43s.

The weight of voronoi cat was 55.3 g.
The weight of support material was 64 g.

Steel Fisher has outperformed my expectation.

Posted in Reprap 3D Printer | Tagged , , , , , , , | Leave a comment

Original Prusa i3 MK2 – ongoing review


 PINDA probe, live Z calibration, Z-offset and temperature

So I got thinking on that and figured out that it’s not bed warping, nor the nozzle size change (both factors to consider, but definitely not ‘worth’ 0.3mm), but the temperature sensitivity pf the PINDA probe. The original initialization code heats up the bed first and then homes the axes and does the mesh init. Depending on how far the PINDA probe is from the bed, and what temperature the bed is set to, PINDA probe gets more or less hot.

So, I adjusted the init code as follows:

M115 U3.0.8 ; tell printer latest fw version
; M301 P22.1 I1.80 D68 ; set PID for nozzle - set proper values for your printer and uncomment the line, else just ignore it
M83 ; extruder relative mode
G28 W ; home all without mesh bed level
G0 Z80 Y-3 ; get head above bed to keep it cool, move the nozzle up front to make cleaning easier
M140 S[first_layer_bed_temperature] ; set bed temp
M104 S150 ; set extruder temp to 150C, cold enopugh to avoid ooze, but get some temp on it
M190 S[first_layer_bed_temperature] ; wait for bed temp
M104 S[first_layer_temperature] ; set extruder temp
M109 S[first_layer_temperature] ; wait for extruder temp

; G28 W ; home all without mesh bed level - rehome Y axis to accommodate for thermal expansion -> not necessary, mesh leveling does it too
G80 ; mesh bed leveling
G1 Y-3.0 F1000.0 ; go outside pritn area
G1 X60.0 E9.0 F1000.0 ; intro line
G1 X100.0 E12.5 F1000.0 ; intro line

So, in short: home axes, move Z to 80mm above the bed, heat up everything, only after the temperatures stabilize do a mesh leveling.
Result: instead of having to adjust offset of -0.272mm (good for PLA) to -0.550 (so ∆=280µm) for ABS now I have to adjust it only by about 50µm (to -0.300..320), which is by all means something thermal expansion can be responsible for.


The plastic spool holder does nasty thing if you don’t watch it carefully.
I got to guide the filament through a ziptie to prevent the filament getting off the spool holder. The spool actually fell into backside of the print bed during a print when the filament tangled.


I installed the anti-vibration feets. Well it introduces more shakes to the printer frame.20161016_0051

The Z height value for PLA was -0.800 mm.  When I tried to print ABS filament, the Z height was way off. I had to set new Z height using Live Z function on the LCD menu after few hours of multiple printing failures and troubleshooting.

I suspected 100 degrees Celsius might change flatness of the PCB bed and later on the Prusa Research’s technician confirmed it.   Mesh bed leveling can’t fix the deformation caused by 50 degrees Celsius.

I will keep two set of Z height, PLA and ABS-like filament.20161019_0076

I started applying one layer of glue stick over PEI when I print models in ABS filament.

Prusa Research does provide unfriendly service to Linux users. Why? I don’t know. To download Slic3r configuration files, a Linux user need to download Mac OSX’s Slic3r package, decompress it, then copy 30 KB of ini file.

I complained about it once but the drivers’ page hasn’t showed the link of Slic3r configuration file.

However I got to say this 3D Printer delivers decent quality of printing. I’ve printed ABS parts using the Prusa Research’s Slic3r configuration – layer height 0.25 mm. My printed parts looks better than the kit parts. ^^20161019_0107

A section of the part is lifting. How to prevent it?20161020_0116

ABS printed parts for RepRap Fisher 1 3D Printer



Posted in Reprap 3D Printer | Tagged , , , , | Leave a comment