diff --git a/content/_index.eo.md b/content/_index.eo.md
index 664645a..476c9f4 100644
--- a/content/_index.eo.md
+++ b/content/_index.eo.md
@@ -77,7 +77,7 @@ title = "Hejmo"
* [Publika ŝlosilo GPG](/tuxmain.asc)
* Mastodon
* [Kontaktformularo ZettaScript](//zettascript.org/contact.php)
-* [Libera Mono Ğ1](https://demo.cesium.app/#/app/wot/45GfjkWCWQhJ3epJVGC2NSg1Rcu4Ue1vDD3kk9eLs5TQ/) (publika ŝlosilo: `45GfjkWCWQhJ3epJVGC2NSg1Rcu4Ue1vDD3kk9eLs5TQ:CUw`)
+* [Libera Mono Ğ1](https://demo.cesium.app/#/app/wot/45GfjkWCWQhJ3epJVGC2NSg1Rcu4Ue1vDD3kk9eLs5TQ/)
* [GitLab Framagit](https://framagit.org/ZettaScript) (projektoj)
* [GitLab Duniter](https://git.duniter.org/tuxmain) (projektoj pri la libera mono)
* [Gitea P2P.legal](https://git.p2p.legal/tuxmain) (aliaj projektoj pri la libera mono)
@@ -87,4 +87,12 @@ title = "Hejmo"
+
+
+
+
+
+Doni en Ğ1 al 45GfjkWCWQhJ3epJVGC2NSg1Rcu4Ue1vDD3kk9eLs5TQ:CUw
+
+
⬘ Doni en Ethereum al `0x5e2101A637b28e561432fda9ffADB2b0D12c2116`
diff --git a/content/_index.fr.md b/content/_index.fr.md
index 30ec1f5..25c6c59 100644
--- a/content/_index.fr.md
+++ b/content/_index.fr.md
@@ -77,7 +77,7 @@ title = "Accueil"
* [Clé publique GPG](/tuxmain.asc)
* Mastodon
* [Formulaire de contact ZettaScript](//zettascript.org/contact.php)
-* [Monnaie Libre Ğ1](https://demo.cesium.app/#/app/wot/45GfjkWCWQhJ3epJVGC2NSg1Rcu4Ue1vDD3kk9eLs5TQ/) (clé publique : `45GfjkWCWQhJ3epJVGC2NSg1Rcu4Ue1vDD3kk9eLs5TQ:CUw`)
+* [Monnaie Libre Ğ1](https://demo.cesium.app/#/app/wot/45GfjkWCWQhJ3epJVGC2NSg1Rcu4Ue1vDD3kk9eLs5TQ/)
* [GitLab Framagit](https://framagit.org/ZettaScript) (projets en général)
* [GitLab Duniter](https://git.duniter.org/tuxmain) (projets pour la monnaie libre)
* [Gitea P2P.legal](https://git.p2p.legal/tuxmain) (autres projets pour la monnaie libre)
@@ -87,4 +87,12 @@ title = "Accueil"
+
+
+
+
+
+Donner en Ğ1 à 45GfjkWCWQhJ3epJVGC2NSg1Rcu4Ue1vDD3kk9eLs5TQ:CUw
+
+
⬘ Donner en Ethereum à `0x5e2101A637b28e561432fda9ffADB2b0D12c2116`
diff --git a/content/_index.md b/content/_index.md
index 95ae9e3..815d789 100644
--- a/content/_index.md
+++ b/content/_index.md
@@ -75,7 +75,7 @@ title = "homepage"
* [GPG public key](/tuxmain.asc)
* Mastodon
* [ZettaScript contact form](//zettascript.org/contact.php)
-* [Libre Currency Ğ1](https://demo.cesium.app/#/app/wot/45GfjkWCWQhJ3epJVGC2NSg1Rcu4Ue1vDD3kk9eLs5TQ/) (pubkey: `45GfjkWCWQhJ3epJVGC2NSg1Rcu4Ue1vDD3kk9eLs5TQ:CUw`)
+* [Libre Currency Ğ1](https://demo.cesium.app/#/app/wot/45GfjkWCWQhJ3epJVGC2NSg1Rcu4Ue1vDD3kk9eLs5TQ/)
* [GitLab Framagit](https://framagit.org/ZettaScript) (projects in general)
* [GitLab Duniter](https://git.duniter.org/tuxmain) (projects about libre currency)
* [Gitea P2P.legal](https://git.p2p.legal/tuxmain) (also projects about libre currency)
@@ -85,4 +85,12 @@ title = "homepage"
+
+
+
+
+
+Donate Ğ1 at 45GfjkWCWQhJ3epJVGC2NSg1Rcu4Ue1vDD3kk9eLs5TQ:CUw
+
+
⬘ Donate Ethereum at `0x5e2101A637b28e561432fda9ffADB2b0D12c2116`
diff --git a/content/blog/arduino-nikon-remote/index.md b/content/blog/arduino-nikon-remote/index.md
new file mode 100644
index 0000000..e929810
--- /dev/null
+++ b/content/blog/arduino-nikon-remote/index.md
@@ -0,0 +1,64 @@
++++
+title = "Timelapse and space birds"
+date = 2025-09-01
+description = "Photo trigger and presence detector"
+insert_anchor_links = "left"
+[taxonomies]
+tags = ["Arduino", "electronics", "photo"]
++++
+
+## A robin in the stars
+
+Robins, sparrows, blackbirds and titmouses visit the garden all day but fly away a soon as a hominid approaches.
+Then how to picture them without a telephoto lens?
+By crafting a trigger with an infrared distance sensor!
+
+
+
+
+
+
+
+[More high-res photos are available here.](/img/birds/)
+
+## Humble timelapse
+
+There is also a periodic mode, to make a timelapse.
+
+In the video, brightness varies because I forgot to disable automatic white balance.
+
+
+
+## The trigger
+
+My camera (Nikon D3000) has an infrared sensor but I don't have the remote that works with it.
+Fortunately someone published an Arduino program for replicating the remote's signal: [_Nikon Remote Emulator_ by Gough Lui](https://goughlui.com/2013/12/06/teardown-and-project-clone-nikon-ml-l3-ir-remote-and-emulation/).
+You only need a microcontroller and an infrared LED (salvaged from an old TV remote).
+
+The bird detector is an infrared distance sensor GP2D12, capable of (very approximately) evaluating distance from 20 to 80cm.
+It's mounted on an articulated arm, at a distance from the camera (to be able to tune the focal and avoid frightening the birds).
+
+The switch allows to choose a mode (either detector or fixed interval), and a potentiometer to choose a value (distance in the detector mode, duration in the interval mode).
+
+The program also triggers the camera every few minutes to prevent it from going to sleep mode (which would require a manual reset).
+
+The case is designed for an Arduino Micro but an ATtiny402 would be more than enough.
+The articulated arm can be fixed on the camera's tripod.
+
+
+
+* [nikon_ir_trigger.ino](nikon_ir_trigger.ino) (Arduino program)
+* [timelapser.scad](timelapser.scad) (3D model [OpenSCAD](https://openscad.org/), for 3D printing)
+* [pitch.scad](pitch.scad) (screw pitch and bolt support)
+
+## Credits
+
+The montage with the robin includes two images of which I am not the author:
+
+* _Adelie Penguin (Pygoscelis adeliae) group on iceberg, Antarctic Peninsula, Antarctica_, image shared everywhere on the Internet without attribution, and I can't find the original publication.
+* [Westerlund 2, photographed by the Hubble Space Telescope (heic1509a)](https://esahubble.org/images/heic1509a/)
+
+Images edited with Gimp, optimized with YOGA Image Optimizer.
+
+No animal was hurt during the photo shootings.
+The participants did not sign any image rights but were remunerated in seeds.