SandCastleIcon.png This article has links to websites or programs outside of Scratch and Wikipedia. Remember to stay safe while using the internet, as we cannot guarantee the safety of other websites.
Beetle Blocks
Beetle Editor.png
Current Version Alpha
Operating Systems Any recent web browser
Purpose for creation 3D design and fabrication
Developer(s) Eric Rosenbaum, Duks Koschitz, Bernat Romagosa, others
Open source? Yes (AGPLv3)
Programming language JavaScript
Official Website
Open Source Repository

Beetle Blocks is a graphical blocks-based programming environment for 3D design and fabrication. It allows writing scripts to control a beetle that can place 3D shapes and extrude its path as a tube, which can then be used to make a 3D print. Beetle Blocks is made by Eric Rosenbaum and Duks Koschitz, with software development by Bernat Romagosa and Jens Moenig. It is based on Scratch and Snap!. Like Scratch, users can share their projects to the Beetle Blocks website.

Note Note: Beetle Blocks is alpha software and is currently in development.
An example of what Beetle Blocks can do



Beetle Blocks has most of the same block categories as Scratch. In any of the categories, a block can be right-clicked to hide it. The block can later be restored by right-clicking on the background and selecting "show primitives". Beetle Blocks has the following blocks, in addition to those found in Snap!:


The motion category
The control category
The pause block
  • go home :: motion
  • move (1) :: motion — Moves the specified number of steps.
  • rotate [z v] by (15) :: motion
  • go to x: (0) y: (0) z: (0) :: motion
  • set [x v] to (0) :: motion
  • change absolute [x v] by (1) :: motion
  • set [z v] rotation to (0) :: motion
  • point to x: (0) y: (0) z: (0) :: motion
  • ([x v] position :: motion)
  • ([z v] rotation :: motion)
  • push position :: motion — Saves the beetle's position so it can be used later.
  • pop position :: motion — Restores the position most recently saved with the block above and removes it.
  • set scale to (1) :: motion
  • change scale by (0.5) :: motion
  • (scale :: motion)


  • reset :: #505050 — Clears all rendered graphics.


The shapes category
  • cube Dim. (0.5) :: #308997
  • cuboid l: (1) w: (0.5) h: (0.3) :: #308997
  • sphere Dia. (0.5) :: #308997
  • tube l: (2) outer: (1) inner: (0.5) :: #308997
  • text [hello] H: (1) W: (0.5) :: #308997
  • 2D text [hello] size: (10) :: #308997
  • start drawing [lines v] :: #308997
  • stop drawing :: #308997
  • start extruding [curves v] :: #308997
  • stop extruding :: #308997
  • set extrusion Dia. to (1) :: #308997
  • change extrusion Dia. by (1) :: #308997


The colors category
  • set [hue v] to (50) :: #653d7a — Sets the hue, saturation, lightness, or opacity of the beetle's color.
  • change [hue v] by (10) :: #653d7a
  • (color [hue v] :: #653d7a)


  • request user input [] :: #828282 — Asks a question and stores the answer in (answer :: #828282).

Make a Variable

The make a variable dialogue box

The "make a variable" button takes the user to the variable creating dialogue. In this dialogue, one can input the variable name and select if the variable should be available for all sprites or only for the one that the variable is currently being created in.

Make a Block

The make a block dialogue box

The category My Blocks has no blocks until one is created. To create a block, the Make a block button must be clicked on. This will open up a dialogue box which will give the user a selection of customization options.

  1. The first one provides a selection of categories. The color of the block varies according to the category that has been chosen.
  2. In the second one, a name can be selected for the block, which will be written on the it.
  3. For the third option, one can select between three block types: Command, Reporter and Predicate.
  4. The fourth and final option is whether the block should be available/visible only for the sprite that the block is currently being created in or whether it should be available/visible for all sprites.


Similarly to the Scratch Website, users can create an account and share their Beetle Blocks projects to the Beetle Blocks website. There is also a forum where users can discuss.

See Also

External Links

Cookies help us deliver our services. By using our services, you agree to our use of cookies.