Skip to main content

LEGO MINDSTORMS EV3 Debian C library + Python, Ruby and Perl wrappers

Project description

 ____ __     ____   ___    ____ __         (((((()
| |_  \ \  /   ) ) | |  ) | |_  \ \  /  \(@)- /
|_|__  \_\/  __)_) |_|_/  |_|__  \_\/   /(@)- \
___         __________________________________
___ VERSION __________________________________

ev3dev-c    1.0c1

kernel      4.4.87-22-ev3dev-ev3
___             ______________________________
___ WHAT IS IT? ______________________________

ev3dev-c is a C library for LEGO MINDSTORMS EV3 Debian Linux
( which wraps access to the EV3 hardware.

The library also supports remote access to the EV3 brick over a network.
So, if you configure WLAN on the brick, you can control the EV3 hardware
from a remote computer, for example, running under Windows.

___                       ____________________
___ PYTHON, RUBY and PERL ____________________

Python (see "python/ev3dev" folder), Ruby (see "ruby" folder) and
Perl (see "perl" folder) libraries are automatically generated from
C library using SWIG tool.

Use pip to install ev3dev-c Python package:

    pip install ev3dev-c

ev3dev-c Python package contains the following binary modules:
_ev3.pyd    – for remote control from Windows (x86)     – for LEGO MINDSTORMS EV3 Debian.

You have to install "python-dev", "ruby-dev" and "libperl-dev"
packages to build the corresponding libraries.

___          _________________________________
___ GET HELP _________________________________

Documentation generated by Doxygen can be found on

___       ____________________________________
___ F A Q ____________________________________

* * *  What are unusual ".yu", ".yu-с" and ".yu-h" files for?

ev3dev-c is written using yupp lexical preprocessor – but don't
panic – the generated source files in C also included.

* * *  How can I see some examples

Comprehensive example based on coroutines:

An example of IR remote control using "brick" simplified library:

Further examples in C:

light.c    – LEDs blinking example
sensor.c   – TOUCH and COLOR sensors usage
tacho.c    – TACHO motor running for 5 sec
port.c     – Use of EV3 ports
dc.c       – Use of a DC motor
rcx_led.c  – Use of a RCX LED
servo.c    – SERVO motor example

Similar examples also avaible in Python ("python/ev3dev/eg"),
Ruby ("ruby/eg"), and Perl ("perl/eg").

* * *  How to make an example

For instance, to compile "light.c" example:

    cd ev3dev-c/eg/light/


or, if you are running Windows:


* * *  How to control the EV3 hardware remotely

* * *  How to make and install STATIC library

    cd ev3dev-c/source/ev3/
    sudo make install

* * *  How to make and install SHARED library

    cd ev3dev-c/source/ev3/
    make shared
    sudo make shared-install

* * *  How to use SHARED library

    cd ev3dev-c/eg/port/
    gcc port.c -lev3dev-c -o port


___     ______________________________________
___ GIT ______________________________________

Run the following on your command-line to clone the library
repository and its submodules:

    git clone
    cd ev3dev-c/
    git submodule update --init --recursive

Pull the latest library and its submodules:

    cd ev3dev-c/
    git pull origin master
    git submodule foreach git pull origin master

___         __________________________________
___ CONTACT __________________________________

Please feel free to contact me at if you have
any questions about this library.

___         __________________________________
___ LICENSE __________________________________

Please see the file called "LICENSE".

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ev3dev-c-1.0rc2.tar.gz (261.5 kB view hashes)

Uploaded source

Built Distribution

ev3dev_c-1.0rc2-py2.7.egg (276.9 kB view hashes)

Uploaded 2 7

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page