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