By Gary Garber
    What do you get with a Packt Subscription?

  • Instant access to this title and 7,500+ eBooks & Videos
  • Constantly updated with 100+ new titles each month
  • Breadth and depth in over 1,000+ technologies
  1. Free Chapter
    Engineering Notebook
About this book

The LEGO EV3 is a programmable LEGO brick that can control different motors and take input from buttons and numerous sensors, allowing you to build sophisticated robots from a simple children's system of modular bricks. You can build your very own robot using your EV3 kit, but there is a lack of good documentation in regards to the details of robot building!

This book is a practical guide that will show you how to advance beyond the basic lessons included in your EV3 kit, combine core programming commands, and implement tested design principles when building your own robot. You will become familiar with resources beyond your EV3 kit and enhance your robot designs.

Publication date:
January 2015


Chapter 1. Engineering Notebook

As described by LEGO, the EV3 MINDSTORMS software Content Editor is a digital workbook into which you can enter text, images, sound, and videos. There are a lot of great features that are described in brief by LEGO in the EV3 software help menus. In this chapter, we will look at the following topics:

  • The engineering design process

  • Advanced features of the Content Editor

  • How to add images into the Content Editor

  • How to add pages and page actions

  • Computer Aided Design and adding building instructions

  • How to add comments into your programs


The engineering design process

Without using those words, with the Content Editor, LEGO has created a digital engineering notebook. An engineering notebook is more than just a record of your work. An engineering notebook allows you to record (and communicate) your initial designs, construct the model, and iterate your building and programming. In the engineering design process, it is important to record your mistakes so that you have a record of what didn't work. You should always put dates on the work you have done.

According to the U.S. Next Generation Science Standards, we can present a simplified version of the engineering process in the following diagram:

The process of iteration and optimization is critical to building good models. Particularly when it comes to programming, you will find you need to make numerous revisions to your program so that your robot has the desired performance. The preceding image is an abbreviated version of what is often presented as the engineering design process. There is no single engineering design process. There are many variations on the preceding theme, starting with a problem and ending with a solution. The common steps include the following:

  1. Defining the problem.

  2. Researching the problem and the constraints.

  3. Brainstorming to develop several possible solutions.

  4. Selecting one solution.

  5. Drawing and building prototypes.

  6. Testing and evaluating.

  7. Redesigning and optimizing.

The iterative nature of the engineering design process is important. Often, if will not follow a straightforward path between these steps. With this number of steps, you need to document your work and record successes and distresses. Additionally, the evolution of thought and the solutions for one challenge might easily be translated to another. The Content Editor built into the EV3 software easily fulfills the task of a multimedia-based engineering notebook.


Content Editor features

When you start a new project in the EV3 software, the Content Editor will automatically open up on the upper right-hand side of the Programming Canvas.

The Content Editor will automatically open up in View mode, as shown in the preceding screenshot. If you click on the Pencil icon (encircled in the preceding screenshot), you can switch from View mode to Edit mode; this allows you to enter information.

When entering Edit mode, the EV3 software limits the icons displayed to five basic functions such as Text and Image. You can access the full range of the Content Editor functions by clicking on the red cross sign in the upper right-hand corner:

The basic features of the Content Editor, shown in the preceding screenshot, include (going clockwise from the top) Text, Image, Building Instructions, Video, Table, Webcam, Document, and Sound. If you want to return to the abbreviated version of this menu, you can click on the Document icon. By themselves, many of these entries might seem limited. However, using the selections in Page Setup, you can combine these features into a powerful record of your work.

When you create a new page in the Content Editor (by clicking on the plus sign), it will open up the templates shown in the following screenshot:

I particularly like to have text on the bottom panel to describe to the reader what they are looking at in any videos and images, or building instructions on the top panel. If you click on the icon I have circled in red in the previous screenshot, you will see two panels appear as shown in the following screenshot:

Next, let's insert an image into the top window in the Content Editor. Click on the Image icon. When working with the image, you will find that you can only upload JPG and PNG images. Then try typing some text into the bottom window after clicking on the Text icon, as shown in the following screenshot:

You will see that the Text Toolbar allows you to set the fonts and the formatting. When working with text, I like to add text actions. If you click on Add Action, encircled in the following screenshot, several options are presented:

A drop-down menu will appear with these options as shown in the following screenshot. The actions are similar to a hyperlink. They allow you to open programs or a website with the page or move to a different page. This is particularly useful if you have numerous pages in the Content Editor for your program. For example, you could create a table of contents at the beginning.

After you have created several pages, you should try to use the function Go To Named Page. A good use for naming your pages is to create dates so that you know when you did your work. You might choose to name your pages with the date you created it on. I also like the Go To Program option. At this point, the EV3 software Version 1.1 doesn't allow you to choose programs that are part of a different project. You can also use a Text Button to emphasize the text action, as shown in the following screenshot:


New pages and page actions

Embedded into the EV3 software are model instructions for several different robots. These instructions are presented in the Content Editor and follow a certain format spread out over three pages.

  • A video of the completed model

  • Step-by-step building instructions

  • The computer program

However, the program does not appear until you reach the third page. The mechanism to allow this is called Page Action. By moving to the next page, you can trigger actions such as opening a program or project. This is useful if you don't want your reader to be distracted by what is coming next, or you want it to be a surprise. In order to trigger the release of a program, follow the steps shown in the following screenshots. First open the Page Action menu.

If you select Go To Program, then you will be asked to choose a program, as shown in the following screenshot, so that, when the page is opened, the program will open simultaneously. This can also be useful if you are using different programs for the same model. For instance, you could include a video and/or text description of the execution of that program in a page of the Content Editor, but not open the program until the page is selected.


Computer-aided Design and building instructions

Using Computer-aided Design (CAD) software can be useful on several fronts. Once you learn how to use this kind of software, you will find it can be quicker to build models digitally than with real bricks. Real engineers always design their robots virtually before building the actual product. This is because the process of trial and error involved with trying to fit parts together can be time consuming and expensive. If you have a large inventory of (unorganized) LEGO bricks beyond those included in your EV3 kit, you might build something digitally before you go searching for the bricks. At this point, it is worth mentioning the two most common CAD programs: LEGO Digital Designer and LDraw.

LEGO Digital Designer

LEGO produces LEGO Digital Design (LDD) and it is a free download. LDD was designed for children, you can use it to build instructions. LDD exports its build instructions as HTML files or .png files. An image of LDD is shown in the following screenshot. Bricks snap together with LDD, but precision is necessary. Additionally, you may have trouble aligning gears with LDD. You will need to rotate them to make them fit. If the pieces do not align in the software, it will not let you put the piece into place. You can download LDD from http://ldd.lego.com/.


LDraw (LEGO Draw) is a file format specification used by a large number of advanced LEGO CAD programs. The LDraw standard is free and open source. In the following screenshot, you can see the software I used to write this book, MLCad. You can precisely define the exact location and rotation of every LEGO brick. Bricks do not automatically snap together as in LDD, but with gears you might need this flexibility. LDraw-based CAD programs also have a larger parts library compared to LDD.

You can also define the viewpoint of your model when creating building instructions. The capabilities of LDraw programs are far more advanced (than LDD). LEGO Publisher (LPub) is another piece of free and open source software that generates building instructions with step numbers. Mike's LEGO Computer-aided Design (MLCAD) in combination with LPub produced the images shown in the following screenshot. As you can see, the Bill of Materials for the model is imported into EV3 software from LPub.

In the next screenshot, you can see one of the building steps imported into the EV3 software. At the bottom of the screenshot, you can see several of the building steps. If you click on a building step, it will highlight that step. The difference between an Image Page and a Building Instruction Page in the Content Editor is that the Building Instruction Page lets you have multiple images on one page.

After you have inserted the build instructions into the EV3 software, you can look at them in View mode. You will find the instructions large enough to be usable. This is very useful as a record for yourself and to communicate to others what you have done!


You can download LDraw type software from www.ldraw.org.


Commenting on your code

Although not part of the Content Editor, annotating the actual programming code is incredibly important. Not only does this serve as a record of your own work, but also others who read your programs will understand what you are thinking. And, as you work through iterations of your programming, commenting allows you to mark any changes you make to the program. Traditional computer languages have comment lines to explain the code. As a visual programming language, the EV3 MINDSTORMS software allows you to add comment boxes near the relevant algorithms. If you click on the Comment icon I have circled in red in the following screenshot, a small comment box will appear. You will need to increase the size of the comment box in order to type words into it. You can then move the comment box around the programming window to the appropriate place in your code.



In this chapter, you have learned about some of the advanced features of the Content Editor, about the engineering process, to upload images and building instructions, and to annotate your work.

In the next chapter, we will build gear trains using several types of gears. You will learn how to increase the speed or power of your motors using a set of gears.

About the Author
  • Gary Garber

    Gary Garber teaches physics, math, and engineering at Boston University Academy. Gary is the president of the New England Section of the American Association of Physics Teachers and has led dozens of professional development workshops in education at both the local and national levels. Gary runs the Boston University FIRST Robotics program. He has run and hosted numerous robotics workshops in VEX, Tetrix, and LEGO platforms. He has run dozens of LEGO robotics tournaments and spoken on robotics education at both local and national conferences. His robotics team has worked with Engineers Without Borders, NASA, and the National Science Teachers Association on a variety of engineering and education projects. He is currently an educational consultant, working to develop new software tools for the classroom, at the Tufts Center for Engineering Education and Outreach, which is a pioneer in LEGO Robotics Education. He is the author of Instant LEGO MINDSTORMS EV3, Packt Publishing. He currently resides in Massachusetts, US. When he is not playing with LEGO, robots, or toy trains, he enjoys spending time with his wife, Catalina, and their two children, Alejandro and Leonardo.

    Browse publications by this author
Latest Reviews (1 reviews total)
Excellent book for starting
Unlock this book and the full library FREE for 7 days
Start now