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 …

2018-07-13-12.40.02

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 🙂

Advertisements

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 😉

Google Keep in Thunderbird

Google Keep ist eine relativ neue Notiz App von Google (offensichtlich 😉 ). Böse Zungen behaupten Google will Evernote damit aus dem Markt drängen, aber Fakt ist, dass Google Keep bei weitem nicht den Funktionsumfang bietet wie Evernote. Allerdings ist es ein sehr schöner Ersatz für die 100 Zettel die man an den Monitor klebt. Viel mehr kann Google Keep auch nicht: Notizen erstellen, Notiz in Listenform erstellen, Bild an Notiz anhängen, Notizen farbig markieren. Das ist im Großen und Ganzen ein paar Post-It Blöcke und ein Kuli….

Für mich ist das allerding völlig ausreichend, und da ich die Googel Applikationen gerne benutze habe ich mich auch für Google Keep entschieden. Leider teilt Google nicht meine Vorlibe von „klassischen“ Desktop Apps. Wenn ich Google Keep im Browser verwende, kommt es nicht selten vor, dass ich es in meinen gefühlten 600 Tabs nicht finde und ständig neu öffnen muss. Das empfinde ich als nicht praktikabel denn wenn „man mal schnell“ was aufschreiben muss fange ich nicht an die Tabs zu durchsuchen ….

Also bin ich auf die Idee gekommen wie bei ThunderCal einen Butten in Thunderbird einzubauen. Mit einem Klick auf den button öffnet sich in Thunderbird ein neuer Tab der Googel Keep öffnet. Dadurch benutzt man direkt die von Google bereitgestellte WebApp aber in einem schnell erreichbaren Tab. Dadurch erweitert sich Thunderbird auch wieder ein Stück in Richtung Selbstorga-App.

Man muss dazu sagen, dass ich eigenlicht keine Ahnung von AddOn Entwicklung habe. Deswegen habe ich einfach die ThunderCal App so modifizerit, dass sie Google Keep aufruft und dem eigentlichen Thundercal nicht in die Quere kommt (hoffe ich). Die Qualität des Codes ist meines erachtens recht gut. Wenn ich mal etwas mehr Zeit habe, überarbeitet ich die App nochmal aber bis dahin gibt es sie hier als Beta zum download.

Viel Spass damit 😉

ThunderKeep

Links:
Download ThunderCal 1.1 und ThunderKeep 0.6 (auf Basis von ThunderCal 1.1)

Raspberry Pi als „Audiosink“

Ich arbeite momentan an einem kleine Zoneplayer System. Während der Recherche nach geeigneter Software ist mir Airplay und UPNP AV aufgefallen. Frisch motiviert hab ich gleich etwas gebastelt um im Tanzverein dem Trainer einen Airplay Renderer anzubieten. Jetzt bin ich bei den Feinheiten.

Die Sache ist eigentlich ganz einfach wenn man weiss wie es get 😉 XBMC und damit alle XBMC-Ditributionen für das Raspberry Pi unterstützt von Haus aus Airplay und UPNP AV. Und zwar das ganze für Audio UND Video. Sehr cooles Feature muss ich sagen.

Wer Android hat, sollte sich die App BubbleUPNP mal ansehen. Die App ist kostenlos und funktioniert super. Bei Apple kann man mit Boardmitteln loslegen (Stichwor „Airplay“).

Was mich nun interessiert ist die Performance. Bedingt durch das Streaming der Daten und die Latenzen im Netz, die schwachen Prozessoren im Handy/Tablet und im Pi gibt es leider ein paar Delays. Ich versuche nun das Delay auf der Pi Seite zu minimieren und probiere deswegen jede XBMC-Distribution durch 😉

Folgende Daten konnte ich ermitteln:

Xbian:
UPNP Start / Stop: ca. 0,3s
UPNP neues Lied: ca. 5,2s
Airplay Start / Stop: ca. 3,5-4s
Airplay neues Lied: ca. 6 – 10s
Boot Dauer: ca. 47s

Raspbmc:
UPNP Start / Stop: ca. 0,4s
UPNP neues Lied: ca. 5,6s
Airplay Start / Stop: ca. 10,3s
Airplay neues Lied: ca. 11 – 15s
Boot Dauer: ca. 46s

OpenELEC:
UPNP Start / Stop: ca. 0,3s
UPNP neues Lied: ca. 6-9s
Airplay Start / Stop: ca. 3,3s (aber Aussetzer! -> zu kleiner Puffer)
Airplay neues Lied: ca. 5,5s (aber Aussetzer! -> zu kleiner Puffer)
Boot Dauer: ca. 46s

Man muss dazu sagen, dass die Liedlänge Auswirkungen auf die Zeiten hat. Desweiteren ist mein IPod Touch mit erheblich schlechterer Hardware ausgestattet als mein Android Handy. Nichts desto trotz sind die Airplay Zeiten doch etwas enttäuschend. Ich hoffe dass sich das in der Zukunft bessert. Ich denke es gibts noch etwas Tuning potienzial wenn man Puffergröße und ähnliches umstellt. Allerdings suche ich mehr eine „out of the box“ Lösung. Und hier muss man sehen das Xbian die besten Werte liefert. Ich werde das mal eine Weile beobachten 😉

Ouuuu Ya !

Heute ist sie eingetroffen. Entgegen aller Erwartungen ist sie problemlos durch den Zoll gekommen. Hierfür ein Dankeschön an das Zollamt 🙂

Die Konsole wirkt auf mich sehr winzig, aber wenn man darüber nachdenkt, ist sie eigentlich nur ein Handy ohne Akku. 😀 Nach einer ewigen Einstellungsorgie lief der kleine Würfel auch endlich in meinem Heim. Hier hätte ich mir allerdings eine bessere Tastatur, wie sie bei Steam zu finden ist, gewünscht….

Die schlechte Presse kann ich nicht ganz nachvollziehen. Die Konsole war von Anfang an als Casual Console gedacht und dafür, dass sie erst im Herbst erscheint gibt es schon eniges an Spielen. Alles in allem finde ich meine 150 Dollar gut angelegt und freue mich auf die kommenden Games.

Wenn ich Zeit finde werde ich mir auch mal an ein kleines Spielprojekt heranwagen 🙂

ouya

Quya! Commercial Picture.