head to head · open source

python-miio vs IRremoteESP8266

python-miio has 4,335 GitHub stars, 602 forks, 313 open issues and last shipped 3 months ago. IRremoteESP8266 has 3,661 stars, 945 forks, 105 open issues and last shipped 2 months ago. python-miio leads on adoption by 18% (4,335 vs 3,661 stars). python-miio is written in Python under GPL-3.0; IRremoteESP8266 is written in C++ under LGPL-2.1. python-miio has attracted 14% as many forks as stars, IRremoteESP8266 26%. IRremoteESP8266 was the more recently maintained of the two, and both are self-hostable with no licence fee. The two share 1 topic tag (home-automation), so they are genuine substitutes rather than adjacent tools.

Two open source projects, one decision. Both are free and self-hostable — the differences are community size, license terms, language stack and release pace.

python-miio ★ 4.3K IRremoteESP8266 ★ 3.7K category Miscellaneous

← all 20902 open source comparisons

Side by side

python-miio IRremoteESP8266
GitHub stars ★ 4.3K ★ 3.7K
License GPL-3.0 LGPL-2.1
Written in Python C++
Last push 2026-07-25 2026-08-23
Forks ⑂ 602 ⑂ 945
Self-hosting Yes Yes
Data ownership Your server Your server

pick python-miio if

  • You weight community size — 4.3K stars and counting
  • You want the GPL-3.0 license terms
  • Your stack matches Python
  • You value the larger contributor base for long-term maintenance

full python-miio profile →

pick IRremoteESP8266 if

  • You want the IRremoteESP8266 feature set and don't need the biggest community
  • You prefer the LGPL-2.1 license terms
  • Your stack matches C++
  • You evaluated both and IRremoteESP8266 fits your workflow better

full IRremoteESP8266 profile →

About python-miio

python miio This library (and its accompanying cli tool, miiocli ) can be used to control devices using Xiaomi's miIO and MIoT protocols. This is a voluntary, community driven effort and is not affiliated with any of the companies whose devices are supported by this library. Issue reports and pull requests are welcome, see contributing! The full documentation is available at python miio.readthedocs.io. Installation Getting started Controlling modern (MIoT) devices Controlling older (miIO) devices Troubleshooting API usage Contributing Simulators Supported devices Projects using this library Other related…

read the full python-miio overview →

About IRremoteESP8266

This library enables you to send and receive infra red signals on an ESP8266 or an ESP32 using the Arduino framework using common 940nm IR LEDs and common IR receiver modules. e.g. TSOP{17,22,24,36,38,44,48} demodulators etc. v2.9.0 Now Available Version 2.9.0 of the library is now available. You can view the Release Notes for all the significant changes. Upgrading from pre v2.0 Usage of the library has been slightly changed in v2.0. You will need to change your usage to work with v2.0 and beyond. You can read more about the changes required on our Upgrade to v2.0 page. Upgrading from pre v2.5 The library has…

read the full IRremoteESP8266 overview →

More in Miscellaneous

Related comparisons

More Internet of Things (IoT) projects

Compare either of these against the rest of the Internet of Things (IoT) field.

Frequently asked questions

Is python-miio or IRremoteESP8266 more popular?

python-miio has 4,335 GitHub stars and IRremoteESP8266 has 3,661. python-miio has the larger community by that measure.

Are python-miio and IRremoteESP8266 free?

Both are open source. python-miio is licensed under GPL-3.0 and IRremoteESP8266 under LGPL-2.1. Neither carries a licence fee.

What is the difference between python-miio and IRremoteESP8266?

python-miio is written in Python and IRremoteESP8266 in C++. The practical differences are community size, licence terms, language stack and release cadence — all compared in the table above.

Which should I choose, python-miio or IRremoteESP8266?

Choose python-miio if you want the larger community (4,335 stars) or its GPL-3.0 licence terms. Choose IRremoteESP8266 if its feature set, stack or LGPL-2.1 licence fits better. Both are self-hostable.