https://github.com/jyjblrd/flowblocks
Cambridge IB Group Project for the Raspberry Pi Foundation
https://github.com/jyjblrd/flowblocks
low-code raspberry-pi-pico visual-programming visual-programming-editor visual-programming-language
Last synced: 5 months ago
JSON representation
Cambridge IB Group Project for the Raspberry Pi Foundation
- Host: GitHub
- URL: https://github.com/jyjblrd/flowblocks
- Owner: jyjblrd
- License: mit
- Created: 2023-01-19T11:42:04.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2023-07-01T15:48:06.000Z (over 2 years ago)
- Last Synced: 2025-03-17T08:51:16.217Z (9 months ago)
- Topics: low-code, raspberry-pi-pico, visual-programming, visual-programming-editor, visual-programming-language
- Language: TypeScript
- Homepage: https://jyjblrd.github.io/flowblocks/
- Size: 17 MB
- Stars: 41
- Watchers: 5
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# FlowBlocks
https://github.com/jyjblrd/flowblocks/assets/40762456/7a325601-bccf-446e-9ee1-af0131be81ab
## Introduction
FlowBlocks is a visual interface for programming the Raspberry Pi Pico, geared towards beginners.
With FlowBlocks, users can build programs by dragging and dropping blocks from a comprehensive standard library of inputs, operators, and outputs, and connecting them into flowcharts, which describe the flow of data throughout a program. In addition, experienced users also have the option of creating custom blocks—written with a templating dialect of MicroPython—which provide a greater level of expressive freedom for the projects that need it.
## Development
### Installing dependencies
Install [Node.js](https://nodejs.org/) and the project manager [Yarn](https://classic.yarnpkg.com/en/docs/install).
Most of FlowBlocks' dependencies can then be installed with:
```bash
yarn
```
FlowBlocks also requires Emscripten, which should be installed via the [emsdk](https://emscripten.org/docs/getting_started/downloads.html).
On Windows, the C++ build process also requires POSIX tools such as `sed`, which can be installed via [MSYS2](https://www.msys2.org/) or a package manager of your choice, except for `make`, which can be installed via [Chocolatey](https://community.chocolatey.org/packages/make) (MSYS2's `make` cannot use the `cmd` shell, which is required to have paths compatible with `llvm-ar`) . Alternatively, you can use [WSL](https://learn.microsoft.com/en-us/windows/wsl/install).
### Installing development tools
[clang-format](https://www.npmjs.com/package/clang-format) can be installed with NPM.
### Building WebAssembly modules
To compile the C++ module to WebAssembly:
```bash
cd cxx
make all
```
### Starting a development server
To build the application and run a local server for development:
```bash
yarn run dev
```