So you’re ready to try out ev3dev. Great! Here are step-by-step instructions to help you get ev3dev up and running on your EV3 or Raspberry Pi.

First, here are the things you need before starting:

Step 1: Download the latest ev3dev image file

Step 2: Flash the SD card

This will erase everything on your SD card! Back up your files if you do not want to lose them!

Now it’s time to write the image to the card.

  1. Download and install Etcher from their website.
  2. Launch Etcher after it has finished installing.

    Etcher home screenEtcher home screen

  3. Click the “Select image” button and browse to the folder where you downloaded an ev3dev release. Select the file that you downloaded. The release can be a .img.zip or .img.xz; whichever you have will work with Etcher.

    Image chosen in EtcherImage chosen in Etcher

  4. Plug the SD card into your PC (if your PC doesn’t have a micro SD slot, you can use an adapter or external reader). Etcher should detect the new device and display its information under the “Select drive” step. Confirm that the selected drive is correct.

    Drive selected in EtcherDrive selected in Etcher

  5. If you have multiple removable drives available, you may need to use the “Change” button to select the proper device.

  6. When you are confident that you have selected the correct drive, click “Flash!” and wait for the operation to complete.

    Etcher flashing the SD cardEtcher flashing the SD card

  7. If you arrive at this screen, you have successfully flashed your SD card and are ready to move on to the next step.

    Etcher success screenEtcher success screen

For more detailed information and flashing utility alternatives, check out our other tutorials. You can also check out this page for RaspberryPi. Much of the information there is applicable to ev3dev.

Step 3A (Raspberry Pi only): Update options in config.txt

This is for Raspberry Pi only! Users of other platforms can skip this step.

You must make some changes to config.txt to enable support for BrickPi or PiStorms before you put your SD card in your Raspberry Pi.

You may have to remove the SD card from your host computer and plug it back in after flashing it in order for it to be detected. In your file browser, open up EV3DEV_BOOT. This contains a file named config.txt. Open config.txt in your favorite text editor and follow the instructions in the file to enable either BrickPi or PiStorms.

Step 3B (BeagleBone only): Select cape in uEnv.txt

This is for Beaglebone only! Users of other platforms can skip this step.

You must make some changes to uEnv.txt to enable support for FatcatLab EVB or QuestCape before you put your SD card in your BeagleBone.

You may have to remove the SD card from your host computer and plug it back in after flashing it in order for it to be detected. In your file browser, open up EV3DEV_BOOT. This contains a file named uEnv.txt. Open uEnv.txt in your favorite text editor and follow the instructions in the file to select the cape your are using.

Step 4: Boot ev3dev

Put the SD Card in your EV3 and power it on. At first, you will see the MINDSTORMS boot splash and the red LEDs will be on. This is immediately followed by the ev3dev boot splash and the LEDs changing to orange. The LEDs indicate disk (SD card) activity.

After about one minute, the screen will go blank. This happens on the first boot only. The first boot takes longer than subsequent boots because the EV3 has to create a unique SSH host ids and take care of a few other housekeeping items. After another minute or two, you will see the brickman loading… screen. If nothing has happened after five minutes, something is not right - check the troubleshooting tips below.

You will notice the number in the battery in the upper right corner. This displays the remaining voltage of the power supply. It is not possible to calculate an accurate percent value of the remaining energy, so this value is chosen. If the voltage drops below 5V the brick will turn off. All unsaved data will be lost. Keep in mind, that it may take a much longer time from 8V to 6.5V than from 6.5V down to 5V!

Note: If you are using Raspberry Pi hardware without a screen, just wait for the Activity LED to stop flashing, then go to the next step. If alternatively you have connected the pi to a screen monitor via HDMI press Ctrl+Alt+F6 at the end of the boot sequence. This should take you to a login prompt. Login as ‘robot’ with password ‘maker’.

When the boot is complete, the LEDs will turn green and you will see something like this on the screenWhen the boot is complete, the LEDs will turn green and you will see something like this on the screen
Troubleshooting tips if your EV3 won't boot
  • Make sure nothing is plugged into the EV3 (USB/sensors/motors/etc.)
  • Try writing the image to the SD card again.
  • You may have a bad/incompatible SD card - try a different SD card.
  • Check the condition of the EV3 batteries.

Shutting down

You’ll often want to turn off your EV3 while it isn’t in use. When you are ready to wish your EV3 good night, turn if off by pressing the back button from the main menu in brickman or pressing and holding the back button from any screen in brickman. This will open a dialog where you can select Power Off to turn off the EV3. If you’re using the command line, running sudo poweroff in a terminal works too.

The 'Shutdown...' dialog in BrickmanThe 'Shutdown...' dialog in Brickman

Step 5: Set up a network connection

Click on the button below to visit our networking page. There are lots of choices here; choose the connection option that best suits you and your available hardware.

Check out the available networking options

Step 6: Connect to the EV3 via SSH

Now that you have a network connection, you should connect to your EV3 with SSH. Connecting allows you to verify that the networking option that you configured in the previous step is working. Once you have an SSH connection, you will be able to securely run terminal commands on the EV3 from your PC. This lets you run programs, change settings, and install new programs. Click the button below to learn how to connect.

Learn how to connect with SSH

To test this out, let’s try running a command (make sure that you have completed the earlier part of this step first).

Type the command fortune into the SSH shell opened above and press Enter. It will use a nifty program called fortune to print out a random quote from a database. Feel free to try it multiple times!

robot@ev3dev:~$ fortune
Your domestic life may be harmonious.

If you don’t see any errors printed, and your output looks similar to the above, you’re good to go!

Step 6.1: Optional: Update apt

Currently, the image file downloaded from step 1 was built in 2020. apt does not work out of the box.

To fix apt in general, /etc/apt/sources.list needs to be changed to match https://github.com/ev3dev/docker-library/blob/master/ev3dev-stretch/layers/debian/etc/apt/sources.list

Specifically, you can run sudo nano /etc/apt/sources.list, delete the old content from that file, and replace them with the content from the link above.

Step 7: Choose a programming language and write some code

If you were sent here from a language- or framework-specific webpage, you can skip this step and return there for further instructions.

The brick can run the vast majority of popular programming languages, so your favorite language is probably supported. Pick your language and write some code!

See the available programming languages