A Scratch-based application with which you can program a wide variety of devices (Arduino, STM32, SAMD51, ESP32, NRF5 ... and more ...)
You can use all devices in Online mode ( also BBC micro:bit !)
eBlock is a fork of the popular open source application mBlock 3.4.5 (a formidable work from Makeblock .Co, Ltd. company) but Makeblock is no longer maintaining and supporting that version and the newest versions of mBlock are no longer open source
Our team has built eBlock with the aim to continue supporting it and adding a lot of new interesting features.
And thinking of many users :
- That still prefer version of scratch due to simplicity.
- Those who prefer to continue programming in c/c ++ instead of Python
eBlock is now a stable release, anyway there is a list of pending features to add that we are activelly coding.
We are finishing documentation and a wide variety of sample programs showing the new features, so please be patient ;)
A modern look and feel, and new block colors to understand better the code
You can place your extension blocks to the corresponding category
Use string variables and eBlock will detect and convert it to its corresponding source code
You can work with lists and eBlock will convert them to source too. It opens a new world on programming more complex robot actions. Lists items can be numbers or Strings
RTTTL is a melody format developed by Nokia some years ago. It allows to transfer songs in a easy way.
You can play a song in background while your robot is moving or doing any action.
Or you can wait for rtttl tone to end
And you can make interactive leds using the current playing frequency level
Now matrix editor allow to use a 5x5 matrix ( for example to use with BBC micro:bit )
and a new matrix block that shows you better the matrix thumbnail
New dark theme, and bigger to review your code easilly.
Now you can edit the generated C/C++ code before uploading it to your device. It allows beginners to remove the fear of writing in source code
The output console has moved it's possition, access it only if you want
Now you can code easily using device events, instead in putting all your code inside main loop.
Export your code blocks as image PNG to easy share with others, make documentation or upload to your web
We have removed all user tracking code because mBlock tracks almost every user action and sends it to Google Analitycs. eBlock uses only one remote call at startup to check for new version. And never sends any parameter or user data.
The size of eBlock is < 30MB
Not only Arduino based boards now you can code micro:bit, SAMD51, NRF5, STM32, ESP8266, ESP32 ...
Each device can have one or more firmware to flash, it's own drivers to install or custom code templates to translate blocks
- map: Maps a value between 2 source low and high value to a dest low and high value
You can program a wide variety of devices with eBlock, and if you want to use eBlock with your own robot, you can customize the list of devices to show only the device/s you want.
Please can contribute to add more devices to the list, you can view current avaliable devices in the next repo:
https://github.com/enteropositivo/eBlock-devices#readme
eBlock has a new extension system and is backward compatble with existing mBlock extensions, tha you can download from:
https://www.mblock.cc/extensions/
You can download and existing extension from the above link ad unzip it under eBlock/resources/extensions direcotry
Now you can place synchronous calls inside a JavaScript extension functions. For example get a value from your device and make some calculations before submitin to Scratch
ext.getJoystick = function(nextID, coord){
if(coord=="x"){
ret = device.get_analog_perc(0);
}else{
ret = device.get_analog_perc(1);
}
responseValue(ret-48);
};
Portable version, no installer, only unzip and exec eBlock.exe Download the latest eBlock version from:
- 64bit MacOS version
- Linux version
- New extensions
- Add more devices and extensions
- mBloc 3.4.5 source as a base for eBlock
- Arduino List Library - by Luis Llamas ( @luisllamas )
- RTTTL NonBlocking lib - forked from https://github.com/end2endzone/NonBlockingRTTT
- Distintiva micro:bit lib - use micro:bit with arduino compiler