A Python Library & Reverse Engineering for the WeDo Kit.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
wedo_plugin scan not raises error Oct 12, 2014
.gitignore update on gitignore Jun 20, 2016
CHANGES.rst nit Jun 20, 2016
INSTALL.rst Some additional information about udev Jun 1, 2015
README.rst merge into master Oct 12, 2014
setup.py Bumped version. Jun 20, 2016


About the WeDo

The Lego WeDo is a tethered-over-USB sensing and robotics toolkit produced by Lego for the educational market.

It's gotten lots of press, including a favorable review on the One Laptop Per Child blog, on deployments and training in Peru.

It's supported by Scratch(on Windows and OSX) and by Lego's proprietary software(on Windows.)

It prominently features the LB1836 motor driver and the LM358 op-amp, as well as an epoxy blob with USB support.

The digital communication protocol used by the Power Functions system is documented on Philo's Awesome Page.


  • Python 2.7+
  • pyusb (setup.py should take care of installing the dependency)


From pypi:

pip install wedo

From the source tree:

./setup.py install

How to Use it

>>> from wedo import WeDo
>>> wd = WeDo()
# Activating the first motor full forward:
>>> wd.motor_a = 100
# Activating the second motor half speed/force backward:
>>> wd.motor_b = -50
# Current value of the tilt sensor:
>>> wd.tilt
# Current distance value in meters of the distance sensor:
>>> wd.distance


Ian Daniher

Tony Forster

Walter Bender

Guillaume Binet

Joshua Coxwell

Alan Aguiar