Pico_ducky „bad usb“

A fast and convenient way to automate some tasks is to create an „bad usb“ working as a HID (human interface device), typing in commands for you. eg. doing a backup or starting apps you need.

I did this on an rapberry pico.

Step 1:

  • Download CircuitPython
  • Plug your raspberry pi pico in
  • Copy & paste the downloaded .uf2 in the raspberry pi pico.
  • Unplug and plug your raspberry pi pico

Now your Raspberry pi pico will be the CircuitPython.

Step 2:

Step 3:

  • Delete the code.py file from raspberry pi pico.
  • Download the python file which will convert our payload. File Download Link ⇒ pico-ducky
  • Open the folder and copy & paste the duckyinpython.py file to the raspi pico.
  • Rename the duckyinpython.py file to the code.py.

OK, now load a payload on the raspi and watch.

But: it works as an englisah (US) HID, on a german language PC it will not work.

So I did this:

Go to the latest release page, look if your language is in the list.

Download the py zip, named circuitpython-keyboard-layouts-py-XXXXXXXX.zip

Find your language/layout in the lib directory

For a language de, copy the following files from the zip’s lib folder to the lib directory of the board.
DO NOT modify the adafruit_hid directory. Your files go directly in lib.
DO NOT change the names or extensions of the files. Just pick the right ones.
Replace LANG with the letters for your language of choice.

  • keyboard_layout.py
  • keyboard_layout_win_de.py
  • keycode_win_de.py

Modify the pico-ducky.py (later) code.py on the pi to use your language file:

At the start of the code.py replace these lines:

from adafruit_hid.keyboard_layout_us import KeyboardLayoutUS
from adafruit_hid.keycode import Keycode

With this lines:

from keyboard_layout_win_de import KeyboardLayout
from keycode_win_de import Keycode

And also replace this line:

layout = KeyboardLayoutUS(kbd)

With this line:

layout = KeyboardLayout(kbd)

Now — you have a ducky for a german pc…

HC 110

HC 110 seems to have a upswept curve.

Dilution from EUROPEAN CONCENTRATE (500 1466)240 mL
(1 roll, steel tank)
300 mL
(1 roll, plastic tank)
480 mL
(2 rolls, steel tank)
600 mL
(2 rolls, plastic tank)
A (1:4)48 mL60 mL96 mL120 mL
B (1:9)24 mL30 mL48 mL60 mL
C (1:5.25)38.5 mL48 mL77 mL96 mL
D (1:11.5)21 mL26 mL38.5 mL52 mL
E (1:14)16 mL20 mL32 mL40 mL
F (1:24)9.6 mL*12 mL*19 mL24 mL
G (1:36.5)6.4 mL*8 mL*12.8 mL*16 mL*
H (1:19)12 mL*15 mL*24 mL30 mL

*Be sure to use at least 19.2 mL of European concentrate per 135-36 or 120 roll of film, even if this requires you to put more than the usual amount of liquid in the tank.

Dilutions G and H are unofficial — not described in any Kodak publications. See „Unusual Uses“ below. I use Dilution H as a substitute for Dilution B to give twice the development time.

Dilutions C, D, and E seem to have been designed to match, respectively, the developing times of DK-50, DK-50 1:1, and DK-50 1:2 with sheet film (Carroll, Photographic Lab Handbook, 1979).

With this developer, development time is roughly proportional to dilution. Thus:

Dilution DDevelop 25% longer than with Dilution B
Dilution EDevelop 50% longer than with Dilution B
Dilution FDevelop 2.5 times as long as with Dilution B

Foma Film

This is a nice film for its price.

The recirprocity is really „bad“, but I still like it, even for my pinhole shots if there is some light.


100 very good with Tmax and Rodinal
, my favorite Foma film in all formats
200 don t like this film, never used it
400 rather grainy
320 retro I find the film not sharp enough

Software: Darktable

With the midyear 2021 I ended my worklife.

Adobe cloud is a rather expensive abo for an amateur and hobbyist, so I switched to Darktable and gimp.

Gimp is miles behind photoshop, but for my seldom used meager skills it is just fine.

Darktable is brilliant.

Of course the organizer part is rudimentary, but the modules are absolutely great, there are lots of tutorials and if you like mathematical or technical background you get it if you want it.

In the new version I fell absolutely in love with the negadoctor module to work with my scanned negs (color or bw).

Bruce Williams did a fabulous job with his about 100 tutorial vieos „hands on“ and Alexanders vids in „a dabble with photography“ give you the theoretical background.

Tip in Darktable:

In Inkscape import a nice sky and save it as vektorfile .svg in Program files-darkatbale-share-darktable-watermarks.

Now you can mask a sky and insert a new one as watermark (module watermark).

Macbook air 2016 with Kali Linux

I read a lot about wifi problems or mousepad problems installing linux on mac hardware and thze possible workarounds.

Now I tried a life distro of kali, it worked out of the box.

Than I burnt the kali regular distro on a usb stick and ran the installer.

Absolutely no problems, mousepad, wifi, display resolution working flawless.

Lightroom – Grunge look

​Grunge Effekt

1. Import the file into Lightroom and in the Develop module, use the eyedropper tool and do a custom white balance .

This is achieved by finding a neutral area on your image (gray or white)

Another option is to use Lightroom’s auto white balance.

2. Increase shadows (+85) and decrease highlights (-60).

3. Switch on clipping mask (J) or by clicking on little triangles above the histogram.

Move the blacks slider to the left until your image good blacks. The areas in blue highlight loss of detail in the shadows,

move the highlights to the right and areas highlighted in red indicate loss of detail in highlights.

4. Increase the mid-tone contrast (or clarity).

5. Decrease saturation

6. Increase vibrance to bring some tone back.

7. Add a vignette from the Effects menu.

Raspberry Pi Camera Surveillance

My goal was to use the raspi as a surveillance camera. It should send me pics if movement is detected. Here my tips and tricks…

(remember : this is just my logbook, not a tutorial with all details…)

The difficult way — Motion

Using Raspberry Pi Imager to burn the sd card. First surprise:

CTRL+SHIFT+X gives you an advanced menu and you can configure you ssh and wlan before even burning. Sweet!

Install motion software.

sudo apt-get install motion

sudo motion start

cd /etc/motion/

sudo nano motion.conf

stream_localhost – set it to off

Install sendmail

$ sudo apt-get remove postfix
$ sudo apt-get purge postfix

$ sudo su

apt-get install sendmail sendmail-bin mailutils

Later I found (long search) I had to install this, too

# sudo apt-get install libsasl2-modules

#  mkdir -m 700 /etc/mail/authinfo

create a file named gmail-smtp-raspi (or else) and input your gmail account here

#  nano /etc/mail/authinfo/gmail-smtp-raspi
Fill in : 
AuthInfo: "U:root" "I:USER@gmail.com" "P:GMAIL_USER_PASSWORD"


We have to create a database map from gmail-smtp-raspi (or else) file using makemap utility as below command.

# makemap hash /etc/mail/authinfo/gmail-smtp-raspi < /etc/mail/authinfo/gmail-smtp-raspi 

# nano /etc/mail/sendmail.mc

Next, Copy and Paste below lines in /etc/mail/sendmail.mc file above MAILER_DEFINITIONS as shown below,

dnl #
dnl # Defining Gmail Smarthost for sendmail
define(`SMART_HOST',`[smtp.gmail.com]')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
define(`ESMTP_MAILER_ARGS', `TCP $h 587')dnl
define(`confAUTH_OPTIONS', `A p')dnl
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo',`hash -o /etc/mail/authinfo/gmail-smtp-raspi.db')dnl

dnl #
dnl # Default Mailer setup
MAILER_DEFINITIONS
MAILER(`local')dnl
MAILER(`smtp')dnl

# make -C /etc/mail

# /etc/init.d/sendmail reload

Test it:

# echo „test mail for sendmail gmail relay“ | mail -s „Sendmail Test“ fosstechnix@gmail.com

You may have to switch the settings in your google account to allow unsecure apps.

The easy way — Motioneye

Download the latest MotionEyeOS software release

Install the image on the sd card

Now we install the wlan access

sudo nano /media/<user>/rootfs/etc/wpa_supplicant/wpa_supplicant.conf

and put this in the above created file:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=DE
network={
    ssid="<network id>"
    scan_ssid=1
    psk="<network key>"
    key_mgmt=WPA-PSK
}

Now ssh enable if you want:

cd /media/<user>/boot/

touch ssh

Strg C

Now the sd card in the raspi,



OK, get the raspi IP with a ip scanner,

than login with your browser to this IP.



    Username: admin
    Password: [No password, leave blank]


You can configure pretty much everything in your web user interface. We recommend taking a look at the following configurations when configuring the MotionEyeOS for the first time.

    Go to the three bars menu, and open the General Settings;
    Enable Advanced Settings;
    You can set the admin username and set a password;
    You can also set a name for a surveillance user, and its password;
    Set your timezone and a hostname.

Click the orange button at the top right “Apply”  – this will require a reboot.


Ready to go



Ergänzung des Intuvia mit Cobi Bike Sport

Für längere Touren habe ich für meinen Bosch Antrieb das Cobi Bike Sport Set gekauft, das intuvia Display bleibt weiterhin für die Pendelfahrten über kurze Strecken.

Die Installation verlief nach zwei Wochen vorherigem Mitlesen in der Facebook Gruppe ohne Probleme, die wenig intuitiv zu bedienende App lief sofort gut und stabil auf meinem Note 20.

Ein Klickfix E90 Distanzset (ca. 20 Euro) erlaubt mir weiterhin die praktische Lenkertasche am Klickfix Lenkerhalter zu benutzen.

Der Tipp die Cobi App im geteilten Bildschirm zu benutzen (Android) war Gold wert, so kann parallel Locus o.ä. genutzt werden.

Eine Umrüstung der Daumen-Bedieneinheit auf eine Nyon Einheit (ca 45 Euro)erlaubt das problemlose Zoomen in der Cobi Karte.

chaotic firmware update Epson ET-2750

The regular firmware update of my printer ended in a seemingly bricked machine.

Neither in the manual nor in the online portal this problem was mentioned.

I found several posts in forums and groups, no solution was offered.

But … a long search session later there was one anonymus post which solved my problem:

Error message:

„Printer Mode

Set Jig

Push [OK] BT“

Unplugging the printer and various other voodoo doesn’t work, but I found a way to force it to technician mode.

Make sure the unit is off.

Then, while holding down the Home button, press the Power button for a few seconds. Eventually, you’ll get a screen with 4 options on it.

Go to 4, Normal mode.

On my machine, it defaulted to Japanese, which I don’t read like I suspect most of you don’t either. To Change the Language:

  1. You need to go the Gear icon (Settings) and hit OK on the control panel.
  2. Right arrow on the control panel once (to 2 / 10)
  3. Click OK
  4. Right arrow on the control panel 3 tunes (to 4 / 8)
  5. Find your language on the list by using the up and down arrows on the control panel
  6. Click OK

I had to reset my printer to work with my network by going to the WiFI Setup.

I then found the Print Network settings option on the printer and printed out the details so I’d have them when I finished setting up the printer on my PC.

Once that was done, I had to go to my PC (Windows 10-64 bit OS) and go to Printer Properties to find and install a „new“ printer.

Another way (epson recommendation) would be to use the utility at https://www.wic.support/download/

I never tried. I will rather buy a new printer if epson will not fix the annoying and repeating set Jig problem.