Thank you for the video! I am also working on the temperature and oil pressure gauge projects from your videos and was wondering if this tacho project can be run on the same ESP32 as those projects. It seems pin 25 is already in use by the temperature sensors. What are my options here?
Yes you can use the very same esp32. You can use many other pins for the optocoupler on the ESP32. Some commonly used GPIO pins for general purposes are GPIOs 12, 13, 14, 16, 17, 18, 19, 21, 22, 23, 26, 27, 32, and 33. Just avoid using pins that are reserved for specific functions like GPIO 6 to 11 (used for flash memory) or GPIO 34 to 38 (input-only pins). You just need to update the esphome yaml from my website to reflect the pin you choose.
Wow! I feel like a binge watch session is coming on. Out cruising now and my Tach stopped working so was researching fixes but this just jumped to the top of the list of improvements I’d love to add to my 1989 Catalina 36 🤙 Thank you!
Done. The crux of this project for me was the wiring of the alternator. I could not make out any markings on mine and it is hard to reach. For the negative to the octocoupler I just plugged into the general boat ground. For the tachometer there were about 4 possible terminals on the back of the alternator. Th third one I tried gave me readings.
Great video, Rob. Thanks for sharing your knowledge. I was really looking forward to adding RPMs and engine hours to my set-up, as they can be very useful in many automation use cases, in addition to the dashboards. I'll be setting it up in the next few days, although currently being on the hard, I can't really test it.
Assuming the numbers in your calibration are accurate, your alternator belt may be slipping at higher RPMS. Your ratio at 1000 RPM is 15.2:1 and progressively falls as RPMs rise, down to 15:1 at 1600 RPM. Either you have a slipping belt, or there is an inaccuracy in the measurements used the calibration. Seems like it would be better to use a direct RPM count (maybe a pulse from a sensor on the flywheel) rather than the alternator, then you'd have the bonus of actually measuring things like belt slippage over time... Just an observation, good work over all; I've been enjoying your videos.
Well spotted. I am glad there are people out there looking at the little details. Impressive! Actually my engine RPMs on the video are from my analog gauge which is out of adjustment. Today I checked with a strobe and these were the calibration figures - 15200 -> 850 - 18200 -> 1015 - 21100 -> 1180 - 24000 -> 1335 But I didn't update the video as it was the procedure that was important and not that my engine tacho was wrong.
Para ver los subtítulos en español, puedes activar los subtítulos automáticos de UA-cam de la siguiente manera: 1. Haz clic en el ícono de configuración (engranaje) en el reproductor de video. 2. Selecciona "Subtítulos/CC" y luego "Subtítulos automáticos". 3. Luego, vuelve a hacer clic en el ícono de configuración, selecciona "Subtítulos/CC" y después "Traducir automáticamente". 4. En la lista de idiomas, selecciona "Español". Esto debería permitirte ver los subtítulos automáticos en español. Espero que esto te sea de ayuda, y gracias por ver mis videos.
Hi Rob - awesome video, I’m adding this because I have no rpm reading at the moment. Can you specify the app you used to get the known rpm reading please
Hi Rob, in the description it says choose the 24v version of the optocoupler. I think my alternator is 12v so should i then go with the 12v optocoupler?
Yes. You just need to create a template helper. Settings -> Devices & Service -> Helpers. Then create a help of type template. This will create a new sensor based on your old one. Add this definition for the template. {{ ((states('sensor.monitor_engine_hours') | float + 5000) | round(0)) | int }} This will add 5000 hours.
There is a small error in your yaml. I suggest you remove the line for the Engine tacho: device_class: frequency. My HA gave me a warning that frequency is not measured in rpm. Removing the device class got rid of the warning in my logs.
I just checked my install and I do not get a warning for this. Did you see this in the ESPHome device logs? What versions of ESPHome and HA do you have? Can you email me the extract from the logs. Thanks-
Dear Rob, huge thanks for the video. I installed the code, but when validating the YAML, I got a message here below. What I did wrong? Unfortunately I'm not yet skilled enough to solve it...would you mind to help a bit? It also gave a message of having twice the "sensor" in the code, as it was already used earlier in the code, for other sensors. Therefore I deleted it from this part of the YAML, and that error disappeared. INFO ESPHome 2024.2.2 INFO Reading configuration /config/esphome/esp-web-tools-example-296dbc.yaml... ERROR Error while reading config: Invalid YAML syntax: while parsing a block mapping in "/config/esphome/esp-web-tools-example-296dbc.yaml", line 90, column 3 expected , but found '-' in "/config/esphome/esp-web-tools-example-296dbc.yaml", line 92, column 3 Lines 90 (DEBUG) and 92 (platform...) look like this: # Set level to INFO after calibration is completed logger: level: DEBUG - platform: pulse_counter pin: 12 name: "Engine Tacho" id: rev_counter Hope I managed to explain it clearly enough...wish I had a possibility to send a screen capture
If you have sensor in another part of your Yaml then you need to merge them both together. You need to have the sensor heading and then under it all of platforms etc You cannot have 2 sensor headings. For simple things like this try using ChatGPT. copy and paste your YAML to ChatGPT and it will most likely give you a solution. If all fails send me an email. You can find it in the contact section of my website. Good Luck!
Thank you for the video! I am also working on the temperature and oil pressure gauge projects from your videos and was wondering if this tacho project can be run on the same ESP32 as those projects. It seems pin 25 is already in use by the temperature sensors. What are my options here?
Yes you can use the very same esp32. You can use many other pins for the optocoupler on the ESP32. Some commonly used GPIO pins for general purposes are GPIOs 12, 13, 14, 16, 17, 18, 19, 21, 22, 23, 26, 27, 32, and 33. Just avoid using pins that are reserved for specific functions like GPIO 6 to 11 (used for flash memory) or GPIO 34 to 38 (input-only pins).
You just need to update the esphome yaml from my website to reflect the pin you choose.
@@SmartBoatInnovations Got it, thank you!
Wow! I feel like a binge watch session is coming on. Out cruising now and my Tach stopped working so was researching fixes but this just jumped to the top of the list of improvements I’d love to add to my 1989 Catalina 36 🤙 Thank you!
Thanks. My old Tacho also has problems so this was a very useful addition.
Done. The crux of this project for me was the wiring of the alternator. I could not make out any markings on mine and it is hard to reach. For the negative to the octocoupler I just plugged into the general boat ground. For the tachometer there were about 4 possible terminals on the back of the alternator. Th third one I tried gave me readings.
Well done!
Great video, Rob. Thanks for sharing your knowledge. I was really looking forward to adding RPMs and engine hours to my set-up, as they can be very useful in many automation use cases, in addition to the dashboards. I'll be setting it up in the next few days, although currently being on the hard, I can't really test it.
Thanks. Let us know how you get on.
Great a s always. I will be doing this after plush down.
Thanks. Let us know how it goes.
Assuming the numbers in your calibration are accurate, your alternator belt may be slipping at higher RPMS. Your ratio at 1000 RPM is 15.2:1 and progressively falls as RPMs rise, down to 15:1 at 1600 RPM. Either you have a slipping belt, or there is an inaccuracy in the measurements used the calibration. Seems like it would be better to use a direct RPM count (maybe a pulse from a sensor on the flywheel) rather than the alternator, then you'd have the bonus of actually measuring things like belt slippage over time... Just an observation, good work over all; I've been enjoying your videos.
Well spotted. I am glad there are people out there looking at the little details. Impressive! Actually my engine RPMs on the video are from my analog gauge which is out of adjustment. Today I checked with a strobe and these were the calibration figures
- 15200 -> 850
- 18200 -> 1015
- 21100 -> 1180
- 24000 -> 1335
But I didn't update the video as it was the procedure that was important and not that my engine tacho was wrong.
Tienes videos muy interesantes, con mi educación no entiendo el inglés, puedes activar los subtítulos al español, te lo agradecería mucho.
Para ver los subtítulos en español, puedes activar los subtítulos automáticos de UA-cam de la siguiente manera:
1. Haz clic en el ícono de configuración (engranaje) en el reproductor de video.
2. Selecciona "Subtítulos/CC" y luego "Subtítulos automáticos".
3. Luego, vuelve a hacer clic en el ícono de configuración, selecciona "Subtítulos/CC" y después "Traducir automáticamente".
4. En la lista de idiomas, selecciona "Español".
Esto debería permitirte ver los subtítulos automáticos en español. Espero que esto te sea de ayuda, y gracias por ver mis videos.
Hi Rob - awesome video, I’m adding this because I have no rpm reading at the moment. Can you specify the app you used to get the known rpm reading please
There are many strobe RPM app you can use via your phone.
Hi Rob, in the description it says choose the 24v version of the optocoupler. I think my alternator is 12v so should i then go with the 12v optocoupler?
@@MarleyMarlz1234 A 12V alternator can output 15V so that is why I went with a 24V optocoupler
Hello Rob - is there a way to change the start value of the Engine Operating Hours to make it match the actual engine hours?
Yes. You just need to create a template helper. Settings -> Devices & Service -> Helpers. Then create a help of type template. This will create a new sensor based on your old one. Add this definition for the template.
{{ ((states('sensor.monitor_engine_hours') | float + 5000) | round(0)) | int }}
This will add 5000 hours.
@@SmartBoatInnovations thanks, appreciate your efforts and answers!
There is a small error in your yaml. I suggest you remove the line for the Engine tacho: device_class: frequency. My HA gave me a warning that frequency is not measured in rpm. Removing the device class got rid of the warning in my logs.
I just checked my install and I do not get a warning for this. Did you see this in the ESPHome device logs? What versions of ESPHome and HA do you have? Can you email me the extract from the logs. Thanks-
Dear Rob, huge thanks for the video. I installed the code, but when validating the YAML, I got a message here below. What I did wrong? Unfortunately I'm not yet skilled enough to solve it...would you mind to help a bit?
It also gave a message of having twice the "sensor" in the code, as it was already used earlier in the code, for other sensors. Therefore I deleted it from this part of the YAML, and that error disappeared.
INFO ESPHome 2024.2.2
INFO Reading configuration /config/esphome/esp-web-tools-example-296dbc.yaml...
ERROR Error while reading config: Invalid YAML syntax:
while parsing a block mapping
in "/config/esphome/esp-web-tools-example-296dbc.yaml", line 90, column 3
expected , but found '-'
in "/config/esphome/esp-web-tools-example-296dbc.yaml", line 92, column 3
Lines 90 (DEBUG) and 92 (platform...) look like this:
# Set level to INFO after calibration is completed
logger:
level: DEBUG
- platform: pulse_counter
pin: 12
name: "Engine Tacho"
id: rev_counter
Hope I managed to explain it clearly enough...wish I had a possibility to send a screen capture
If you have sensor in another part of your Yaml then you need to merge them both together. You need to have the sensor heading and then under it all of platforms etc
You cannot have 2 sensor headings.
For simple things like this try using ChatGPT. copy and paste your YAML to ChatGPT and it will most likely give you a solution.
If all fails send me an email. You can find it in the contact section of my website.
Good Luck!
@@SmartBoatInnovations Dear Rob, huge thanks for your help! I managed to fix the YAML with your instructions.