LEGO EV3 – MINDSTORMS Education EV3
EV3 MicroPython

If you want to start your journey with EV3 and Python (using macos) you will need:

– microSD card (e.g.: SANDISK Ultra microSDHC 32GB)
– microSD to USB adapter (e.g.: ISY ICR-6000 USB-C),
– MicroPython image (you can download it from LEGO web page here).

Once you have downloaded the image, make sure to start terminal session (e.g.: iTerm2).

Plug in your microSD card into ISY adapter, and then, plug everything into USB port. You can examine new disk, using diskutil.

> diskutil list
...
...
# somewhere on the list there will be your new microSD card. In my case, it was
# disk9
# WARNING! Be extra careful here! If you chose wrong disk, you will destroy all the data!

/dev/disk9 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *31.9 GB    disk9
   1:             Windows_FAT_32 NO NAME                 31.9 GB    disk9s1

Note that this external card is already mounted. If you try loading image using dd command, it will complain:

> sudo dd if=ev3-micropython-v2.0.0-sd-card-image.img of=/dev/disk9 bs=1m
dd: /dev/disk9: Resource busy

Before you can proceed with the dd you have to unmount the volume. You can do it following way

> diskutil umount /dev/disk9s1
Volume NO NAME on disk9s1 unmounted

Now, you can store EV3 MicroPython on your microSD card following way

> sudo dd if=ev3-micropython-v2.0.0-sd-card-image.img of=/dev/disk9 bs=1m status=progress
  1885339648 bytes (1885 MB, 1798 MiB) transferred 743.116s, 2537 kB/s
1800+0 records in
1800+0 records out
1887436800 bytes transferred in 743.987305 secs (2536921 bytes/sec)

Note the status=progress. It will give you up to date progress of the transfer. The whole process may take some time (~10 minutes).