GithubHelp home page GithubHelp logo

carlesbarreda / esphomeroombacomponent Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mannkind/esphomeroombacomponent

0.0 2.0 0.0 20 KB

A barebones ESPHomeLib Roomba Component

License: MIT License

C++ 100.00%

esphomeroombacomponent's Introduction

Unsupported

Due to a botched surgery, I no longer have a Roomba 650. Leaving it for for future DIYers.

Roomba Component for ESPHome

A barebones bit of glue between ESPHome and Mike McCauley's Roomba library that enables control of a Roomba 650 via MQTT.

Last tested with ESPHome 1.13.x and Mike McCauley's Roomba Library 1.3.

The inspiration is John Boiles' esp-roomba-mqtt project, but I want all my IoT devices driven by ESPHome.

Hardware

Wiring Guide

John Boiles' wiring guide was the basis for my setup.

The main difference is that John Boiles' repo uses a voltage divider on the Roomba's TX pin, while I used a PNP transistor. I used a transistor because the voltage divider was not working for me, and I found a Roomba Create document with the following information:

In some cases, the drive strength of a Roomba TX line is not enough to drive the RX line of another board (for example, in some revisions of Arduino). In this case, a simple PNP transistor (2N2907A, 2N3906, or 2N4403, among others) can be used to provide enough “drive” for the Arduino.

Source: Roomba Create® 2 to 5V Logic

Alternative Wiring Guide

One might find this alternative wiring guide easier to get started with. It has fewer parts required and uses a PNP transistor.

Special Notes

  • Many PNP Transistors will work; pay attention to the pinout of the specific transistor you choose to use.
  • Many pins can be the BRC pin; update roomba.yaml with the pin you choose.
    The example matches John Boiles' chosen pin D5/GPIO14.

Placement

The Wemos D1 mini is small enough to fit into the compartment by one of the wheels.
Source: Add wifi to an older roomba community project thread on the Home Assistant forum.

Software Setup/Use

Take a look at the example directory for a fully working example.

  • <example/esphome.yaml> - Contains the bits needed for ESPHome.
  • <example/homeassistant-vacuum.yaml> - Contains the bits needed to integrate as a "MQTT Vacuum" in Home Assistant.

esphomeroombacomponent's People

Contributors

mannkind avatar

Watchers

James Cloos avatar  avatar

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.