Mysterious crash

Project history

  1. Previous project: LPG/CNG Price Reporter
  2. last step: Android App for Blackmagic Pocket Cinema Camera 4K
  3. current posting
  4. next step: New BMPCC4K firmware
  5. Next project: designing a chain link tool library

The BMPC4K app I wrote has exactly 1 crash on 2 devices in Play Store.
However I'm completely puzzled by the stacktrace.
It's not made easier by the fact that I can't reproduct the crash since it happens on 2 user's phones that I have no access to.

All my own code is in the biz.wolschon... -packages.
This crash is entirely in the Wear OS library by Google.
I'm using
implementation 'com.google.android.gms:play-services-wearable:16.0.1'

16.0.1 is indeed the latest and greatest version available at this time.
Since Google has obfuscated it's libraries, a search for other people with this issue in that line of code turns up nothing.

It seems to happen at Fragment -creation time. However I'm not using any fragments from GMS. At least I'm not aware of any.
All I can try is to move from the support library 27.1.1 to 28.0.0 with a 28 target SDK. This mandates some unrelated changes. None of them look like they should affect me.

Update: I just came back, tested that the new, public beta version works and uploaded it to Play Store. Let's see if the crash still happens and if so, something shows up in the Stacktrace that hints to a cause this time.



LPG Preismelder Android app updated again

Project history

  1. Previous project: none
  2. last step: LPG Preismelder Android app updated
  3. current posting
  4. next step: none
  5. Next project: Android App for Blackmagic Pocket Cinema Camera 4K

Android 9 will no longer allow unencrypted HTTP communication.
So I had to pull out my old "LPG Preismelder" fuel station app for GPL and CNG fuel stations in Europe.
It is a simple app. It still works fine.
However nowadays Google Play Store no longer allows the old target SDK
and Android Studio does't like the old Build Tools.
So I had to update them and consequently add support for permissions that are no longer granted at download-time.
Also the Google Maps API has changed a lot and it is no longer possible to just ask the Map-Fragment for the map and perform updates (e.g. set the location). All this now has to be done asynchronously.

This did introduce a small number of crashes for rare cases, thus ruining my "max 1 crash per year at 1000 users" record.


  • App on Google Play


Rotacy CNC: That damn earthing again

Project history

  1. Previous project: TravelCNC
  2. previous step: Problem with optical input switches
  3. current posting
  4. next step
  5. Next project: designing a chain link tool library

When I assembled my newest DIY CNC mill on a piece of wooden OSB board... what could you possibly forget?
Wood is not conductive.

Everyhing is build super clean.
Crimped using the proper tools.
Signal power and signal ground distributed using proper DIN rail blocks.
Stepper drivers stronger then the actual power supply, steppers and forces needed.
Strangely enough I machined an entire part in perfect finish for a week before any issues showed up.
Then the A axis stepper starting moving on it's own and jittering. But only it it had already moved before. Not related to the spindle running or not.

Problem 1: wrong power supply

I had way too much power provided to my stepper drivers.
48V supply because the drivers where advertises as 8-50V input voltage.
Actually however where 8-42V with 50V being the absolute maximum rating.
The dealer overstated the capabilities of the driver.

Problem 2: Earthing

This did not solve my problem.
It needed a borrowed oscilloscope to figure out that I simply forgot to connect my giant A-axis gear box, sitting on the OSB base-plate to PE.
The power supplies (not the spindle) for the strong steppers seem to radiate a ton of EMI into the huge metal block that is the A axis. Static buildup from the gears inside and from machining plastic for days on end surely did not help either.
Since the power flowing from the motor to the motor driver caused the "work" LED on the driver to blink, I searched for hours where the supposed stray inputs to the driver came from. Not realizing that this came from the output of the drivers and not the inputs.

I had the same issues already with my Chinese 6040 CNC (all Aluminium but designed with no regard to earthing large metal parts and thus the steppers they connect to).
Seems I had to learn that lesson again.

Parts used


Rant about the 8Sinn cage for the BMPCC4K

I just wrote the following feedback to the very expensive 8Sinn cage for the Blackmagic Pocket Cinema Camera 4K:

I have your Blackmagic Pocket Cinema Camera 4K -cage.
There are 3 features you should definately improve:

1: Access to the locking power socket is nearly inpossible.
Getting your fingers in there is a nightmare even without fighting the cover doors.

2: The cable strain-relieve for the USB-port does not open wide enough to allow
the cable that comes with the Samsung T5 to fit and the expensive Samsung T5
holder did not come with a cable that does.

3: The allen key(s) has no place to store it in the cage itselt.
So it's always missing.
I can't mount my T5 SSD becaue I only have the caged camera with me.
The cable stress relieve on the T5-holder can not be opened without
and it's comes tighened from the factory.
This step should be possible, if not trivial, without easy-to-loose tools.
What's the point of having nice, machined handles if you need an allen
key anyway?
At the very least a laser-marking what size of tool one needs to send
someone to buy for the next day of shooting would have helped.

The cage uses 2 sizes of allen key.
However the SSD holder uses a THIRD size for no obvious reason.
The smaller size, already used in the cage looks like it would have worked just fine
without adding an additional, easy to loose, tool to the mix.

A second hot shoe (maybe as part of the SSD-holder) would be nice,
so I can mount my microphone while having the SSD semi-permanently attached.
(Of cause I can screw in an additional hot shoe. But it would have been nice if this
was something that just works out of the box.)


Android App for Blackmagic Pocket Cinema Camera 4K

Project history 

  1. Previous project: LPG/CNG Price Reporter
  2. last step: none
  3. current posting
  4. next step: Mysterious crash
  5. Next project: none


Minimal start screen while recording...
...while idle...

...and before a connected to a camera.
Very early version of the focus slider.

Android Wear smartwatch.
Selection of some settings values.


I've just written an Android app that is capable of starting and stopping a recording on the Blackmagic Pocket Cinema Camera 4K  (BMPCC4K) and the
URSA Mini Pro (no wireless focus supports on the EF mount version) as well as the
URSA Mini Broadcast.

It can
  • Start/Stop a recording remotely
  • Start and Stop using an Android Wear smartwatch (for Vloggers)
  • display a live timecode, remaining time on storage medium and the most important parameters
  • pull wireless live focus and zoom via touchscreen
  • store and recall 3 combinations of focus and zoom with a smooth transition
  • change parameters - codec, resolution and frame rate (some values not offered yet)
  • edit metadata

I am still adding features.
I plan to
  1. allow syncing the GPS-time of the phone to the camera(s)
  2. allow to start/stop recording on multiple cameras e.g. for multicam interviews. (No idea for a good user interface yet. Proposals?)
  3. Support the Panasonic GH5 / GH4R / GH4 camera via Wifi in addition to Blackmagic cameras via Bluetooth Low Energy
Limitations beyond my control:
  • My idea to also display audio meters will not work because the camera does not seem to send these via Bluetooth.
  • DCI 4K and 4.6K resolutions can not be selected because Blackmagic forgot to define the values in the protocol 
    • Support ticket DEV-144. These will be fixed in a future firmware.
  • Also the camera does not seem to report the selected storage medium correctly.
    • I'm getting a small CFast card to experiment with this.

Stable Releases:

Open Beta Test: (early access to improvements)


Yes, I did put a reasonable price tag of 10€ on it.
That's 20% the price of a power-cable set or 14% of an original Canon-battery or a meal at McDonalds.
Sales tax gets 19% of the shown price (depending on the country) and Google a cut of 30%. So it's just about 6,30€ that actually end up in my pocket to pay for small expenses.

Privacy Policy

(This is required by Google Play Store.)

This app does not collect, use or distribute any kind of personal data.
End of story.


version "1.2.37" (01.12.2019)

  • offer all resolutions on all cameras
  • only offer resolutions matching the current sensor frame rate

version "1.2.36 Beta" (13.07.2019)

  • bugfix in preset selection
  • BMPCC6K support

version "1.2.35 Beta" (06.07.2019)

  • show valid shutter angle values if camera is set to shutter time

version "1.2.34 Beta" (27.06.2019)

  • Added support for the URSA Mini Pro G2

version "1.2.34 Beta" (16.06.2019)

  • BMPCC4K: Ability to select DCI 4K with Camera firmware 6.3 or newer (Blackmagic FINALLY fixed this)
    • Tested and DOESN'T WORK YET (at least not the way it was documented). Am currently in contact with Blackmagic.
  • URSA Mini Pro: Ability to select Anamorphioc 3K, DCI 4K, 4K 16:9, 4.6K 1.4:1 and 4.6K resolutions (untested, that's why it's beta)
  • Dropped the "new firmware" note in the BM-RAW codecs
  • Text "connection lost" is no longer obscured by the card-slot buttons

vesion "1.2.33" (01.06.2019)

vesion "1.2.31 Beta" (18.05.2019)

vesion "1.2.29" (16.03.2019)

  • Permissions prepared for Android 'Q'
  • focus transition screen published as non-beta

version "1.2.24 Beta" (07.03.2019)

  • Experimental, programmable focus tansision screen with duration and ease in/out.

version "1.2.23" (07.03.2019)

  • Fixed black icon colors in newer Android versions
  • Fixed autofocus button overlapping focus rocker on some screen sizes

version "1.2.22" (07.03.2019)

  • Blackmagic raw selectable on Pocket Cinema Camera 4K (since firmware 6.2)
  • Cinema DNG is marked as "old firmware"

version "1.2.21" (07.02.2019)

  • Tested with Firmware 6.1. Sadly Blackmagic still did not add "DCI 4K" and"4.6K" as selectable resolutions
  • Support for lenses with no aperture control by the camera.

version "1.2.19" (28.12.2018)

  • Minor fix with the record start/stop command to be compatible with more strict Blackmagic camera firmwares.
  • Fixed white on white text for dialog buttons in Android 8
  • Aperture and shutter angle can be controlled
  • Only slots with a card in it can be selected
  • Better fit for slim displays
  • Settings become 2 screens to be less cluttered


  • I finally figured out what I did wrong in decoding f-stop values. Aperture control is coming after the holidays.

Version "1.2.13" (17.12.2018)

  •  Can display and change active storage card


  • On this day I'll hopefully see the very first money from the November sales in Google Play Store. It should actually pay for 35% of my Samsung T5 SSD (without the cage mount) practically required to do anything useful with this camera. The 30% cut for Google after the 19% cut for sales tax is quite heavy. Given my actual hourly wage this side project will never turn any profit in a hundred years but that's okay. It's fun.

Version "1.2.11" (10.12.2018)

  • For Some reason Play Store shows this version as "1.2.1" instead of "1.2.11".
  • I manually fixed the old name still shown in Play Store.
  • Fixed crash on k6000 Plus (Android 8.0) for Bluetooth device with no name
  • Unknown camera models can be reported for addition via email

Version "1.2.10" (6.12.2018)

  • Fixed crash on Pixel 2 (Android 9) when aborting a scan for bluetooth devices in range
  • Nicer display of remaining time on storage medium
  • >M-rate framerates selectable (29.97,...)

Version "1.2.7" (24.11.2018)

  • Yes, on the same day as the earlier 1.2.6.
  • Reverse engineered the storage-related broadcasts. It now displays the remaining time on card slot II.
  • I'm trying to get my hands on a CFast card to try card slot I.

Version "1.2.6" (24.11.2018)

  • I got a new icon drawn by a facebook user. Thanks a lot!!!
  • I also changed the name from "BMPCC4K Record Button" to "BMPCC4K Control" because the app does so much more nowadays"
  • I was able to add entering metadata.

Version "1.2.4" (20.11.2018)

  • Power zoom rocker and a zoom slider added.
  • Also you can store and recall 3 focus+zoom positions now.

Version "1.2.1" (15.11.2018)

  • Yes, on the same day as the earlier 1.2.0.
  • Wireless follow focus slider added.

Version "1.1.1" (13.11.2018)

  • Huge improvements to my Bluetooth Low Energy stage-engine. Searching for the camera(s) is MUCH faster now

Version "1.0.4" (12.11.2018)

  • I figured out how to detect someone on the camera starting a recording instead of starting it via the app (and by extension the case of a recording already running when the app is started).



Rotacy CNC: Problem with optical input switches

Project history 

  1. Previous project: TravelCNC
  2. previous step: Building a rotacy CNC milling machine
  3. current posting
  4. next step: That damn earthing again
  5. Next project: designing a chain link tool library

The situation:

I'm trying to replace my microswitches as end-stops + homing sensors with an optical sensor for homing. (and keep the mechanical switches as end stops.)

I'm using a TCST2103 photointerruptor.
On the Emiter-side I use a 220 Ohm resistor to my common +5V to limit the current.
On the Detector-output side I use a 10 KOhm pulldown.
Emiter and Detector -inputs are on +5V.
Between the Detector-output and the 10KOhm I get my signal.

I meassured my VCC to be between +4.78V and +4.80V with allother loads connected to it.

The signal goes into an AKZ250 USB motion card that works with MACH3 to run my CNC milling machine.

(The sketch also shows the internal logic from the schematics of the USB board. It uses a TLP521-1 photocoupler, a 330Ohm resistor, the mentioned LED and a 4.7Kohm resistor on each input pin.)

 The problem:

When I hit "reset" in MACH3 with the photointertutor not interrupted, everything is fine. The input-LED on the USB board is off and the diagnostics page in MACH3 says the input is not active (high).

When I interrups the photointerruptor, the input-LED goes off and MACH3 says the input is active (low).

HOWEVER: When  I chease to interrupt the photointerruptor, the LED goes on again BUT MACH3 says the input stays active.
Until I tell MACH3 to reset.


I found my 220 Ohm resistor on the (E)mitter side too low.
180Ohm should have been used to reach the nominal 20mA on the emitter LED. 
This way we only get 15mA.

The graph "Fig. 8 - Collector Current vs. Collector Emitter Voltage" in the TCST2103 data sheet shows that this means only about Ic=2mA instead of about 4mA on the (D)etector output side.
(Apparently enough to still light up the red status LED just as bright as the others. These red ones nominally want 16mA but do work with less.)

The TLP521-1 inputs recommends 16mA (max 25mA) but gets 4mA.
This means only 4 instead of more then 10mA on the TLP521-1 output. (The recommend 16mA input would result in 40mA)
So I *guess* from studying just the data sheets, that way too little current get to the digital input that is behind the optocoupler on the AKZ250 USB motion control board.

Update 2:
I found THIS mention and it seems that may pull down resistors may be too large.

Update 3:
Or my 10K pulldown may be too large (correct for 3.3V) for 5V.


Building a rotacy CNC milling machine

Project history

  1. Previous project: TravelCNC
  2. current posting
  3. next step: Problem with optical input switches
  4. Next project: designing a chain link tool library


At the moment I have a heavily modified Carving-CNC/OmioCNC 6040Z+S80 machine from 2012 with an automatic tool changer and an 80mm 4th axis.

However the 80mm chuck and the 150mm clearance below the gantry of the 600x400x150mm machine has proven to be quite a limitation.
Even if you could make your part just barely fit...the next largest standard size of stock material would not.
If the stock could fit, you would not be able to raise your cutter high enough to reach the outher diameter. At least not the electronic 3D touch probe (that is much longer then most cutters).


So the idea was to build a special purpose CNC mill just for parts on the rotary axis.
It does not need a Y axis at all but a chuck with a large diameter on the 4th axis.
I was inspired by the Rotary CNC (movable tailstock) and the Farm OX (horizontal spindle)

  • Use a chinese 130mm chuck with 1:20 gears as a 4th axis.
  • No automatic tool change needed because it doesn't do general purpose work.
  • Use Openbuilds C-Beam with trapezoidal spindles (you can't buy these with ball screws off te shelf).
  • paired with high powered stepper motors for acceleration.
  • Add some end-stops and an electric touch plate for tool-length.
  • Use the existing stepper drivers, Mach4 USB breakout board and power supply of my old, mobile 400x300mm CNC machine.
  • Use either the 2.2KW water cooled chinese spindle with RS485 controlled VFD (left over from the ATC upgrade) or a 200W DC spindle (lightweight and easy to accelerate).

Since the C-beam is trivial to assemble and all the other parts are already here,
this SHOULD be a fairly quick and straightforward build.


...more soon


  1. The long X-axis uses a 1m C-beam ACME assembly with the XL gantry plate and a huge 4.2A stepper motor for maximum acceleration and thus direction-changes.
  2. There is no Y axis.
  3. The short Z-axis on top uses a 250mm C-beam ACME assembly with the extra-long gantry plate.
  4. A secondary X guide-rail in the front with a custom, 3D printed, extra-wide but not extra-long gantry plate stabilizes the Z axis and keeps it square to X.
  5. A 300W DC spindle with ER11 collets is enough for the soft materials this machine will encounter. It is also sufficiently silent. (a major consideration)
  6. Custom, 3d printed mounts for spindle, A-axis and tailstock complete the setup.

Lessons learned

  • Keep the oil-release screw accessible when designing a mount for a gearbox.
  • Openbuilds gantry plates can rotate slightly when presented with some force on a long, sideways lever. So a second, guiding rail and custom wide plates are needed to make the machine stiffer.
  • The Openbuilds ACME screws are performing surprisingly well compared to ballscrews.
  • The worm gear I used was of very bad casting quality and gets very loud in constant rotation. So instead of machining parallel to the A axis, I need to do it parallel to the X axis. This way X moves all the time but A only every few seconds for a short step.
  • Helical toolpathes in my version of Deskproto 7 seem to not render. The issue is being investigated and should be fixed soon.
  • I need to finish the custom mount for the tailstock quicker then I anticipated.
  • During an accidental plunge the modular Z axis proved surprisingly durable and very easy to dismantle, readjust and assemble again.
  • Always check for loose wires to your stepper drivers when things start to vibrate for the first time. ;)
  • My Z axis is too long but I could not get C-beam assemblies shorter then 250mm.

Next steps

I'm currently finishing the soundproof enclosure.

I'm currently adjusting my existing 4th axis, inductive homing sensor to the new 4th axis. At this time I only have home+limits on both linear axis.

I already ordered brushes to separate the axis from the machined parts and keep shavings out of the horizontal Z-axis.

I already ordered a proper guide-rail to replace that silver Openbuilds -contraption. This is fine for some first test-cuts but I don't want to re-tighten the wheels every few weeks.



Trying and walking away from Slack


The local FabLab (sorry, they still haven't managed to roll out basic SSL support for their website) had a very limited, internal forum for members.
That was replaced by Slack. A corporate chat enriched with features commonly found in forum software.


Aparently they thought, they could use it as a moderated, persistent forum instead of the temporary chat it was.
I tried it for a few month and looked at the dynamics of how it could be used and how it was used.
In the end, I found it too slow and organized for a sensible chat and too temporary and feature-limited for a forum.
So I decided to deactivate my Slack account again.

Why not a chat?

Many channels for different areas of the FabLab break up the (already very limited) audience into tiny sub-groups.
Conversations (answers to postings are grouped below that posting and no longer apear in the main feed) hide many things.
Being able to edit postings and being moderated reduces the number of new lines in the feed to almost zero.
It was the slowest going chat I've ever seen.

Why not a forum?

Conversation make it work much like a forum. However most features the initial poster has (such as images) are not possible in answers to that posting.
These features are not even allowed when editing your own posting. So e.g. adding a images that failed to upload is impossible.


More dust collectors

Project history

  1. Previous project: Testing the Kreg K5 Master System
  2. current posting
  3. Next project: ...

After I had designed the dust collector adapter for the Kreg K5 Master System
to Kärcher and Festool 36mm hoses, I had to go on and make some more:

Kärcher/Festool to Makita PJ7000J Lamello/Biscuit Joiner router


The local FabLab had a Makita biscuit joiner that didn't fit the local Festool shop-vacs.
So I quickly adjusted the diameter and labeling.
(Hooray for parametric CAD.)

Kärcher/Festool to Bosch GKS 12V-26


The new 12V battery operated circular saw is making quite a mess.
So for it's cute, tiny dust-collection part I made an adapter too...



Testing the Kreg K5 Master System

Project history

  1. Previous project: ...
  2. current posting
  3. Next project: More dust collectors



 Pocket holes?

I plan to build some pieces of practical furniture that does not need to look pretty.
As the local FabLab is just next door, I have easy access to a Lamello milling cutter and other eqipment. Apart from dovel pins, these "biscuit joiners" seems to be the prefered joining technique in Europe.

The preference in the US seem to be pocket holes.

Now the strongest joint for particle boards is of cause to glue it. Since it is made of glued particles anyway, this maked it one solid pice.
But to glue something you need two things. alignment and pressure. 
Lamello -type Biscuit joiners provide great alignment and the limited ability to slightly correct that alignment in one axis but they need clamps for pressure.
Pocket holes provide no alightment but a lot of pressure.
So combining these two should allow me to build very strong furniture without having to use clamps and wait for effectively the next day for the glue to set because the screws in the pocket hole will clamp it down no matter where I take and put the unfinished piece.

After reading a lot about the topic, I decided against buying the cheap 30€ Wolfcraft Undercover Jig that is sold everywhere around here and get myself the big Kreg KregJig Master System in the current K5 version.
It's the big set. I just can't resist good tools. It's not the real big one that has the drill built-in.
It was a good decision because
  1. the dust-collector is a godsent,
  2. the side-extensions (with storage space and easily available screw-size table on the inside) are very useful,
  3. having the lever on the side you are on make working with it a lot of fun. (As opposed to the older K4 version with the lever on the wrong side of that large piece of wood.)
The only downside was that the vacuum cleaner attachment had a different diameter then the auto-start/stopping Festool workshop vacuum cleaners we have in the local FabLab.
...but a few minutes of CAD and <40 0.5mm="" 3d="" a="" aesthetic="" br="" did="" for="" height="" layer="" me.="" minutes="" mm="" needs="" no="" not="" nozzle="" of="" part="" printing="" qualities="" stop="" that="" time="">

Festool vacuum cleaner adaptor


Results I

Obviously the first on I build was would be crap.
So I got myself some 1€ pieces of leftover material of the same type I wanted to use but wrong thickness and  with a lot of defects and got working.
Without a plan I made some mistakes in judgement, some logical mistakes (forgot to subtract the thickness of the back wall,..) but not many mistakes in craftsmanship. Apart from working with too thin a material.
Access to proper tools made sure that the work was quick to do, quick to fix things and everything was square and how it was supposed to be.

Results I

So here I am, ready for a real piece of furniture that will actually be used. (In a place where nobody but me will ever see it.)

What I learned:
  1. Combining "Lamello" biscuit joiners and Pocket Holes is not worth the effort. Just skip the Lamello, meassure twice and double up on your clamps.
  2. You can not clamp down the K5 Master System onto a workbench.
  3. The dust collection is sow worth it.
  4. Use some kind of physical spacers for anything that needs to be clamped "in mid air" unless  you have a second pair of arms.
  5. SPAX backpanel screws are stronger then the Kreg screws and they have a standard Pozidriv crossed slot. I would have prefered Torx here to have the screw on the driver and reach to a far away hole this way.
  6. You need to clamp down everything for fastening the 4.0x25mm or 4.0x30mm SPAX backpanel-screws in the pocket holes. They tend to bend onto the side with the hole with a LOT of force.
  7. The tiny Wolfcraft "ES 22" (3051000) are much stronger then they look.
  8. The Kreg clamps open up way too wide and are a pain to work with unless you have giant hands.
  9. The Kreg clamps are very strong but you need to adjust them first.
  10. Sawing melamin coated wood is hard without damaging the surface. I'll have to do more experiments here. 
  11.  You will want a very strong screwdriver with replacable batteries even for small projects such as this. Preferable 3 batteries and 2 chargers.
  12. While I only ever see pocket holes in solid woods, they works like a charm in particle board. Just limit your screwdriver to 8-10Nm to not outsight squash the board.
  13. Update: For Melamin-coated wood, pre-drilling through the pocket-hole makes sure the screw doesn't push the 2 pieces apart when threading inside the first part but not having penetrated the coating of the second one yet.

I had the chance to try the Bosch Professional GSR 12V-15 FC screwdriver+cordless drill with replacable heads and  I think it's the perfect tool for this. 20Nm is plenty. I can't use more then 10 without destroying the wood. The excenter+90° head combines reach into the back of cabinets and to screws close to a wall. I have not switched between drill and screwdriver yet but I imagine it to be a godsent for pocket holes.

Sadly there is no Sortimo L-Boxx for the Kreg. Only some Kreg case made for Husky Boxes.
So I will have to build that myself to combine both cases into one stack.

I asked SPAX about Torx backpanel screws because the Pozidriv bit can't hold on to the screw when reaching far into cabinets.

Sehr geehrter Herr Wolschon,

vielen Dank für das nette und freundliche Feedback. Es freut uns sehr, so etwas zu hören.

Die Rückwandschrauben führen wir nur mit Pozidrive Antrieb, nicht mit Torx. Der PZ-Kraftangriff ist vor allem bei der maschinellen Verarbeitung besser geeignet.

Mit freundlichen Grüßen / with kind regards

i.A. Christoph Hessel, Dipl. Ing. (FH)
Product Manager
SPAX International GmbH & Co. KG



Bonaverde: testing Henry Hück

Project history

  1. old posting: 'roast only' on the Bonaverde - Familia Alfaro
  2. current posting
  3. next posting: Bonaverde - Emulating NFC cards

This time I tried
Bean Type:  not specified
Process "natural"
Grown by Henry Hück
of Nicaragua
Store: Bonaverde Store entry for these beans

This is one of the larger bean packs I got from a coffee delivery for my Bonaverde Berlin roast+grind+brew coffee machine.

Results I

I used: roast+grind+brew via the alpha version of the "Coffee Concierge" Facebook Messenger Chat bot.
No extra time after roasting for CO2 could be released.

I used  600ml of freshly filtered water.

filter coffee

At first I got the same, distinct sour taste along both sides of the tongue,
that I seem to get with all coffee I try. I can't get rid of it.
After a while I cleaned my mouth with filtered water. Used a fresh glass and tried again.
The sourness is only very faint and in the back of the mouth
but sadly it's the only taste I can find apart from the obvious.
Given the horrible results I had before, this however is a great success.
I will have to find out wether to attribute it to the green beans, the roasting profile belonging to these beans, the slightly cool glassware I used instead of my regular earthen coffee mugs or whatever.

PS: Obviously it still gets sour quickly when it has cooled down. Like any coffee.

Henry Hueck | Coffee Producer from Bonaverde on Vimeo.


3D models of Küpper workshop furniture

Project history

  1. Previous project: name with link
  2. old posting with link
  3. current posting
  4. next step
  5. Next project: designing a chain link tool library

I modelled some of the Küpper workshop furniture elements in Alibre Design
for the purpose of planning the layout of a workshop in 3D.
The meassurements are taken from the assembly instructions.
Some thicknesses that are not important for planning are guesswork.



'roast only' on the Bonaverde - Familia Alfaro

Project history

  1. old posting: Coffee with bottled water
  2. current posting
  3. next posting: Bonaverde: testing Henry Hück

This time I tried
Bean Type:  Rojo
Grown by Familia Alfaro
of El Salvador

This is one of the larger bean packs I got from the first coffee delivery  for my Bonaverde Berlin roast+grind+brew coffee machine.

Results I

I used "roast only" in the alpha version of the "Coffee Concierge" Facebook Messenger Chat bot a few days ago. So CO2 could be released.

I used freshly filtered water instead of having a can of filtered water in the cooler as before.
I did not use bottled water this time as it would damage the machine in the long run.
I did NOT use the roasting profile for these beans because for "roast only" I can still only use a generic default-profile.

filter coffee

I made the coffee in the Bonaverde Berlin maching using 600ml of water.
Result: definately sour. I am still at a loss why I always get this sour taste.
The temperature of the coffee doesn't change the taste.
I did NOT experience that in the Bonaverde Coffee Corner in Berlin.
Only when I try to do it myself in Freiburg with the terribly hard water here.
(That's why I use the filter.) 
Don't get me wrong, this is not like a lemon or exceptionally bad. It's just
one distinct taste that overshadows all others that may be there. 


Coffee with bottled water

Project history

  1. old posting: 'roast only' on the Bonaverde - Aldo Parducci
  2. current posting
  3. next posting: 'roast only' on the Bonaverde - Familia Alfaro


Up to now I have used tap water with a filter for my coffee experiments.
According to the water plant the water should be very hard but be only slightly above Ph neutral.
I always had the issue of always having an acidic taste.
Some coffee cups had a very balanced acidic taste, some where so strong as to be undinkable.
Especially freshly roasted coffe that was not given any time to release trapped CO2.


Now I experimented with using cheap bottled water insted.
Absolutely no sour taste anymore. Roasted the day before and even freshly roasted (with all the CO2 still in there and ALYWAYS tasting distinctly sour before) it tasted like a good cup of coffee.

Sadly it contains 500mg Ca/l+64mg Mg/l=>84,86dH and thus will just about kill the machine with scale if used often.


 Let's have a look...
The bottled water was from REWE "Aqua Mia Still" from the Alwa Spring in Sersheim.

There is a nice comparison of German bottled waters here. It has pH values (the content only lets you calculate hardness)


The water plant says, we have 23.1mg/l.
The bottled water says, we have 29.0mg/l
0mg/l is perfect
effect: in high temperature/pressure this creates hydroloric acid thatg eats away on metal.
There is nothing I can do anything about this except maybe carbon filtration.
But I don't care enough about this minor effect to do that.


The water plant says, we have 7.57pH.
The bottled water says: nothing
Water #2 says: nothing

7.0pH is perfect,
6.5-7.5pH is acceptable
effect: abovr 7.5pH this causes excess scale

Next steps: I ordered a digital pH and TPS meters from China for less then 2eur.

Hardness (Calcium only)

The water plant says, we have 75,8mg/l of Calcium
and a total hardness (considering not just the Calcium) of 12.5°dH or 2.19mmol/l
The bottled water says, we have 500mg Ca/l+64mg Mg/l=84,86dH

7°dGH/68mg/l is perfect
17-85mg/l is acceptable (first source).
8-12 °dH is acceptable (second source).
3-7 °dH is acceptable (third source).
Above 85°C this forms scale.
High hardness makes coffee go bitter quickly.
Low hardness supresses the taste of the coffee.

Here is a nice calculator between °dH, mg/l of Calcium-Oxide and ppm CaCO3,...
Or you calculate °dH = 0.1402*[Ca in mg/l ] + 0.2307*[Mg in mg/l ]
Or mmol/l= [Ca in mg/l] / 40 + [Mg in mg/l] / 24,3 .

Sodium (DE: Natrium)

The water plant says, we have 10.2mg/l.  But ADD what the water filter releases.
The bottled water says, we have 18.0mg/l

10mg/l is perfect.
Anything near that level is acceptable.

The problem may of cause also be that the water filter with my very hard water (12.5°dH or 2.19mmol/l) releases enough sodium (DE: Natrium) to exceed 10mg/l.
The original water already has 10.2mg/l and is thus at the brink of the acceptable level.
Above 50mg/l this seems to cause a sour flavor. (Very low sodium levels seem to cause sweet flavors. That sounds very interesting as it's a taste I generally like.)

TDS=total dissolved solids

The water plant says, we have 75.8mg/l of Calcium + 7.3mg/l Magnesium + 10.2mg/l Natrium+1.7mg/l potassium (DE: Kalium)
= 95mg/l  I'm not sure I did this calculation correctly and am not missing anything.
The bottled water says, we have 500+29.0+64.0+18.0+5.0=616mg/l

150mg/l is perfect
75-250mg/l is acceptable.
low=overextraction, tannic taste (DE: Gerbsäure), dry mouth
high=mineral taste, overextraction

Total alkalinity

The water plant says, we have TODO
The bottled water says: 1130mg/l of Sulfate + 414.0mg/l of Bicarbionate (DE: Hydrogencarbonat)
TODO: I need to refresh my chemistry on this topic.

40mg/l is perfect.
Anything near that level is acceptable.
effect: high=gum up outher layer of coffee and cause uneven extraction. Also scale buildup.



Setting up an OpenHab with a Homematic CCU2

Project history

  1. Previous project: name with link
  2. old posting with link
  3. current posting
  4. next step
  5. Next project: designing a chain link tool library


 I want to:
  • meassure the energy consumption of an air dehumidifier that I have running in the hobby workshop.
  • Meassure moisture, temperature and maybe even CO2 around the house.
  • Control the heating via my Google Calendar (because it shows when I'm away).

Chosen hardware:

  • Homematic parts for energy consumption and heating. 
  • I could have chosen a DIY alternative for the Homematic CCU2 but that was too much DIY for a first step that already involved way too many things I was not yet familar with.
  • Alternartive parts for energy consumption that are not completely DIY (safety) are not fully supported by EasyESP yet.
  • EasyESP on ESP8266 with various sensors and actory via MQTT at a later point.

Setting up OpenHabian

HOWEVER, do NOT edit anything in the openhab.config except maybe the Wifi password.
Else it will not boot.
(Either that or I had a broken flash the first time.)

Setting up Homematic with OpenHab

There is a very nice tutorial, that I was following.
Sadly there is one thing it is missing out on.
The CCU2 has a firewall-setting in
Einstellungen->Systemsteuerung gibt es einen Punkt “Firewall konfigurieren”,
By default is in there but if you are using e.g. 10.x.x.x, you have to enter the address of your OpenHab there.
Because it's also not mentioned in the Homematic manual, I was at the brink of throwing this out the window, shortly before I found it.

I'll probably not use Homematic in the long run and switch to Z-wave instead.

Meassuring energy consumption with OpenHab

I had another tutorial to follow here....and gave up on it.
It is written for an OLD version.
This /etc/openhab2/services/rrd4j.cfg  looks much better
Strategies {
 everyMinute : "0 * * * * ?"
   everyHour : "0 0 * * * ?"
    everyDay : "0 0 0 * * ?"

Items {
 // all items, all updates
 * : strategy = everyUpdate, everyMinute


 I did not get graphs to work until I added a
to each and every Chart in my sitemap. Then it suddenly worked.




Using RFIDler on Windows

I just borrowed an RFIDler and am trying to get it to work on Windows to read the content of some NFC cards.

Because this information was hard to pull together, here is what I found:

Firmware update on Windows

You can get mphidflash.exe from here:

You can get the latest firmware from here:
Currently it is 0203-beta (debug)

The command line simply is:
mphidflash-1.6-bin\binaries\mphidflash-1.6-win-32.exe -r -w RFIDler\RFIDler.X.production.hex

Reading cards

Positioning the cards seems to be hard.
I did not get it to work yet but it should be:

Open Putty
Open a serial connection with 115200bps 8n1 no flow control.
type enter to enter CLI mode.

should identify the type of card.

set tag  
sets the type of card

now provides information reat from the card.

source:  https://www.scip.ch/?labs.20151022


'roast only' on the Bonaverde - Aldo Parducci

Project history

  1. old posting: 'roast only' on the Bonaverde - Rodolfo Ruffatti
  2. current posting
  3. next posting: Coffee with bottled water

This time I tried
Bean Type:  Burbo
Grown by Aldo Parducci
of El Salvador

This is one of the larger bean packs I got from the first coffee delivery  for my Bonaverde Berlin roast+grind+brew coffee machine.

I used "roast only" in the alpha version of the "Coffee Concierge" Facebook Messenger Chat bot last night and ground+brew the coffee this morning.
Change to previous attempts: I used a water filter. (Water here has a PH of 7.57 but an extreme 12.2dH of hardness.)

Update: See Coffee with bottled water for later experiments with water that resulted in much better coffee.


 Again I used my Hario Skerton manual coffee grinder at the finest setting (dust).


not yet

filter coffee

Absolutelay GREAT!!!
Very balanced. Not sour at all. I can really taste distinct flavors.

Other changes 

I did add a new label "Coffee" to this blog. So you can see all postings related to it.

Also the "Coffee Concierge" Facebook Messenger Chat-Bot that controls the "Berlin" coffee machine has a new "abort machine" command. It however isn't recognized in all states and does not seem to abort a brewing cycle that has already started.



Fusion360 - you can NOT flip an axis in CAM

I just found out, that it is impossible in Fusion360 to have a single axis on your CNC be oriented differently.
All options to flip the direction of one axis in a CAM setup, also flip one of the others.

Looks like this will also never be fixed.

See: Fusion360 CAM support forum.