dark mode

You have reached the personal homepage of an on-line entity known as derf / derfnull. Hi! 👋


I enjoy doing things and post some of them on this website. Things may include taking photos, poking at public transit APIs, or putting caffeine into chocolate. Blinkenlights and embedded development are nice, too, though I don't really get around to that anymore.

At work, I research performance modeling and performance-aware configuration methods for software and hardware product lines. Please refer to my professional website for details.



You can reach me by E-Mail (d​erf@fina​lr​ewind.org) and on IRC (derf0 @ oftc, hackint). My PGP key for E-Mail encryption is 64FE6EC0 55560F9E F13A3044 19E6E524 EBB177BA. I occasionally post stuff on the Fediverse (@derf@social.skyshaper.org). Outside of the internet, there is a good chance of finding me at the Chaosdorf Häkelspace hackspace.

The remainder of this page duplicates a curated sub-set of projects and the latest blog entries.


> efa Essen Martinstr Düsseldorf Hbf
14:34 ab  Essen Martinstr.: Bstg. 1      Straßenbahn 108      Essen Altenessen Bf Schleife
14:38 an  Essen Hauptbahnhof: Bstg. 1

14:47 ab  Essen Hauptbahnhof: 2          R-Bahn RE11 (RRX)    Düsseldorf Hbf
15:24 an  Düsseldorf Hbf: 10
> hafas-m 'Hamburg Dammtor'
14:43  +45  ICE 2922  Hamburg-Altona
15:10       U 1       Ohlstedt, Hamburg
15:10  +4   Bus 112   Osterbrookplatz, Hamburg
15:10       NBE RB61  Itzehoe
> db-iris 'Dortmund Hbf'
14:38 +16  IC 2027     Passau Hbf            11
14:39      ABR RE11    Kassel-Wilhelmshöhe   8
14:41      RE 57       Winterberg(Westf)     2
└────      RE 57       Brilon Wald           2
14:41      S 5         Hagen Hbf             5
14:42      S 2         Dortmund Hbf          6
14:45 +1   RE 1        Aachen Hbf            16


Travel-Status-DE-DeutscheBahn-4.12.tar.gz (signature)

  • Fix Journey->route and HAFAS geoSearch / locationSearch returning incorrect geocoordinates (latitude and longitude were mixed up)

Travel-Status-DE-IRIS-1.84.tar.gz (signature)

  • Update stations list
  • Add QoS code 78

Travel-Status-DE-DeutscheBahn-4.10.tar.gz (signature)

  • HAFAS->new, ->new_p: Add locationSearch option (search stops by name)
  • Journey->route, ->route_interesting: Return Travel::Status::DE::HAFAS::Stop instances

Travel-Status-DE-DeutscheBahn-4.09.tar.gz (signature)

  • HAFAS->new: Add geoSearch option (search stops by coordinates)

Over the past years, I have obtained a variety of buck and boost converters, mostly from AliExpress and ebay. Now that I finally have a way of characterizing them, I am curious about their performance in practice.

Today's specimen is an MT3608-based step up / boost converter from AliExpress. It's sold with a microUSB input, so boosting 5V from USB to 9V or 12V is a likely application. However, given its low quiescent current, it also seems like a good candidate for boosting ~3.7V from a LiIon battery to 5V for USB.


Advertised ratings vary. The following conservative estimates might be close to reality.

  • Input range: 3V .. 24 V
  • Output range: 5V .. 28V
  • Maximum input current: 0.8 A (1 A?) continuous, 2 A burst.
  • Quiescent current: ~100µA
  • Maybe: thermal overload protection
  • Maybe: internal 4 A over-current limit

The boost modules I have use a multi-turn potentiometer to configure output voltage.


In this setup, I focused on boosting LiIon voltage to 5V for USB output. LiIon voltage typically ranges from 3.0 to 4.2 V -- I went up to 4.5 V just to gather some more data.


I took reasonable care to calibrate my readings, but will not give any guarantees. The following results might not be close to reality, and might be affected by knock-off chips and sub-par circuit design.

Output Voltage Stability

Both input voltage and output power of a boost converter can vary over time, especially when powered via a LiIon battery. Its output voltage should remain constant in all cases, or only sag a little under load. Most importantly, it should never exceed its idle output voltage – otherwise, connected devices may break.

Up to about 400 mA output current, the converter is well-behaved. Beyond that (i.e., once its input current exceeds 800mA), its output voltage is all over the place – both below and above the set point. With an observed range of 4.5 to 5.7 V, it is also way outside the USB specification, which states that devices must accept 4.5 to 5.2 V.

So, I'd strongly advise against using this chip to power USB devices that may draw more than a few hundred mA.

At 9V and 12V output, I did not notice issues at up to 400 mA, but did not measure anything beyond that. Also, the measurement setup for these two benchmarks was a bit less accurate.


In low-power operation (no more than a few hundred mA), the converter is quite efficient. Beyond that (i.e., in the unstable output voltage area) its efficiency varies as well.

Further Observations

Once input current exceeds 800mA, the devices I have here emit a relatively loud, high-frequency noise.


Exercise caution to avoid frying USB devices.

Travel-Status-DE-DBWagenreihung-0.08.tar.gz (signature)

  • Switch to new API URL; the one used previously has been deactivated

Travel-Status-DE-DeutscheBahn-4.08.tar.gz (signature)

  • Journey: Correctly report route_end / originin arrivals mode
  • Journey->route: Add platform, sched_platform, rt_platform, and is_changed_platform accessors

Travel-Status-DE-DeutscheBahn-4.07.tar.gz (signature)

  • hafas-m: Fix uninitialized value warnings in "--list" output
  • Improve support for non-DB HAFAS instances
  • Fix day change handling in departure board mode. Previously, journeys arriving / departing after midnight had wrong timestamps in some cases.

Travel-Status-DE-DeutscheBahn-4.06.tar.gz (signature)

  • HAFAS->station: rename "uic" to "eva"; add "names" and "evas" keys
  • Rename Journey->station_uic to Journey->station_eva

Travel-Status-DE-DeutscheBahn-4.05.tar.gz (signature)

  • StopFinder: add new_p constructor for async requests via promises