EV3 Tree Visualizer and EV3 Brick Magic

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


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

EV3 Tree Visualizer has emerged as a hobby project to rapidly, effectively and easily visualize EV3 programs created by the LEGO Mindstorms EV3 programming environment EV3-G or EV3M programs created on the iPad graphical programming environment.

EV3 Brick Magic 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.

EV3 Tree Visualizer

Command Line

Command Line

Flat tree structure to quickly visualize the content of file covering all standard blocks and parameters and some more.

  • Parallel Thread, Switch, Loop
  • Global typed data wires
  • Data wires short circuit
  • Friendly data values for colors, touches

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

Git integration

Shell Integration

EV3 is for just for playing, right? For serious fun, like First Lego League projects, kids often work on one project for several months and seek for an easy version management and review system.

Git can do the work well and with EV3TreeVis Git integration even changes can be tracked in a highly professional way.

Shell integration

Shell Integration

EV3TreeVis can be integrated into the Windows Shell providing a quick preview of your favorite ev3 project.

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.

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.

EV3 Brick Magic

USB connection requires downloading the hidapi.dll and placing it next to the executable file (dll is added to the zip file).
Bluetooth connection has stability issues, 3 seconds of cooldown is suggested before executing subsequent commands. Consider even adding -delay=3 to your command line.

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

Command Line

Command Line

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

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).

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.