Skip to content

A graphical programming interface that helps newbies get into embedded programming. It's based on CircuitMess' Archived CircuitBlocks client, derived from Google's Blockly, and turns blocks into arduino-compatible code.

License

rx13/CircuitBlocks

 
 

Repository files navigation

CircuitBlocks Redux

CircuitBlocks Redux is a modernized, self-hosted graphical programming interface for embedded devices. This project is a maintained fork of the original CircuitBlocks (archived), updated for maintainability and ongoing development by rx13.

Downloads and executables can be found here.

When first started, the app will try to identify an already existing Arduino installation. If one isn't found it will download and install the Arduino IDE along with all the required drivers and libraries required for the Ringo board.


NOTE: You can skip these steps if you just want to use CircuitBlocks Redux. See the latest releases and documentation at https://github.com/rx13/CircuitBlocks.

Running a dev environtment

To build the electron native modules, you will need some build tools. More info at the nodejs/node-gyp github repo.

Clone the repository, install all core and client dependencies, build electron native modules:

git clone https://github.com/rx13/CircuitBlocks.git
cd CircuitBlocks/client
yarn
cd ..
yarn
npm run rebuild-native

And then run with yarn dev in the root directory of the repository.

The frontend server and electron backend can also be started separately. To start the server run yarn dev in the client directory, and to start the electron backend, run yarn electron-start in the root directory of the repository.

Building

The app is packaged using electron-builder. To package it, you first need to build the frontend and electron backend with yarn build. Then you can package it with yarn dist:

cd client
yarn build
cd ..
yarn build
yarn dist

This will produce the binaries for your platform in the dist directory.

Issues

yarn electron-rebuild fails

If electron-rebuild fails, you can try compiling using an older compiler version or another compiler altogether. Specifying which gcc and g++ binaries yarn should use to compile native dependencies can be done by setting the CC and CXX env variables, or by modifying the rebuild-electron script in package.json like this:

"scripts": {
  "rebuild-electron": "CC=/usr/bin/gcc-7 CXX=/usr/bin/g++-7 npm run rebuild-native",
  ...
}

And then using yarn rebuild-electron.

Meta

Maintained by rx13 / Holophage Limited

CircuitBlocks Redux is a modernized, self-hosted fork of CircuitBlocks (archived). All original attributions and licensing are preserved. See the "History" section above for more details.

Copyright © 2021 CircuitMess
Copyright © 2025 Holophage Limited

Licensed under the MIT license (See LICENSE.md)

About

A graphical programming interface that helps newbies get into embedded programming. It's based on CircuitMess' Archived CircuitBlocks client, derived from Google's Blockly, and turns blocks into arduino-compatible code.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 76.5%
  • TypeScript 21.7%
  • Less 0.8%
  • HTML 0.5%
  • CSS 0.3%
  • Python 0.2%