Edbot and Edbot Dream

Clive's Blog

Hi. I'm Clive Haworth. I'm the CEO of Robots in Schools and I spend some of my time developing the Edbot Software that lets you code your Edbot and Edbot Dream in Scratch, Python, JavaScript and more.

Edbot Software version 4.1 released

The latest version of the Edbot Software is now available with some great new features. We recommend upgrading to this latest release as soon as possible to benefit from the changes. Grab the software from our download page.

We've added new Edbot and Edbot Dream Scratch blocks for you to explore and use.


To get the new blocks, you'll need to open the  Scratch Sample Projects window and regenerate the sample projects.





For existing Scratch projects you can use the Scratch Project Converter to update to the new blocks.

Make sure your Edbot and Edbot Dream robots are set up correctly. Then open the Scratch Project Converter window and enter the source file, which should be your existing Scratch Project. Complete the wizard to add the new Scratch blocks to the project.


Let's take a closer look at the new Edbot Scratch blocks.


A block has been added to report servo load. It gives a measure of how much rotational load is being applied to a servo. The load is expressed as a percentage. A positive number indicates CCW load, a negative number CW load.

As an example, take a look at the new Scratch handshake project in your Edbot folder. Shake your Edbot's hand and it should respond!


We've also enhanced the Edbot connected reporter block to bring it in line with the Edbot Dream projects. It now enables you to query whether your Edbot is connected or enabled.

Read more about coding Edbot with Scratch.

We've put a heap of work into improving the software for the Edbot Dream. The underlying code now sends multiple commands in a single "big packet" when it communicates with the Edbot Dream microcontroller. This means it can control multiple servos and motors simultaneously with less overhead for better performance.

.. and here are the new Edbot Dream Scratch blocks.


This block enables you to enter the port number followed by "/" and then the motor speed. You can specify multiple motors by repeating the sequence. In this way you can build up a path, for example "1/50/2/100/3/40". Use a positive speed for CCW rotation and a negative speed for CW rotation. Servos plugged into ports 3 and 4 will be automatically set to wheel mode.


With this block you can simultaneously switch the servos plugged into ports 3 and 4 on or off. This controls whether the servos are under torque or free to rotate. For example you can turn servo 3 off and servo 4 on using "3/0/4/1".


This block lets you simultaneously control the position (angle) and speed of the servos plugged into ports 3 and 4. Each path component will consist of three numbers. For example to set port 3 to 150 degrees at 50% speed and port 4 to 100 degrees at 100% speed use "3/150/50/4/100/100". The servos will be automatically set to joint mode.


Use this block to reset the clap count back to zero. Totally forgot about this!

Read more about the Edbot Dream Scratch blocks.

We've also updated the Python API for Edbot and Edbot Dream to add all these new features, so you'll need to update the edbot package in your Python installation. If you're using pip:

pip install --upgrade edbot

If you're using Thonny, you'll need to go to the Tools menu and select "Manage packages". Highlight the edbot package and click on the upgrade button.

Other Enhancements

The release includes lots of other enhancements as well as updated documentation.

* Added Edbot Dream "elephant" Scratch & Python scripts.
* Added Edbot Dream "motorcycle" Scratch & Python scripts.
* Unicode characters now fully supported for Edbot & Edbot Dream robot names.
* Check Edbot Dream firmware is version 32 or above.
* Activation problem now displays an error message along with the error code.
* Added support email to Help -> About page.

Bug Fixes

* Windows version now correctly determines the location of a user's Documents folder.
* Fixed Edbot Dream SM-10 servo limits due to a SM-10 firmware issue.
* Fixed Python API say() function not waiting for speech to complete.
* Scratch reset (red) button now works correctly if running client server.