Squashed commit of the following:

commit 95c9eb09fb95bb65e6d8836f908ff551fd66b4a8
Author: Tom <thomas.hodson@ecmwf.int>
Date:   Fri Apr 4 22:48:31 2025 +0100

    New post
This commit is contained in:
Tom 2025-04-04 22:48:59 +01:00
parent f4c5314f7c
commit 4b473c4bf3
10 changed files with 287 additions and 27 deletions

View File

@ -0,0 +1,44 @@
---
title: RARA Elegoo Printer Notes
layout: post
excerpt: Notes for the 3D printer at my co-working space.
exclude_from_rss: true
assets: /assets/blog/rara-elegoo-printer-notes
thumbnail: /assets/blog/rara-elegoo-printer-notes/thumbnail.jpg
social_image: /assets/blog/rara-elegoo-printer-notes/thumbnail.jpg
alt: A photo of the main circuit board in this 3D printer.
---
---
| Printer | Elegoo Neptune 2 |
| Control Board | ZNP Robin Nano V1.3 [Schematic of similar board](https://github.com/makerbase-mks/MKS-Robin-Nano-V1.X/blob/master/hardware/MKS%20Robin%20Nano%20V1.3_002/MKS%20Robin%20Nano%20V1.3_002%20SCH.pdf) |
| Microcontroller | STM32F407VET6 |
| Extruder / Hotend combo | [BIQU H2V2](https://biqu.equipment/products/biqu-h2-v2-0-extruder) |
| Original Firmware | [ZNP-Robin-Nano-V1.2-V1.3](https://github.com/NARUTOfzr/ZNP-Robin-Nano-V1.2-V1.3/tree/master/ZNP_Robin_Nano_V1.2%20Firmware) |
| Current Firmware | [Original Board Firmware](https://github.com/NARUTOfzr/ZNP-Robin-Nano-V1.2-V1.3/tree/master/ZNP_Robin_Nano_V1.2%20Firmware)
| Z Probe | [BLTouch](https://www.antclabs.com/_files/ugd/f5a1c8_d40d077cf5c24918bd25b6524f649f11.pdf) |
| Manual | [General Guide](https://github.com/oinosme/elegoo-neptune2-2s-guide) |
| PDF Manual | [PDF]({{ page.assets }}/Neptune 2 & Neptune 2S User Guide (EN).pdf) |
| Default config.cfg for Klipper | [Default config.cfg](https://github.com/Klipper3d/klipper/blob/master/config/printer-elegoo-neptune2-2021.cfg) |
| Currentish config.cfg | [Current config.cfg](/assets/blog/rara-elegoo-printer-notes/klipper_config.cfg)|
| Microcontroller Datasheet | [Datasheet]({{ page.assets }}/micro_datasheet.pdf) |
---
<figure>
<img src="{{ page.assets }}/mainboard_connectors.png">
</figure>
<figure>
<img src="{{ page.assets }}/micro_pinout.png">
</figure>
<figure>
<img src="{{ page.assets }}/pcb.png">
</figure>
<figure>
<img src="{{ page.assets }}/hotend.png">
</figure>

Binary file not shown.

After

Width:  |  Height:  |  Size: 460 KiB

View File

@ -0,0 +1,163 @@
# This file is originally from https://github.com/Klipper3d/klipper/blob/master/config/printer-elegoo-neptune2-2021.cfg
# Paste here and save your klipper configuration
# This file contains standard pin mappings for the stock Elegoo Neptune 2 with a
# ZNP Robin Nano (v 1.2 and v1.3) board.
# For the 1.2 board:
# - Compile with the processor model STM32F103.
# - Enable "extra low-level configuration options"
# - Select the 28KiB bootloader,
# - Select (Serial (on # USART3 PB11/PB10) for the communication interface.
# Note that the "make flash" command does not work with ZNP Robin boards. After
# running "make", run the following command:
# ./scripts/update_mks_robin.py out/klipper.bin out/elegoo.bin
#
# For the 1.3 board:
# - Compile with the processor model STM32F407.
# - Enable "extra low-level configuration options"
# - Select the 32KiB bootloader,
# - Select (Serial (on # USART3 PB11/PB10) for the communication interface.
# Note that the "make flash" command does not work with ZNP Robin boards. After
# running "make", run the following command:
# cp out/klipper.bin out/elegoo.bin
#
# Copy the file out/elegoo.bin to an SD card and then restart the printer with
# that SD card.
# See docs/Config_Reference.md for a description of parameters.
[bltouch]
sensor_pin: ^PC4
control_pin: PA8
z_offset: 3.1
x_offset: -35
y_offset: -1
stow_on_each_sample: false
probe_with_touch_mode: true
[stepper_x]
step_pin: PE3
dir_pin: PE2
enable_pin: !PE4
microsteps: 16
rotation_distance: 40
endstop_pin: PA15
position_endstop: 0
position_max: 235
homing_speed: 50
[stepper_y]
step_pin: PE0
dir_pin: PB9
enable_pin: !PE1
microsteps: 16
rotation_distance: 40
endstop_pin: PA12
position_endstop: 0
position_max: 235
homing_speed: 50
[stepper_z]
step_pin: PB5
dir_pin: !PB4
enable_pin: !PB8
microsteps: 16
rotation_distance: 8
endstop_pin: PA11
position_endstop: 0.7
position_max: 250
[extruder]
max_extrude_only_distance: 100.0
step_pin: PD6
dir_pin: PD3
enable_pin: !PB3
microsteps: 16
rotation_distance: 3.433 # https://biqu.equipment/products/biqu-h2-v2s-extruder-for-b1-bx-ender-3-3-v2-5-6-cr6-10
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PC3
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC1
# tuned for stock hardware with 210 degree Celsius target
control: pid
pid_Kp: 29.056
pid_Ki: 1.628
pid_Kd: 129.664
min_temp: 0
max_temp: 260
[filament_switch_sensor filament_sensor]
pause_on_runout: True
switch_pin: PA4
[heater_bed]
heater_pin: PA0
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC0
# tuned for stock hardware with 60 degree Celsius target
control: pid
pid_Kp: 70.857
pid_Ki: 1.221
pid_Kd: 1028.316
min_temp: 0
max_temp: 110
# cools the control board and hotend cooler fans
# enabled whenever any of the stepper controllers are active
[heater_fan hotend_fan]
pin: PB0
heater: extruder
heater_temp: 50.0
# controls the part cooling fan
[fan]
pin: PB1
[mcu]
serial: /dev/ttyUSB0
restart_method: command
[bed_screws]
screw1: 32.5, 32.5
screw2: 32.5, 202.5
screw3: 202.5, 32.5
screw4: 202.5, 202.5
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100
[bed_mesh]
speed: 120
horizontal_move_z: 7
mesh_min: 40, 40
mesh_max: 200, 200
probe_count: 4, 4
[static_digital_output display_reset]
# the FSMC touchscreen isn't supported, so we'll just disable it
pins: !PC6, !PD13
#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
#*# [bed_mesh default]
#*# version = 1
#*# points =
#*# 0.105000, 0.125000, 0.060000, 0.037500
#*# 0.060000, 0.102500, 0.142500, -0.105000
#*# 0.017500, 0.110000, 0.152500, -0.132500
#*# 0.022500, 0.115000, 0.097500, -0.085000
#*# tension = 0.2
#*# min_x = 40.0
#*# algo = lagrange
#*# y_count = 4
#*# mesh_y_pps = 2
#*# min_y = 40.0
#*# x_count = 4
#*# max_y = 199.99
#*# mesh_x_pps = 2
#*# max_x = 199.99

Binary file not shown.

After

Width:  |  Height:  |  Size: 546 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 332 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

View File

@ -14,32 +14,53 @@ img:
<style> <style>
header { header {
display: flex;
height: 100vh; height: 100vh;
justify-content: unset; justify-content: unset;
font-size: min(3vw, 3vh);
} }
.profile-pic-name { .pic-name-text {
display: flex; display: flex;
flex-direction: column;
justify-content: space-around;
height: 60vh;
padding: 1rem;
}
.pic-name {
display: flex;
gap: 1em;
margin-bottom: 1em;
}
.card-container {
height: 30vh;
} }
p { p {
font-size: min(7vw, 3vh); font-size: 1rem;
} }
img.qr { .pic {
width: 50vw; border-radius: 50%;
height: 50vw; padding: 5px;
z-index: 1; border: 1px solid var(--theme-text-color);
} transition: border-color var(--night-mode-fade-time) ease-in-out;
.avatar {
width: 40vw; width: 40vw;
height: 40vw; height: 40vw;
} }
img.qr {
--dimension: calc(0.6 * min(50vw, 100vh));
width: var(--dimension);
height: var(--dimension);
z-index: 1;
}
header h1 { header h1 {
font-size: 15vw; font-size: 3rem;
margin-left: 5vw; margin:0;
} }
.professional-links { .professional-links {
@ -55,25 +76,19 @@ header h1 {
} }
.card { .card {
background: var(--theme-bg-color);
padding: 20px; padding: 20px;
position: relative; position: relative;
display: flex; display: inline-flex;
place-content: center; place-content: center;
place-items: center; place-items: center;
overflow: hidden; overflow: hidden;
border-radius: 25px; border-radius: 25px;
position: absolute;
top: 100%;
left: 50%;
transform: translate(-50%, calc(-100% - 50px));
} }
.card::before { .card::before {
content: ''; content: '';
position: absolute; position: absolute;
width: 100px; width: 30%;
background: var(--theme-highlight-color); background: var(--theme-highlight-color);
height: 150%; height: 150%;
animation: rotBGimg 7s linear infinite; animation: rotBGimg 7s linear infinite;
@ -99,15 +114,47 @@ header h1 {
border-radius: 15px; border-radius: 15px;
} }
#mastospan {
text-wrap: nowrap;
}
svg#svg1826 {
display: inline;
}
@media (orientation: landscape) {
header {
flex-direction: row;
}
.card-container {
width: 50vw;
}
.pic-name-text {
width: 50vw;
height: 100vh;
}
.pic-name {
align-items: center;
}
.pic {
--dimension: calc(0.6 * min(50vw, 100vh));
width: var(--dimension);
height: var(--dimension);
}
}
</style> </style>
</head> </head>
<body class = ""> <body class = "">
<header class="h-card"> <header class="h-card">
<div class="profile-pic-name"> <div class="pic-name-text">
<div class="pic-name">
<img <img
src="/assets/images/avatar.jpeg" src="/assets/images/avatar.jpeg"
class="u-photo avatar" class="u-photo pic"
alt="A picture of me." alt="A picture of me."
height="175" height="175"
width="175" width="175"
@ -128,14 +175,15 @@ header h1 {
>@TomHodson {% include icons/github.svg %}</a >@TomHodson {% include icons/github.svg %}</a
> >
<a href="https://tech.lgbt/@Tomhodson" rel="me" class="u-url" <a href="https://tech.lgbt/@Tomhodson" rel="me" class="u-url"
>tech.lgbt/@Tomhodson {% include icons/mastodon.svg %}</a ><span id="mastospan">tech.lgbt/@Tomhodson</span> {% include icons/mastodon.svg %}</a
> >
</p> </p>
</div> </div>
</div>
<div class="card-container">
<a href = "/"> <a href = "/">
<div class = "card"> <div class = "card">
<img <img
src="/assets/badge/qr.svg" src="/assets/badge/qr.svg"
class="qr invertable" class="qr invertable"
@ -145,6 +193,7 @@ header h1 {
/> />
</div> </div>
</a> </a>
</div>
<div class="user-toggle"> <div class="user-toggle">

View File

@ -20,6 +20,7 @@ layout: none
{% for post in site.posts limit:20 %} {% for post in site.posts limit:20 %}
{% if post.draft == false or jekyll.environment == "development" %} {% if post.draft == false or jekyll.environment == "development" %}
{% unless post.exclude_from_rss %}
{ {
"id": "{{ post.url | prepend: site.baseurl | prepend: site.url }}", "id": "{{ post.url | prepend: site.baseurl | prepend: site.url }}",
"url": "{{ post.url | prepend: site.baseurl | prepend: site.url }}", "url": "{{ post.url | prepend: site.baseurl | prepend: site.url }}",
@ -30,6 +31,7 @@ layout: none
"date_published": "{{ post.date | date_to_rfc822 }}", "date_published": "{{ post.date | date_to_rfc822 }}",
"date_modified": "{{ post.last_modified_at | date_to_rfc822 }}" "date_modified": "{{ post.last_modified_at | date_to_rfc822 }}"
}{% unless forloop.last %},{% endunless %} }{% unless forloop.last %},{% endunless %}
{% endunless %}
{% endif %} {% endif %}
{% endfor %} {% endfor %}
] ]

View File

@ -19,6 +19,7 @@ layout: none
{% assign feed_items = site.feed.post_limit | default: 10 %} {% assign feed_items = site.feed.post_limit | default: 10 %}
{% for post in site.posts limit:feed_items %} {% for post in site.posts limit:feed_items %}
{% if post.draft == false or jekyll.environment == "development" %} {% if post.draft == false or jekyll.environment == "development" %}
{% unless post.exclude_from_rss %}
<item> <item>
<title>{{ post.title | xml_escape }}</title> <title>{{ post.title | xml_escape }}</title>
<dc:creator>Tom Hodson</dc:creator> <dc:creator>Tom Hodson</dc:creator>
@ -41,6 +42,7 @@ layout: none
<media:thumbnail width="250" height="250" url="{{ site.url }}{{ post.social_image }}"/> <media:thumbnail width="250" height="250" url="{{ site.url }}{{ post.social_image }}"/>
{% endif %} --> {% endif %} -->
</item> </item>
{% endunless %}
{% endif %} {% endif %}
{% endfor %} {% endfor %}
</channel> </channel>