The official Lego (LabView) Mindstorms EV3 development environment works well enough for beginning programmers. But I found that its mouse-centered interface produces carpal tunnel syndrome, and at some point it just gets in the way of being productive. In my search for a text-based development environment I settled on using ev3dev, which I chose over some other alternatives because
- it leaves the EV3 brick’s official firmware intact, and
- its Linux environment provides full control over the resulting platform, and consequently
- it supports a wide range of programming languages, including my beloved C++.
Rather than requiring custom firmware to be flashed onto your EV3 brick, ev3dev is isolated onto a MicroSD card. Switch back and forth between ev3dev and the official Lego platform by booting the EV3 brick either with or without the MicroSD card inserted into its slot.
Follow the official documentation to set up your own ev3dev and development environments. You may find some use for my hints on getting started and setting up a C++ development environment, especially if you’re using a Windows PC.