GithubHelp home page GithubHelp logo

marax_timer's Introduction

marax_timer

This repository is a rewrite of espresso_timer that has better documentation and is easier to use.

This project was designed to be used with a Lelit MaraX espresso machine (like the Lelit Mara PL62X), but it works (only the timer functionality) with any espresso machine that has a vibration pump.

Hardware

The following hardware is needed:

  • NodeMCU (ESP8266)
    • Tested with a NodeMCU V2 CP2102 board
  • 0.96" OLED display
    • Tested with a 4-pin version
  • Reed sensor
    • Normally closed and normally opened works
  • Wires
  • 3D printed case (https://www.thingiverse.com/thing:2937731)

Hardware Connections

Connect the OLED display like this: Remember that different display versions have different orders of VCC, GND, and data pins.

The reed switch goes to ground and D7.

The reed switch will be glued onto the machine's vibration pump like this:

If you have a Lelit MaraX machine, open the underside of the machine and you will see a 6-pin connector.

Connect pin 3 of the machine (RX) to pin D6 (TX) of NodeMCU

Connect pin 4 of the machine (TX) to pin D5 (RX) of NodeMCU

In case this does not work, change the pins connection (pin 3 to D5 & pin 4 to D6)

Software

In order to make NodeMCU work with Arduino IDE, follow these instructions: https://www.instructables.com/id/Quick-Start-to-Nodemcu-ESP8266-on-Arduino-IDE/

Operation

When the pump will start, the timer on the screen will also start counting.

When the pump is stopped, the time will remain printed on the screen (if more than 15 seconds have passed) until the next time the pump is activated.

The time is not recorded unless 15 seconds have passed because the MaraX machine starts the pump by itself from time to time to fill the boiler with water.

The display should go to sleep after 1 hour and will wake up when the pump is started.

If the timer immediately starts, even when the machine is off, a wrong reed sensor is used. To solve it, replace the reed sensor with another type (normally opened / normally closed) or change the reedOpenSensor to true in the timer.ino file.

UI

Dependencies

This project uses the following dependencies:

More information

More information about the project and progress can be found here.

marax_timer's People

Contributors

alexrus avatar floblmr avatar mhellmeier avatar upegelow avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

marax_timer's Issues

Randomly get weird characters instead of temp

The timer is working super well and I can see the temp sometimes, but it is rotates between the temp and garbage Unicode characters.

Attached is a video of what I mean.

Not sure if this is a bad crimp or a software issue.

Upload.from.GitHub.for.iOS.MOV

Additional Hardware Information

It would be great if the README can be extended with detailed hardware information.
Currently, the list contains the following information:

Hardware:

These questions remain open:

  1. Are there any preferred NodeMCU ESP8266 boards? Like CH340G, CP2102, CH9102X, ...
  2. The linked 3D case is made for an SH1306 OLED display. Which is the correct one: the original, big one on the blue-colored board or the new smaller one on the black/dark-grey board?
  3. Which reed sensor type is the correct one: open or closed?

Fatal error when trying to program in Arduino IDE

I got this message when i copied the code provided and uploaded onto my Arduino board. Any help?

C:\Users\Admin\AppData\Local\Temp.arduinoIDE-unsaved2023115-20396-10iotpg.0ay2\sketch_dec5c\sketch_dec5c.ino:7:10: fatal error: Adafruit_SSD1306.h: No such file or directory
7 | #include <Adafruit_SSD1306.h>
| ^~~~~~~~~~~~~~~~~~~~
compilation terminated.

exit status 1

Compilation error: Adafruit_SSD1306.h: No such file or directory

Timer does not (?) take into account the 500ms delay from 1st read

Hi πŸ‘‹

In order to stop the timer we have to wait for (at least) a period of the pump (because of the reed sensor pulsing).
You calculated this to be 500ms.

But, since we waited 500ms from our 1st 0 read, I think those 500ms need to be subtracted from the timer afterwards.
Or, am I missing something ?

For example, instead of stoping the timer at millis:
timerDisplayOffMillis = millis();

You should stop it at:
timerDisplayOffMillis = millis() - 500;

or better (?) take the millis we had the 1st 0 as the actual stop time?
timerDisplayOffMillis = timerStopMillis;

Also compatible to MaraT?

Hi all,

thanks for this, this is looking great!
Currently I am planning to either purchase the MaraX or MaraT. The only difference I've spotted on the MaraT is that this has a PID installed. But does anyone know if the MaraT has also the 6 PIN Serial connector? Would be great to also get those readings.

Thanks!

Display on SH1306

How do i change the code to make the text for a SH1306?

After i’ve 3D printed the case as per the link that i realized the 0.96” OLED won’t fit as the case is way to big for it. Instead of going for another 3D print i reckon it will be easier for me to get a SH1306 instead

lever direction reversed

Hey thanks for posting this. Everything worked fine until I connected pins 3 and 4 to the board. if i have it set up without them everything works great, the timer goes on and off perfectly. but when I connect pins 3 and 4 to D5 and D6 (or the other way around) this causes the machine to reverse the pump flow, so water comes out when the lever is lowered, and stops coming out when the lever is down. Any ideas why? Thanks!
edit: its the OPV discharge that water is coming out of not the water head.

Temperature section shoes different letters

Hi. I followed your instructions to create a shot timer. It works create, but the temperature section shows a lot ot different letters and doesn't show the correct temperature. Sometimes it works. Mostley not. Do you have am idea whats wrong?

gaggia pro

trying to see if I can transfer to a gaggia pro. problem is that a machine on signal must be sent to d5 d6 before the display is activated, is there a way to remove that check

GND-Connection between ESP and Mara?

Hi!
I'm wondering how the serial communication is supposed to work since there doesn't seem to be any GND connection between the MCU and the coffee machine?
Looking at code and documentation, only the RX and TX lines seem to be connected - no GND.

I'd like to understand how this is supposed to work before trying to build it.

Best regards!

Old version with MQTT and WiFi

Came back to this code, and realised the new version is significantly streamlined with no WiFi / MQTT support. Wonder if I am missing anything out?

Timer immediately starts

I just set up the board and installed the reed sensor as described in the README.

After starting the Mara X machine and the board, the timer immediately starts counting, although the pump has not started yet. When starting or stopping the pump, the timer keeps counting and doesn't stop.

Any ideas on what causes the problem and how to fix it?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.