LMS-ESP32 firmware options for game pads, servos and NeoPixels with Bluepad

Ste7an

Updated on:

With so many LEGO hubs, programming systems and firmware options, the choice for LMS-ESP32 firmware can be daunting. We’ve worked hard to support everything. The upside is that it gives you many possibilities. The downside is that it’s difficult to choose from these options. In this article, you’ll find an overview of all choices with their pros and cons.

The most popular application of the LMS-ESP32 board is gamepad remote control. For that purpose, we have developed the Bluepad firmware. While it’s built around gamepad support, it adds possibilities for LEDs and servos. Over the past year, we’ve improved our integration of Bluepad32 into firmware compatible with LEGO hubs. This work has led to the development of two firmware variants which can be uploaded to the LMS-ESP32 using our online firmware upload page:

  • Bluepad32 LPF2: Compatible with hubs running legacy MINDSTORMS Robot Inventor, SPIKE Legacy, the new SPIKE 3, and the open-source Pybricks.
  • Bluepad32 UartRemote: Only compatible with Inventor or SPIKE Legacy hubs programmed in Python.

This article will help you pick the right Bluepad firmware based on your LEGO hub and programming environment. Alternatively, you can use our interactive form to determine the best firmware.

LMS-ESP32 firmware support for different hub programming environments

We discern the following programming environments for LEGO hubs :

  • Pybricks: This is the open-source programming environment that runs on almost any Lego hub
  • SPIKE3: This is the newest SPIKE Education software, only running on the yellow SPIKE and SPIKE Essential hubs.
  • SPIKE Legacy: This is the SPIKE Legacy software which can still be downloaded and used
  • Inventor: This is the legacy MINDSTORMS Robot Inventor software. It runs on both the teal Robot Inventor hub and the yellow SPIKE hub. It was officially supported until the end of 2024.

The table below highlights which features are available in each version of the firmware.

LMS-ESP32 firmware options with bluepad
Use this table to choose the Bluepad32 firmware depending on how you program your hub.

Each hub programming environment supports either Blocks or Python. The functionality you get with Bluepad32 depends on your choice of environment and programming language. We grouped all the example code in a new Bluepad repository.

Bluepad32 LPF2 firmware

This firmware lets the LMS-ESP32 act a Lego sensor and makes the hub believe an original sensor is connected. Using the online Bluepad web configurator, you can choose whether it emulates a Light sensor or a 3ร—3 Light matrix.

Below, you’ll find the tutorials for the different programming environments.

Pybricks

We provide the bluepad.py library for Pybricks to unlock all the features in your Pybricks blocks or Python programs. For examples, see our GitHub Pybricks example directory. We published some posts that cover the integration of Bluepad32 with Pybricks. We have updated all the material to be compatible with the latest Bluepad32 firmware.

Examples for Pybricks Blocks:

Examples for Pybricks in Python

SPIKE3

Examples with SPIKE3 Word Blocks:

Examples with SPIKE3 Python code:

Bluepad32 UartRemote firmware

This firmware implements the UartRemote protocol for the communication between the LMS-ESP32 and the Lego hub.

Inventor & SPIKE Legacy

Python:

Word Blocks

We’re eagerly awaiting your builds!

Hopefully, this blog gives you an overview of all the combinations of the different LMS-ESP32 Bluepad firmware and programming environments for your hub. By identifying your needs, and considering the preferred programming environment, the matrix will show you the possibilities and the restrictions you have when using a gamepad in your project. We’re excited to see what you’ll build! Send an email or tag us on social media.

Like this article? Help us make more!

Your support matters

We appreciate your support on Patreon and YouTube! Small things count.

Become a Patron

Don't miss a thing

Subscribe below to get an email when we publish a new article.

Share this with someone who needs to know

Leave a Reply

Item added to cart.
0 items - 0.00