MCPcopy Create free account
hub / github.com/OMOTE-Community/OMOTE-Firmware

github.com/OMOTE-Community/OMOTE-Firmware @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
1,248 symbols 2,861 edges 170 files 341 documented · 27% updated 5mo ago★ 1,759

Browse by type

Functions 987 Types & classes 261
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

OMOTE - Open Universal Remote - Firmware

Ubuntu build Windows Build MacOS Build OMOTE Discord

Overview

This is the ESP32 Arduino based firmware for the OMOTE - Open Universal Remote.

To run this firmware, you have two options * run it on the OMOTE ESP32 Hardware * run it in the simulator on Linux, macOs or Windows

The state of this project

The software can be adjusted to your needs. You can add your own amplifier, TV and media player. Smart home devices can be controlled with MQTT. The software is an example made up of: * a TV and an amplifier controlled with infrared * a Fire TV media player controlled with BLE (bluetooth keyboard) * some smart home devices controlled with MQTT * an IR receiver for decoding the IR codes from your remote

Please see the wiki on how to understand and modify the firmware.

You need to have PlatformIO running, and you need to know how to compile and flash your own firmware with PlatformIO. There is no prebuilt firmware.

The remote can be charged and programmed via its USB-C port. Open the PlatformIO project to compile and upload the code to the ESP32.

As a long term goal, maybe a prebuilt firmware will be published, where you can configure your OMOTE via a web interface.

LVGL GUI simulator for Windows, Linux, and macOS

A simulator for running the LVGL UI on your local Windows, Linux, or macOS machine is available.

You can run the simulator in Visual Studio Code with PlatformIO. No need for any other compiler or development environment (no Visual Studio needed as often done in other LVGL simulators).

For details, please see the wiki for the software simulator for fast creating and testing of LVGL GUIs.

To-dos for software

Long term goals (not yet scheduled) - [ ] Add an interface for graphically editing the configuration - [ ] Store the configuration in Flash (e.g. as a editable json file)

See the open issues and discussions for a full list of proposed features (and known issues).

Contributing

If you have a suggestion for an improvement, please fork the repo and create a pull request. You can also simply open an issue or - for more general feature requests - head over to the discussions.

License

Distributed under the GPL v3 License. See LICENSE for more information.

Contact

OMOTE Discord

Join the OMOTE Discord: https://discord.gg/5PnYFAsKsG

Core symbols most depended-on inside this repo

Shape

Function 675
Method 312
Class 225
Enum 36

Languages

C++95%
C5%

Modules by API surface

hardware/windows_linux/lib/json/json.hpp586 symbols
src/applicationInternal/hardware/hardwarePresenter.cpp68 symbols
hardware/windows_linux/lib/MQTT-C/src/mqtt.c54 symbols
hardware/windows_linux/lib/MQTT-C/include/mqtt.h40 symbols
hardware/ESP32/lib/ESP32-BLE-Keyboard/BleKeyboard.cpp37 symbols
src/applicationInternal/gui/guiMemoryOptimizer.cpp33 symbols
src/devices_pool/misc/device_airconditioner/device_airconditioner.cpp23 symbols
hardware/ESP32/keyboard_ble_hal_esp32.cpp23 symbols
src/applicationInternal/gui/guiBase.cpp20 symbols
hardware/ESP32/lib/Keypad/src/Keypad.cpp17 symbols
src/devices_pool/misc/device_airconditioner/gui_airconditioner.cpp16 symbols
src/guis/gui_BLEpairing.cpp14 symbols

For agents

$ claude mcp add OMOTE-Firmware \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page