Jura Firmware

0 views
Skip to first unread message

Merlino Riviere

unread,
Aug 4, 2024, 8:37:58 PM8/4/24
to zaltolohug
Placethe pogo pins into the ESP-01 breakout adapter. I had to press rather hard to get them to seat properly. Wire up the USB-TTL converter to the breakout adapter using 3.3v (NOT 5v).

6800772 120 KB


I have just purchased a new ENA 8 and it is working fine with the WiFi dongle. I believe this is a newer model as it is touchscreen without the physical buttons either side of the screen. The SKU is 15510 as shown here: ENA 8 - JURA United Kingdom. There is also an all white model, SKU 15509.


Ive soldered my USB-TTL-UART-adapter directly to the jura-ESPRESSIF-device: GND, RX, TX, and 3V3 (plus extra GPIO0 for getting device to programming mode) as described. Is it correct that EN (Pin3) is not needed, right?


The ENA1 has a momentary switch to turn on and off. I can bypass it to the esp and use it to send codes to turn on and off. BUT I need a way to know the state of teh machine. I tried soldering to an LED but the levels don;t work out. Software fix would be ideal imo


i hav the same machine e8 (eb) and try it with an wemos di mini without level converter and use external power. I have no error in my log, but i dont receive any information from my machine. i try allready to change TX and RX, nothing works. Do you have used a special jura_coffee.yaml ?


These little marvels of engineering contain meters of tubing, dozens of sensors, valves, ceramic grinders, and heating elements. The complexity of this machinery made us think that maybe there was more that we could do with these machines beyond what their existing programming and predefined products would allow. Naturally, there was.


Believe it or not, these counters could be read out over TTL-level serial port on the back of these machines, a serial port on which the internal microcontroller speaks a simple binary protocol. A similar project, covered by Hackaday a few years ago, featured similar functionality in terms of reading out these coffee usage counters.


Unfortunately the first sniffing attempts already showed why we were having such a hard time communicating with the machine: instead of sticking with the plain-text protocol, the dongle and machine performed what appeared to be a handshake using the old protocol before switching over to an encrypted connection.


That left three machines that we could communicate with. When my employer organized a hackathon event, that was the perfect time to see what we could do with them. We started off connecting them to the local WiFi network. These little black boxes contain an ESP8266 and a level shifter, running the BMaC firmware containing the two Jura modules which I referred to earlier in this article.


The machine is essentially a series of pre-heaters (d), heaters (e), pumps (c), flow sensors (b), valves (f, i), all serving the brewing unit (g), which is the core of the machine. This is where the grinder (not pictured) after grinding a certain amount of coffee beans drops the powder into, which is then flooded with the hot water from the valves and heating elements. Depending on the type of product one can also use steam during the brewing, and add milk from an external unit if so desired to the final product. The fun question was in which order one was supposed to use them, and for how long. Figuring this out was the goal of this one day long hackathon.


By the end of that day, we had worked our way through two kilogram bags of fresh beans, managing to produce something that appeared to be at least at first whiff to be coffee, so we first had those in the team who drank coffee try it until they started rebelling and we had to get people from the other teams to try our creations when they popped by to see what in the world was happening in this one room that smelled very strongly of coffee for some odd reason.


Frustratingly, the list of TOP-tronic commands we had started with turned out to be incomplete. At some point, one of my colleagues figured that they should try unlisted commands that were in sequence, just to see what the machine would do. We had the whole machine screwed open, so we could get a good view of its internals.


A somewhat unpleasant note here is that apparently Jura and TOP-tronic have decided to move away from an easily used protocol as that found on the generation 5 boards. At some point I even toyed with the thought of replacing the TOP-tronic board in the X3 and other machines with generation 7 hardware, using a custom ARM-based board that would simply drive the components according to the input obtained via a WiFi or Ethernet link.


Unfortunately, that would mean decisively voiding the warranty, which is the last thing which one would wish to do with a coffee machine that costs more than a used car. Still, the hacking potential with these automatic coffee machines seems to be almost infinite. If you can get your hands on a (used) XS90 or XS9, it could make for a whole lot of fun, and possibly even the best coffee in your life.


I did disassemble the app, yes. Unfortunately it had been heavily obfuscated, with all original variable and function names gone. Getting into the Java keystore section of the app also proved to be rather hard.


There is a lot of sensor reading in-between phases: whether any access door is opened, whether waste water is full, whether there is enough fresh water, whether the pump has flow (including while under pressure), temperature, whether the grinding motor spins too fast, whether the BG is in the right position, etc.


I cracked the protocol (at least the first layer :D ).

I spoofed the communication between my E6 and the dongle. This allowed me to deobfuscate the communication between the dongle and the coffee maker.

I documented everything here ( -jura), with a reference implementation for the ESP32.


It allows you to send a lot of custom commands, I already was able to discover.

The encryption consists of two stages (obfuscation and encryption).

Once you deobfuscated the connection, you are able the see the one way handshake with two static keys (80 bit).

BUT you already can send a lot of commands to the coffee maker without having to perform the handshake.


Please help with a jura x3c proffesional machine, all that I am trying to do is electronically through the pcb turn off the mains fed water solenoid and run the machines use water tank solenoid both solenoids use the same red live cable and are piggy backed to each other back to a 3pin plug on a pcb the other connection to the mains fed solenoid is black going into the same 3pin plug on the pcb the second connection on the water tank solenoid is brown going back to the same 3pin plug on the pcb please advise on a hack on how to change this


The firmware update has been running for two hours now. Is this normal? If not what should I do since Leica is strongly recommending not to turn the camera off or remove the battery. Advice is appreciated.


I concur with Jaap on using SD Formatter with a new SD card. Apart from anything else, it checks the integrity of the SD card and will immediately alert the user to a fake card. I received a fake Lexar Pro SDXC 128GB card from Amazon France. They have the unfortunate practice of mixing up items from third party sellers/scammers and Amazon's own purchases, all in the same stock bins at the Amazon fulfilment centres. SD Formatter altered me to the fact that the card did not match its description. Amazon France is notorious for sending out fake Duracell Lithium Batteries from third party sellers. I have twice had this problem (10 x CR123A lithium and 10 x CR2032 coin cells). I got Duracell France to sort it for me, as I had no confidence that Amazon France would not just replace fake with fake.


is an IoT-Arduino-based NFC payment system for coffeemakers with toptronic logic unit, as Jura Impressa S95 and others without modifying the coffeemaker itself. We currently use it with a Jura Giga X8 professional.


The main difference to both of the original projects is that the coffeemaker payment system is based on a IoT-device instead of a normal Arduino-Microcontroller. The fact that it is connected to the internet via ESP8266 WiFi chipset opens up manifold new opportunities. The device is administrated with a Ionic-App via MQTT. It is capable to receive firmware updates over-the-air, which makes it much easier to enhance and bugfix the software.


We also expended much effort to modularize the sketch which makes it much easier to develop together and substitute some of the hardware parts. Our goal is to make modules for each part of the system and support some alternative hardware setups.


J.O.E. conveniently brings the various setting and programming options of your coffee machine* to your smartphone/tablet. Customize your favorite specialities, give them creative names or assign any image you want to them. The preparation can of course also be started from the smartphone/tablet.


If the correct PIN was entered when the connection to the machine was established, thisis stored in the app and does not have to be entered again to re-connect. If the PIN is changed later on, it must be entered again in order to connect.Note: The PIN function can be changed in the WiFi Connect / Smart Connect settings.The J.O.E. interfaceStart screen: From this screen you can start preparation and access product settings.


Menu: Tap the menu symbol in the top left to access the menu options.Preparation / product settingsWARNINGDanger of scalding If a preparation or maintenance programme is started via J.O.E. unsupervised, it could result in a third party being scalded if any part of their body is located underneath a spout or nozzle.Make sure no one is endangered when starting unsupervised.


SelectionThe available products may vary depending on the connected machine. Swipe to the left or right to display more products.Tap the icon of the desired product to start preparation.If an accounting system is connected to the coffee machine, preparations cannot be started by the app

3a8082e126
Reply all
Reply to author
Forward
0 new messages