Building upon AndroidAPS? [EN]

Because of my blog post „Completing AndroidAPS objectives – the developer way“ many people contacted me to complain about the objectives. As I wrote in my article I see the need that people using AndroidAPS should have some kind of training, but I don’t like the way how it’s done today.

Also there are many other „functions“ in the app I find annoying (or patronizing). For instance:

  • Objectives (of course)
  • Spamming me with text walls when I want to give a second meal bolus
  • Try to kill me with SMB after eating something as hypo treatment
  • Many restrictions in the „Actions“ plugin
  • Warnings with 1g carbohydrate suggestions (seriously? 1g ??)
  • Version update warnings

Also I find there are missing features, such as:

  • Logging fitness tracker data
  • Using fitness tracker data for looping
  • Interface for „Alexa“ commands
  • Some kind of useful reminder for missed meal bolus

I thought about building a modified AAPS to takle these issues but the developers have some measures to make this harder than expected. For example, I just found a module to check the signature of the APK and compare it to a black list. If your signature is on the black list, the app will stop functioning.

In summary, using AndroidAPS as basis for your own app might be tricky. It takes a substantial amount of work to clear the code from all the „safety“ mechanisms to make sure the devs can’t pull a self destruction trigger, or leaking data, or something like that. I still don’t know if it’s worth my time to follow the „own app“ path…

What do you think about the measures of the devs? Do you think that’s the good right of the devs or is it violating the spirit of open source? Let me know in comments down below!

Petrol Car Efficiency [DE]

Es gibt viele gute Gründe ein EV (electric vehicle) anstelle eines Verbrenners zu kaufen. Aber lassen wir diesmal die ganzen Umwelt-, Lebensqualität- und Fahrspaß-Gründe außen vor…

Als Ingenieur interessiert mich immer die Effizienz eines Systems. Ich freue mich einfach über gute Lösungen für ein Problem, die möglichst wenig Ressourcen verschwenden. Ich denke ziemlich viele Menschen wissen, dass ein Verbrenner einen Spizenwirkungsgrad von ca. 30% haben (also 100% chemische Energie rein, 30% Bewegung raus) und eine Elektromotor einen Spizenwirkungsgrad von >90%. Ok Thema erledigt? Jein … die Energie muss ja irgendwo her kommen. Sagen wir mal wir erzeugen die elektrische Energie aus Diesel-Öl und vergelichen es zu einem Dieselmotor.

Also: Die Ausgangssituation sind zwei fast baugleiche Fahrzeuge, die sich nur in ihrem Antrieb unterscheiden. Um eine bestimmte Strecke zu fahren verbrauchen die beiden Fahrzeuge eine gewisse Menge Energie. Ein Verbrenner verbraucht Benzin/Diesel und ein EV verbraucht eletrkischen Strom aus der Batterie.

Als Beispiel habe ich mal den VW Golf ausgesucht, denn den gibt es als EV und als Diesel. Außerdem richtet sich das Fahrzeug an eine Zielgruppe die ein Auto als Fortbewegungsobjekt und weniger als Statusobjekt nutzt. Laut bekommt man folgende Verbrausdaten:

Verbrauchsdaten des VW E-Golf laut Spritmonitor (in kWh/100km)
Verbrauchsdaten des VW Golf TDI laut Spritmonitor (in l/100km)

Der Median für den Verbrenner ist also 5,8 Liter Diesel pro 100 km und des EV 16,2 kWh pro 100 km. Diesel hat einen durchschnittlichen Energiegehalt von ca. 9,8 kWh, d.h. der Verbrenner verbraucht 56,84 kWh pro 100 km. Ok aber wie viel Energie würde das EV aus Diesel-Öl verbrauchen? Hierzu nehme ich die Angaben von zur Berechnung des Treibstoffverbrauchs. In den Unterlagen findet man folgende Formel:

Formel zur Berechnung des Treibstoffverbrauchs eines Diesel-Aggregats

Die Einheitenbetrachtung zeigt, dass man für Rho kg/l als Einheit verwenden muss. Also wir setzten ein: V_spez. = 0,220 (aus dem Datenblatt), Rho = 0,835, Eta = 94 (aus dem Datenblatt), P_el = 19,754 (die verbrauchten 16,2 kWh + 22% Ladeverluste) und erhalten 5,53 l/h. Die Rechnung geht davon aus, dass das Agregat im besten Wirkungsgrad 1h arbeitet, um die 100 km Reichweite in das EV zu laden.

Also ziehen wir Bilanz: Der Verbrenner verbraucht ca. 10x so viel Diesel-Öl wie das EV. Wenn das bei der nächsten Stammtischdiskusion nicht weiter hilft, dann weiß ich auch nicht 😀

Offensichtlich ist das eine enorme Vereinfachung die allerdings einen gewissen Wert hat. Je mehr Details in diese Modellrechnung aufgenommen werden (Förderung des Öls, Transport des Treibstoffs, Erneuerbare-Energie …) desto schlechter sieht es für den Verbrenner aus. Deswegen muss man eigentlich gar nicht weiter rechnen 😀 Wenig überraschend ist der Sieger das EV 🙂

Completing AndroidAPS objectives – the developer way

Note: I will not answer any questions how to skip the objectives. If you are a developer I’m sure you figure it out within a few hours, but if not, you probably should complete them as you need a basic understanding how the system works.

Currently I’m testing Android APS with a second pump to get some experience with it and to evaluate if we can use it for our research. Apperently it has an education feature called „Objectives“ which teaches basic knowlege about the system. Even though I think the basic idea is very good, I don’t like the implementation. I thought I should try it, just in case there is something for me to learn but after I finished the first two of them (which were indeed interesting) they asked me questions about their documentation… Yes maybe people should be encuraged to read the documentation, but why should I know how to monitor children?? Or how the documentation author wants me to backup my data ??? And why are the answers written to confuse the reader instead of making the user think about the question ?!

I hated this part so much that I went straight to the AndroidAPS gitter room and complained to the developers that they are wasting my lifetime (and theirs too) with these questions. In my rage I totally fogot that they are nice people, spending their free time to write this application… Well, I apologized a short time later, but my point holds true. These „Objectives“ are a complete waste of time (in my optinion). We as developers are not in charge to keep stupid people from doing stupid things. We should warn them, but that’s all. We should not annoy other interested developers / scientists… I went to the code and looked up the answers to pass this objective.

Afterwards, I came back to my „maybe I should try it“ mode. But the next objective wanted me not only to enact some temporary basals by hand, but also to wait several days … Why should I do the looping by hand??? I do this 30 years by now. That’s what the looping software is supposed to do… And the waiting time serves no reason at all (in my oppinion). But the objective says I could ask for a shortcut code … and now the interesting part … when the developers *review my data* and think I’m experienced enough to start looping. I immediately entered rage mode again: „Who are they to decide if I’m good enough to use this software!“ I thought (Obviously this violated my professional integrity). But ok … I went back to the code to find out how they generate their shortcut code. After finding the respective code I used some standard tools to generete the code by myself. Done. It can be so easy 🙂

FAQ Miniloop

Some people liked my board and got a free sample 🙂 Unfortunately, I’m now faced with some support issues and want to summarize the most important aspects for getting started:

  • First of all: You do this at your own risk! I can’t give any kind of guarantees or support for the board or what you do with it. Please respect local law and regulations when you build your board.
  • NEVER power your Pi with a power supply when the board is connected. The board has no safety functions at all and I have no idea what happens with the voltage regulator or the connected battery when you connect a power supply to the Pi.
  • You have to solder one jumper on the board which was not described in the previous post. I made a picture to show you how to connect. However, in general you should consult the schematic to answer such questions.
  • The oref0 setup doesn’t support the board directly, but you can follow the install instructions for general RFM69HCW radio modules here.


BUT NOTE: I stopped working on this board, as Adafruit released the RFM69HCW Bonnet board, which is a Pi HAT with a radio transceiver and a OLED display. It’s also supported by the oref0-setup. I’ll post some more information about it soon.

Miniloop v0.1 Daughter Board

Since three month, I spend some time in the OpenAPS community. Of course I build some rigs and I try to find the optimal configuration for me at the moment. My design goals are clear:

  • I want a super small rig, to carry it around all the time.
  • It should run for at least one working day (10 hours).
  • It should be super cheap to build, since it is a commodity item and may get damaged regularly.
  • I don’t want to spend to much time to care about software issues.

Thankfully, the OpenAPS community has nearly the same design goals, and thus, there is lot’s of soft- and hardware around the RaspberryPi Zero. The current state-of-the-art solution is the Pi0 together with a communication board called 900MHZ Explorer HAT. It offers a radio chip, a step-up converter to use 1S Li-Po batteries to power the pi, a charging circuit to charge the 1S Li-Po, some LEDs and a display. It works quite well, but let’s face it: I hate it! I have lots of complains about that board, but that’s a topic for a different post. The important points are:

  • It’s way to expensive! (~180 EUR inkl. tax, toll and shipping).
  • I don’t need the display.

So .. typical (maybe German) reaction from my side: „Hold my beer for a moment, I can do that!“. I thought a bit, how to make it super small and easy to build at the same time (since I have no clue about electrical engineering). My solution was to build a daughter board, holding a RF module, a chip antenna, the Pi0, a buck-boost regulator and a ADC for measuring battery voltage. I also added some buttons and some LEDs just in case …


After some work making a schematic and a board design, I simply ordered everything and tired to build it up. The board came as 3 in 1 panels, so I had so separate them first. The quality looks decent and it seems to have enough space for all components.

Motivated from this first success I started soldering. As one of my design goals was easy to build, I used 1206 SMD components, since they are pretty easy to solder but keep the design small. As power plug I used a XT40 connector, since I have a lot of 2S batteries from my drones (caution: the voltage regulator destroys itself and every other component on the board including the Pi0 if you put more voltage than 11V). The RFM69 is place able as SMD component out of the box. For the voltage regulator I had to cut the board a bit, to be able to solder the through hole connections to my daughter board, but wasn’t any of an issue.

BTW: As minimal version, it’s enough to solder the voltage regulator, the radio board and a power plug along with some pin headers for the PI0. As Antenna a piece of wire with a length of 86 mm (for 868 MHz) is good enough.

As always in my hardware projects, I had some issues while placing the components. I figured, the SD-card slot is unreachable if I solder the buttons and the Pi und the bottom layer.

2018-07-06 15.48.56

To fix this, I put the Pi0 on the upper layer. The result isn’t as thin as it was supposed to be, but still ok (and still thinner as the Explorer HAT 😀 ). For now, it’s good enough as development platform and for testing. When the main problems are solved and the software is ported, maybe I’ll update the design to match the original design goals.

2018-07-06 15.52.23

I put together some affiliate links if you want to gather the parts at Amazon:

One word on software support: Since the OpenAPS usually uses a different (and lot more expensive) radio device, the RFM69 is not supported out of the box. At the current time, it’s possible to run this board with the oref0 version 0.7.0-dev, if the corresponding communication programs (programmed in GO-lang) are compiled with the tag „-tags rfm69“. More information about this is shown on github. I’ll work on this and write an update when the software is full compatible.

PS: I have some left over boards, which I’ll give away for free (except shipping). Just ask if you like to have one 🙂

Contour NEXT Link & Link 2.4 Teardown

Für die Insulinpumpen von Medtronic gibt es schon einige Jahre lang Blutzuckermessgeräte die das Messergebnis per Funk an die Pumpe übertragen können. Laut Hersteller braucht man das, um weniger Eingabefehler zu machen 😀 . Ich fühle mich zwar im Stande eine 2-3 stellige Zahl abzuschreiben aber finde es dennoch sehr praktisch, da es viel schneller und bequemer ist. Die aktuelle Reihe dieser Geräte sind die Contour NEXT Link für Paradigm Insulinpumpen und die Contour NEXT Link 2.4 für die neuen 600er Insulinpumpen. Ich habe mich immer gefragt warum man den Nachfolger 2.4 und nicht 2 nennt aber dazu gleich mehr!

2017-08-27 22.11.55

Allerdings habe ich mich immer gefragt was technisch hinter dem Zauber steckt. Meine Annahme war, ein Standard-Prozessor der die Messung erledigt, ein Funk-Chip zur Übertragung und ein rieeeeesiger Akku. Ich wollte es dann doch aber etwas genauer wissen und hab mal eins auseinander genommen:

2017-08-23 00.22.25

Mein erster Eindruck war etwas ernüchternd. Der Akku ist winzig (!!) und es ist noch jede Menge Luft im Gehäuse. Nicht das mir die Akkulaufzeit nicht reicht, ganz im Gegenteil. Aber man hätte das Ding halb so dick bauen können …. Ok weiter im Text: Man sieht eine schöne Platine mit integrierter Antenne, auf der anderen Seite das Display. Also mal weiter auseinander nehmen:

2017-08-23 00.15.29

Unter dem Display findet sich ein Slot für die Teststreifen, zwei Mikrocontroller und jede Menge Kleinkram. Ich war etwas überrascht, dass es gleich zwei Mikrocontroller sind. Google lieferte mir auch keine belastbaren Informationen. Der eine ist ein „Toshiba T5DB0“ der vermutlich der Hauptprozessor ist, denn in einem Forum habe ich gelesen, dass der gleiche Chip in älteren Geräten zu finden ist. Der andere Chip mit dem formschönen Namen „F3796 018 usw“ scheint mir ein Displaycontroller zu sein, da er mit dem Display-Connector verbunden ist.

2017-08-23 00.14.40

Hätte man sich meiner Meinung nach alles sparen können, denn ich benutze das Gerät nur um einen Teststreifen einzustecken und Blut drauf zu geben wenn ich dazu aufgefordert werde. Den Wert lese ich auf der Pumpe ab. Früher haben die Geräte auch schneller gebootet, da man kein Farbdisplay hatte auf dem 100 Logos eingeblendet wurden bevor man messen kann … Aber gut, lass sie machen.

Kommen wir zum interessanten Teil: Der Funkübertragung! Unter dem EM-Shield findet man einen Funk-Chip von Texas Instruments, den CC2430 (müsst Ihr mir jetzt glauben, ich habe das EM-Shield nicht vollständig entfernt da ich das Gerät noch brauche und konnte deshalb kein Foto machen). Das Datenblatt sagt, dass es sich um einen ZigBee-Chip auf dem 2.4 GHz Band handelt. Ahaaaa 2.4!!! Ich bin ein wenig überrascht, warum Medtronic von ihrem 868 MHz Band auf das 2.4er gewechselt sind. Aus meinen Vorlesungen habe ich noch im Hinterkopf, dass niedrige Frequenzen (im Vergleich zu hohen Frequenzen) weniger Energie brauchen und höhere Reichweite haben. 2.4 GHz hat den Vorteil, dass man die Antenne kompakter bauen kann und man mehr Bandbreite hat. Beide Punkte werden von dem Gerät nicht genutzt .. also … WTF! Man hat sich jetzt ein Band ausgesucht, dass dank WLAN total überlastet ist, mehr Energie verbraucht oder kürzere Reichweite hat und sich damit sicherlich einige Störungen eingehandelt …

2017-08-23 00.14.31

Die einzigen beiden plausiblen Gründe die mir für so eine Entscheidung einfallen sind:

  • Lizenzkosten für das 868 MHz Band (keine Ahnung was das kostet, aber soweit ich weiss ist 2.4 GHz weltweit kostenlos da es ein ISM Band ist und 868 MHz nicht).
  • Man wollte diese (völlig nutzlose) „ich kann jetzt von meiner Pumpe aus einen manuellen Bolus geben“-Funktion einbauen, hat aber keine Lust gehabt das eigene Protokoll zu erweitern und hat ZigBee eingekauft. WTF ZigBee … das Protokoll über das es mehr security-break-Paper gibt als Bibeln im Jahr verkauft werden. Für ein lebenswichtiges Gerät!! Gäbe es doch nur ein Protokoll auf dem 2.4 GHz Band, dass halbwegs sicher und energiesparend ist und bereits für den Gesundheitseinsatz Protokolle definiert hat … Aber auf der anderen Seite ist das ganz nett, denn ZigBee ist deutlich leichter abzuhören als das 868 MHz Band, denn das Protokoll ist bekannt und die Hardware ist billig (das riecht nach einem Projekt).

Mich hat dann doch noch interessiert was die „alten“ Geräte zu bieten haben. Der Aufbaut ist prinzipiell identisch. Aber es ist natürlich kein ZigBee-Chip verbaut, sondern ein Funk-Chip der das 868 MHz Band unterstützt: Der CC1110 von Texas Instruments. Bei dem alten Geräte haben ich dann natürlich für ein Foto den EM-Shield entfernt 😉 .

2017-08-23 00.16.11

Wir werden sehen wo das alles noch hin führt. Ich würde ja gerne mal in so ne Entwicklungsabteilung schauen und die Leute fragen was sie eigentlich so den halben Tag rauchen 😀 .

Sonoff Smart Home integration

Ich habe mir vor Monaten von Sonoff ein paar WLAN Relais gekauft, weil ich gelesen habe, dass sie auf dem ESP8266 von Espressif basieren.

2017-08-26 19.18.22

Für alle die den ESP8266 nicht kennen: Schämt euch! Spass bei Seite: das ist ein WLAN Controller der sehr häufig auf Bastler und in Arduino WLAN-Modulen verbaut wird. Außerdem bietet er selbst relativ brauchbare (aber nicht besonders Stromsparende) Rechenleistung. Inzwischen lässt sich die Firmware auch ganz bequem per Arduino-Framework programmieren. Dadurch hat der Chip eine relativ große Community bekommen, denn ein Modul kostet gerade mal 2-3 Euro und Developer-Boards gibt es schon ab 8 Euro (convenient affiliate link). Inzwischen gibt es den ESP32, der (wie der Name suggeriert) einen 32Bit 2-Core Prozessor hat und sich ebenfalls (zumindest teilweise denn die Implementierung ist noch nicht fertig) über das Arduino-Framework programmieren lässt. Dieser bietet neben WLAN auch Bluetooth LE zur Kommunikation (noch ein convenient affiliate link). Märchenstunde Ende.2017-08-26 19.17.41

Ok warum ist das interessant? Sonoff ist ein China-Smart-Home-Hersteller der inzwischen eine ansehnliche Auswahl an Geräten hat (die alle auf dem ESP basieren). Das schöne ist jetzt, dass man die China-Firmware weg schmeissen und die Geräte gemütlich über das Arduino-Toolkit mit eigener Firmware ausstatten kann. Es drängt sich ja geradezu auf, die Relais per MQTT ansteuern zu wollen und sie dann in ein anständiges Smart-Home System einzubinden. Der Vorteil gegenüber dem kompletten selbstbau ist, dass man eine doch halbwegs brauchbar designte und gelötete Platine erhält und alles schön kompakt in einem Gehäuse sicher verpackt ist. Das alles zu einem attraktiven Preis und super zeitsparend. Außerdem sind die Programmierpins auf den Platienen prakitscherweise immer sehr gut erreichbar (oft ohne löten).

Wie so oft ist man nicht der Erste mit der Idee und nach kurzem googlen habe ich ein sehr cooles Projekt entdeckt, dass genau das macht: Tasmota. Das Projekt liefert (offenen (yeey)) Source-Code, um alles mögliche (wie auch MQTT Ansteuerung) mit den Sonoff Modulen zu machen. Außerdem unterstützt es nahezu die vollständige Bandbreite der Sonoff Produkte 🙂

Man kann ziemlich straight forward durch deren Wiki marschieren und einfach machen was da steht. Ich habe nur kurz PlatformIO eingerichtet, die Config so eingestellt, dass sich das Gerät mit einer statischen IP (geht schneller nach dem sleep) im WLAN anmeldet, MQTT (und sonst nichts) unterstützt, sich bei Leerlauf 250ms lang schlafen legt und über eine Web-Interface konfigurierbar ist… ideal! 🙂 Danach einfach Kompilieren und Flashen. Hat mich keine Stunde gekostet (inkl. einrichten und Doku lesen). Beim Flashen musste ich allerdings eine ordentliche Stromversorgung ran schaffen, denn mein FTDI-Adapter lieferte nicht genug Leistung. Das es dazu kein Hinweis im Wiki gibt finde ich seltsam, denn das ist ein übliches Problem bei den ESPs (dass sie eine anständige Stromversorgung beim Programmieren brauchen). Aber es sei ihnen verziehen, denn alles andere hat super geklappt.

2017-08-26 18.48.18

Alles in allem bin ich sehr zufrieden mit dem Ergebnis. Das Ganze kommt jetzt in meinen Wohnzimmerschrank und wird mit ein paar Regeln in mein System integriert. Stay tuned for updates 😉


Ich baue meinen Rechner und packe ein … ?!

In trauter Runde bei einem gemütlichen Bier höre ich öfter einen Satz wie „Puh mein Rechner ist sooo langsam geworden ich brauche einen neuen! Was ist denn da gut?“ Ok als Händler sollte mich das nicht wundern, aber was mich wundert ist, wie wenig aufgeklärt die Menschen über Computertechnik sind. So ziemlich jeder in Deutschland besitzt einen Computer oder Laptop und viele auch noch ein Smartphone. Aber was ist da eigentlich drin? Und vor allem: Was ist da eigentlich gut??

Ok schauen wir uns die ganze Sache mal an. Im Computer-Hardware-Markt gibt es die 2 klassischen Gegenspieler: Kapzität und Geschwindigkeit. Nimmt man die wirtschaftliche Komponente mit rein, haben wir ein (guter)Preis-, Kapazitäts-, Geschwindigkeits-Dreieck. Man muss sich immer für 2 Ecken entscheiden. Will man viel Kapazität und viel Geschwindigkeit kostet das natürlich. Will man ein schnelles, günstiges System leidet oft die Kapazität darunter.

Dieses Dreieck trifft sowohl auf das Gesamtsystem als auch auf jede einzelne Komponente des Computersystems zu. Moooment! … Komponenten? … Also da ist noch was drin? … HA aber ich habe ein Laptop! … Oder? … Nein? …
Ja, jeder Computer (oder Smartphone/Tablet) besteht grundsätzlich aus den gleichen Komponenten die ähnlich zusammen arbeiten. Diese sind: Mainboard/Hauptplatine, Prozessor (CPU), Arbeitsspeicher (RAM), Massenspeicher (Festplatte also HDD oder SSD), Laufwerke (Diskette, CD, DVD, Blue-Ray, Streamer …), Grafikkarte (VGA), Netzteil oder Akku (PSU), Eingabegeräte (Tastatur, Maus, Touchscreen, Digitizer, Gamepad …), Ausgabereäte (Monitor, Soundanlage …), Netzwerkverbindung (Ethernet, Wlan, Powerlan, Bluetooth …), Gehäuse und so weiter und so weeeeiiiiiter und so weiter.

Ok wer hier noch liest, scheint sich wirklich für das Thema zu interessieren :D. Vereinfachen wir mal. Das Marketing hat ja schon vieles einfacher gemacht. Man hört meistens so Slogans wie „4 Kerne, 5 GHz, Intel Core Power hast du nicht gesehen, 4 GB Arbeitsspeicher, 5000 GB Festplatte, alles giga super!“ Ich möchte das gar nicht zu sehr verurteilen, denn irgendwo muss man die Leistung ja fest machen. Wichtig sind vor allem CPU, RAM, Massenspeicher (HDD/SSD) und oft noch die Grafikkarte (VGA).

Die CPU ist der Rechenkern des Computers. Hier werden alle Berechnungen gemacht die dann zu einem hervorragenden Spielerlebnis oder einer netten Website führen. Je mehr berechnungen gemacht werden könne, desto schneller ist ein Ergebnis auf dem Bildschirm (also z.B. das Spiel oder die Website). Hier gibt es aber wieder verschiedene Teile. Vereinfacht hat man einen großen allgemeinen Taschenrechner und viele viele kleine Teile die für ganz spezielle Fälle gut sind. Die Herstelle bringen mit jeder Generation neue kleine Spezialteile raus und entfernen welche die nicht gebraucht werden. Und natürlich wird mit jeder generation der allgemeine Taschenrechner schneller, braucht weniger Strom oder es kommen einfach mehr Taschenrechner in einen Chip.

Der Arbeitsspeicher (RAM) ist das Kurzzeitgedächnis des Computers. Hier werden Dinge gespeichert die gerade gebraucht werden. Also bei einem Spiel z.b. die Bilder der Spielfiguren, der Zustand des Spiels, die möglichen Züge usw. Bei einer Webseite wäre das der Text und die Bilder. Bevor der Computer etwas berechnen kann, muss alles was dazu benötigt wird in den Arbeitsspeicher geladen werden. Das Ergebnis wird wieder in den Arbeitsspeicher geschrieben und dann bei der nächsten berechnung weiter verwendet. Ist der Speicher voll, werden nicht benötigte Dinge auf die Festplatte ausgelagert. Also z.B. das Word-Dokument, das seit Tagen offen ist. Möchte man jetzt daran weiter arbeiten muss der Computer die entsprechenden Speicherbereiche wieder von der Festplatte herstellen. Das dauert natürlich! Je nachdem wie viel man gleichzeitig machen möchte und wie oft man zwischen Anwendungen wechseln möchte, ist eine gewisse Speichergröße nötig, dass man nicht dauernd warten muss.

Der Massenspeicher (HDD/SSD) ist der Langzeitspeicher für Daten (also Katzenbilder, Videos, Musik, Steuerunterlagen usw.). Hier kommt der gegensatz von Kapazität und Geschwindigkeit gut zur Geltung. Möchte man hohe Geschwindigkeit zum laden von Daten oder Programmen verwendet man eine SSD deren Kapazität gering ist im vergleich zur Magnetplatte (HDD). Die Magnetplatte liefert sehr hohe Kapazitäten zu sehr günstigen Preisen ist aber um ein Vielfaches langsamer als SSDs. Man muss sich also überlegen ob man viele Daten speichern will oder kurze Ladezeiten möchte.

Die Grafikkarte (VGA) berechnet die Bildausgabe am Computer. Heutige CPUs haben in der Regel eine Grafikkarte integriert. Diese ist für fast alle Anwendungen auch sehr gut geeignet. Möchte man allerdings Computerspiele in ihrer vollen Pracht sehen, muss man eine deizierte zusätliche Grafikkarte einbauen. Die Grafikkarte ist wiederum eine Wissenschaft für sich, denn auch diese hat einen Rechenkern, eigenen Arbeitsspeicher und muss entsprechend schnell an die CPU angebunden werden können. Die Wahl der Grafikkarte hat auch wieder auswirkungen auf das Kühlsystem und das Netzteil. Beachtet man die Faktoren nicht, kann es sein dass man eine Grafikkarte für 500 EUR einbaut aber nur die Leistung einer 150 EUR Karte bekommt, weil sie ständig ausgebremst wird. Daher sollte man bei PC-System für Gamer oder Videoschnitt eher mal einen Experten fragen 😉

Aber was ist denn jetzt gut ?? Nun es kommt (wie immer) darauf an. Natürlich kann man einen unglaublich leistungsstarken Computer bauen. Die besten Komponenten auf dem Markt zu einem Meisterwerk der Ingenieurskunst vereinen. Aber ist das gut? Ok es ist auf jeden Fall verdammt cool. Aber gut? Bedenkt man, dass so ein Gerät mehrere Zigtausend Euro kostet halte ich es für fragwürdig es jedem zu empfehlen.

Wichtig ist, die richtigen Komponenten für den häufigsten Anwendungsfall zusammen zu stellen. Ein Spieler wird mit Sicherheit eine gute Grafikkarte brauchen. Jemand der viele Tabellenkalulationen mit Excel macht eher Arbeitsspeicher. Es gilt die richtige Balance zwischen Kosten und gut zugeschnittenem System für die jeweilige Person zu finden.

Abschließend kann man man zu der Frage „Was ist denn da gut?“ immer wieder nur antworten „Hm, das kommt drauf an. Was willst du denn damit machen?“. Aber jetzt kann man immerhin diesen Artikel verlinken 😉

Canon EF-S 17-85mm 4-5.6 IS USM Reparatur (err 99 / err 01)

In meinem Objectivbestand befindet sich ein Canon EF-S 17-85mm USM Objektiv. Warum auch nicht? Schlißlich hat es eine sehr gute Bildqualität und einen wirklich praktischen Zoom bereich. Leider bekomme ich in letzter Zeit den Fehler „ERR 99“. Scheinbar bin ich da nicht alleine denn der Fehler ist so bekannt, dass unmengen an Infos im Netz dazu gibt. Der Grund: Ein gebrochenes Flachbandkabel.

Felxband Cable

Also habe ich mir kurzerhand ein neues auf ebay bestellt und das Obejektiv nach den Anleitungen auf Youtube [1,2] auseinander genommen. Objektiv wieder zusammen gesetzt uuunnnd … Fehler 😦

Scheinbar habe ich beim Löten etwas an der Blende beschödigt (und nein, ich bin kein Anfänger). Ich war so frustriert, dass ich erstmal einen Reparaturservice angefragt habe was es denn kosten würde. Immerhin hat mich die Aktion fast einen halben Tag gekostet … Nach einigen Tagen bekomme ich die Antwort 90 EUR. Gut .. für 90 Euro bekomme ich mehr als 10 Kabel … oder auch die gesamte fertig verlötete Blendeneinheit … 5 mal. Ich dachte mir für das Geld versuche ich es noch einmal. Also habe ich mir eine komplette Blendeneinheit bestellt.


Der Einbau ging nach der Übung vom letzten mal super leicht von der Hand und siehe da: Alles geht!


ESP8266 extern aufwecken

Ich möchte den ESP gerne als Wireless-Switch-Array für mein Smarthome nutzen. Allerdings müsste der ESP dann ständig aktiv sein, um die angeschlossenen Taster abfragen zu können. Das hätte einen hohen Stromverbrauch zur Folge und würde einen Batteriebetrieb nicht erlauben (nicht mehr so wireless 😀 )

Meine erste Idee war, alle 500 ms aus dem Deep Sleep aufzuwachen und die Taster abzufragen. Das ist aber irgendwie unkomfortabel, da man den Taster im schlimmsten Fall 500 ms halten muss. Gekoppelt mit dem fehlenden Feedback (durch das Verbinden mit dem Wlan kommt ein Delay von ca 2 Sekunden zu stande) ist das extrem intuitiv. Ich finde man sollte kurz drücken und sich sicher sein, dass irgendwann passiert was man wollte. Außerdem ist die Lösung auch nicht sooo effizient denn das ständige Booten kostet auch relativ viel Strom.

Jetzt habe ich mir eine Schaltung aus Gattern überlegt die den ESP mit einem beliebigen Tastendruck aufweckt. Der ESP setzt GPIO2 auf HIGH, wenn er aktiv ist. Wenn irgend ein Button gedrückt wird und der ESP aus ist (also GPIO2 dann LOW) wird der Reset ausgelöst, sodass der ESP bootet.


Irgendwie kommt mir das aber sehr aufwändig vor, denn man bräuchte die Gatter zum Aufwecken und ein Latch pro Taster, um den Tastendruck zu speichern bis der ESP gebootet und den Wert abgerufen hat. Das wäre dann eine relativ aufwändige Platine für so eine „Kleinigkeit“ 😦

Momentan überleg ich, ob ein PAL nicht einfacher wäre [1,2] Allerdings ist der Stromverbraucht dann nicht mehr so optimal wie bei einzelnen Gattern …