EV3 Brick Magic and Tree Visualizer

My Hobby Project to control the EV3 brick and visualize EV3 programs created for LEGO Mindstorms EV3


News and updates are available on the facebook page, open-source on GitLab.

EV3 Brick Magic has emerged as a hobby project. The tool was created for connecting the EV3 Brick with the magical unicorns over USB or Bluetooth connection over the standard LEGO firmware. Current capabilities enable users to have an effective and fast communication with the brick.
The tool can visualize EV3 programs created by the LEGO Mindstorms EV3 programming environment EV3-G and EV3M programs created on the iPad graphical programming environment. Mindstorms EV3 compiled binary programs .RBF Rudolph Binary Files can be decompiled as well.

Capabilities for the EV3 Brick

The author of this tool and all the magical unicorns owe credits and thanks to the creators of monobrick.dk Anders Søborg & Lars Jeppesen and David Lechner, creator of lms-hacker-tools.
I am grateful for the early beta testing effort and feedbacks to David Lechner and for the openness and ideas to Timm Merlan, Sanjay Seshan, Thomas Madeya, Kristof Nagy, Marc-Andre Bazergui and Illés Kökényesi.

Command Line

Command Line

All functions with several options are available from command line to enable easy access or scripting.

Online with Browser

Browser Visualization

Graphical representation of the program with zoom and pan for a better/different visualization of your ev3 program.

Online version hosted in the Azure Cloud is out. Try it!

ev3treevis.azurewebsites.net

Project Overview

Browser Visualization

Overview of the EV3 Project with all Programs and MyBlocks visualized.

Dependency graph, variable usage, sound and image media usage is included.

Error detection

Browser Visualization

Several smaller or bigger errors can araise with your project. Some may cause smaller annoyances, same can even break your code.

EV3TreeVis shows missing variables, deleted myblocks, images and sounds and unused variables, images, sounds.

File Copy

File Copy

EV3BrickMagic enables fast and easy file copy to and from the brick including extensive directory listing with wildcards.
From brick to local wildcarding and directory copy is enabled.

Brick content can be shown or decoded directly to the console without actual file copy as well including rbf program files and rgf graphics files.

Motor and Port Control

Motor and Port Control

Brick motor and sensor control is available remotely from the PC. This provides an easier and more refined way to test or remote control your brick.
Motor control provides different slow-medium-fast motor powers also showing the actual current speed achieved with the motor - useful as a motor tester.
Port monitor supports all sensor modes, including the ones not shown with the official LEGO programs.

Decode RBF Program File

Decode RBF Program File

EV3 programs created with the Mindstorms program are compiled once they are copied to the brick. In the past several teams and individuals suffered from losing their because the original .ev3 file was lost due to PC issues.

While I encourage all teams to do proper backup and versioning - this tool is able to decode and show almost all EV3G blocks and structures compiled by the LEGO Mindstorms. This enables easier understanding of the real code and emergency backup.

Start and Stop Programs

Start and Stop Programs

Compiled programs on the brick can be started and stopped from the tool remotely.

Any running programs can be stopped remotely as well.

Interactive Window

Interactive Window

Several functions can be accessed via the interactive window interface.

  • This interface supports file browser with preview and copy functionality
  • Motor and Port Control with visual feedback and display
  • Mailbox messaging

Convert Graphics

Convert Graphics

EV3BrickMagic can convert bitmaps to and from LEGO RGF graphics file format. This can be somewhat faster and more convenient compared to the MINDSTORMS graphics tool.

Multiple Connections

Command Line

Brick connection can be established via USB cable or via Bluetooth.
You can start the program is more than one instances establishing multiple connections - USB with brick serial id or BT connection with brick name or serial port id.

Sound and Piano

Command Line

Playing music is fun. You can play music sequences with a simple command line parameter. Optionally you can specify octave, length and volume for each note and default volume and tempo globally.
Example: EV3BrickMagic.exe beep CECEG-G- CECEG-G- C6HAGF-A- GFEDC-C-

Serial port for an EV3 brick can be created after pairing with PC in Win-10. Open Control Panel > Hardware and Sound > Devices and Printers and select item with the brick name. Right click on item, select Properties > Services tab and check Bluetooth Services | Serial port (SPP).
Best practices, tips and tricks for EV3 programming techniques along with their their visualization in the EV3TreeVis project for educational purposes are provided at the Coding Patterns and Best Practices page.
Bluetooth connection has stability issues, 3 seconds of cooldown is suggested before executing subsequent commands. Consider even adding -delay=3 to your command line.