2020-02-17

BMPCC4K Control app - new users

Project history

  1. Previous project: name with link
  2. BMPCC4K Control app - Resolutions
  3. current posting
  4. next step
  5. Next project:


There is a surprisingly large number of new users for my
BMPCC4K app in January.

I guess I should get back to some of the items accumulating in the backlog.

Links:

2020-01-20

Bonaverde is dead

Project history

  1. Bonaverde - Emulating NFC cards
  2. current posting
  3. next step?

Now that Bonaverde is dead and people can no longer use their coffee machines

  1. via the app
  2. the old Facebook messenger "Coffee Concierge" chat bot
  3. or buy non-expiring NFC cards for permanent usage,

I'm thinking of publishing my raw NFC card dumps.
That would allow people to write their own Mifare Classic EV1 NFC cards to keep using their coffee machine.

Should I do so?

Links:

2019-12-01

BMPCC4K Control app - Resolutions

Project history

  1. Previous project: LPG/CNG Price Reporter
  2. BMPCC4K Control app - URSA Mini Pro G2
  3. current posting
  4. next step: BMPCC4K Control app - new users
  5. Next project: designing a chain link tool library

Some updates on my BMPCC4K Camera Control App. (That  also supports the BMPCC6K, UMP and UMP G2)

Blackmagic never got around to adding the missing values to the "1.0 Video Mode" command of their bluetooth protocol. They even added new resolutions without adding the constants to support them via Bluetooth.

But I got a hint about a workaround for this issue and now all supported resolutions on BMPCC4K, BMPCC6K, UMP and UMP G2 should be supported.
You can also only select resolutions that fit the currently selected frame rate

Links:

2019-09-29

Bonaverde - Emulating NFC cards

Project history

  1. old posting: Bonaverde: testing Henry Hück
  2. current posting
  3. next posting: 

The problem

For my Bonaverde "Berlin" machine,
I still have some green beans in the large 500g bags around.
They contain no NFC tag and where shipped to Kickstarter backers.

Since serveral weeks and 3 app-updates the myBonaverde app no longer offers many types of coffee beans including these for roasting.
It also has many other issues with the list such as listing the same entry 3-5 times, listing lots of 80g profiles when having 50g selected,....
Support couldn't find the issue yet. (Yes, uninstalling does NOT help in any way.)

NFC to the rescue

So I decided to have a look at their NFC tags. They work offline after all.
I do have a number of used-up single-use cards of the typed of coffee.

The ISO 14443-3A compatible "NXP MIFARE Ultralight EV1 - 48 Byte" cards with 20 memory pages of 4 byte each.

Card format

I quickly found out the following facts:
  • sector 00 - unique ID by Mifare. Doesn't matter.
  • sector 01 - still UID
  • sector 02 - card type and other bits we don't care about
  • sector 03 - these are OTP = one time programmable. 
    • Single use cards are made single-use by setting ALL bits 1.
    • They can be reset by emulating the same cards with these fuses set back to 0.
    • The same mechanism is used for single-use air filters.
  • sector 04 - always the same content
  • sector 05 - byte 2 is different for NFC tags on air filters.
  • sector 06 - byte 3 indicates the type of card. 
    • 56=air filter 
    • A2=coffee changers badge
    • AC=single use coffee pouch
    • update: AE=Advent_ure#4
    • update: B2=roast only, roast and grind
    • update: B5=grind only, brew only, 80g universal tool
    • update: B6=Advent_use#14 slow roast(+brew)
    • ...
  • sector 07 - always the same content
  • sector 08 - byte 0 is different for NFC tags on *unused* air filters
  • sector 09 - byte 2 is different for NFC tags on air filters.
  • sector 0A - byte 1 is different for NFC tags on air filters
  • sector 0B - byte 2+3 differ. 
    • meaning unknown
  • sector 0C - always 0x00000000
  • sector 0D - always 0x00000000
  • sector 0E - always 0x00000000 
  • sector 0F - first byte differs
    • meaning unknown
  • sector 10 - CFG 0 (MIRROR / AUTH0), content given by Mifare
  • sector 11 - CFG 1 (ACCESS), content given by Mifare
  • sector 12 - PWD0 - PWD3 always 0x00000000
  • sector 13 - PACK0 - PACK1 always 0x00000000
The description of sector 7-0F does not refer to the card types marked as "update:". I didn't have the time to have a closer look at these yet. 

Emulation?

I can not emulate these types of card using my Android phone. But you can get card emulators with a switch to make sector 03 writable.
I got one, set up with a firmware emulating the 48 byte version of the EV1 cards.
I used the MIFARE++ Ultralight app to write to one of these emulators.
The NFC Tools app (pro) app looked promising but can't write what it can read. It can only write NDEF recordd.

Implications

It's your own coffee machine.
You can't do anything unsafe with this.
You purchased the green beans from Bonaverde to get the NFC tag in the first place.
You can't get the beans matching the bean-specific roasting profile referenced in the NFC tag anywhere else.
So I see no problem in sharing this absolutely trivial bit of information.

TBD

I could not find out how the roasting profiles are stored.
According to the FAQ there are 6 roasting degrees. 
The content is too small to store a list of time+temperature values forming a the curve of a roasting profile. So my guess is that there is a fixed or updatable table of profiles in the machine and the card just selects it. Or the card contains a single pair of duration+intensity.

Links:

2019-06-27

BMPCC4K Control app - URSA Mini Pro G2

Project history

  1. Previous project: LPG/CNG Price Reporter
  2. old posting BMPCC4K can select 4K and 4.6K resolutions
  3. current posting
  4. BMPCC4K Control app - Resolutions
  5. Next project: designing a chain link tool library

Finally a user sent me the idenfification string for the URSA Mini Pro G2.
Blackmagic does not document the exact strings the cameras use in Bluetooth to identify themself.

I added support for the G2 to behave just like the URSA Mini Pro in the latest Beta release.

Links:

    2019-06-12

    BMPCC4K can select 4K and 4.6K resolutions

    Project history

    1. Previous project: LPG/CNG Price Reporter
    2. old posting BMPCC4K app gets presets
    3. current posting
    4. next step: BMPCC4K Control app - URSA Mini Pro G2
    5. Next project: designing a chain link tool library


    In firmware 6.3 Blackmagic finally offers a way to select the different 4K and 3K/4.6K(UMP only of cause) resolutions via Bluetooth.
    So I'm about to add these to my "BMPCC4K control" app.

    Status


    Update (2019-06-17): I tried it with the BMPCC4K and firmware 6.4 and it didn't work. I'm in contact with Blackmagic. My suspicion is that this was only rolled out for the URSA and not the BMPCC4K yet.

    Get Support

    If you have any issues with the app, please contact me using the email address mentioned in the Play Store. If you don't speak up, I can't help you.
    Also, reviews in Play Store are not a chat. They are product reviews. Not a place to ask questions and expect an answer.

    Connection Issues

    If you can't get a connection via Bluetooth or can't find your (already paired) camera, it's often a crappy Bluetooth Stack in your phone.
    In that case rebooting the phone is your best hope. Bluetooth and especially Bluetooth Low Energy is not Googlen's or most manufacturer's highest priority when it comes to Android. The API to access BLE is already pretty crappy compared to most other Android APIs and the underlying implementation is grown as more and more things have been added to the different versions of the Bluetooth standards. All of these versions the phone has to support at the same time. Nothing an app can do about that. Only Google and the phone manufacturer can fix their bugs and I can fix mine.

    Stability

    On a positive note, there is still not a single crash or "application not responding" automatically reported in any version of the app installed via Play Store since late 2018.

    Links:

      2019-05-18

      BMPCC4K app gets presets

      Project history

      1. Previous project: LPG/CNG Price Reporter
      2. old posting New BMPCC4K firmware - this time with BRaw
      3. current posting
      4. next step BMPCC4K can select 4K and 4.6K resolutions
      5. Next project: designing a chain link tool library


      I did not have much time to do anything on my BMPCC4K Camera Control - Android App lately but I did manage to publish a new, public beta version today that has a new tab for storing and recalling the current camera settings as presets.

      My camera is currently used on a film set, so it will take me until at least next week to properly test this Beta to offer it as a stable release.

      Links: