BIPES stands for Block based Integrated Platform for Embedded Systems.
It was conceived and created from our experience of many years developing and teaching embedded systems and Internet of Things applications. BIPES allows anyone to quickly and reliably design, program, build, deploy and test embedded systems and IOT devices and applications. It is fully based on a web environment, so absolutely no software install is needed on the client / developer machine. In that way, a tablet, a netbook, a Chromebook or any other device can be used to program and test several devices.
All programming is done using blocks, which is faster and safer than traditional coding, and a recognized trend. IEEE Spectrum, for example, discusses the advantages of "programming without code" in the article Programming Without Code: The Rise of No-Code Software Development. The following figure gives an idea of BIPES ecosystem.
BIPES if fully open source, licenced under the GNU Public Licence (GPL), and is still in development, but already usable. It can generate Python or MicroPython code and run it on an embedded device in miliseconds, or even use a cloud scheme to compile C code generated from blocks and deploy to the hardware. The following table shows some supported hardware (some boards were already tested or are work in progress). BIPES architecture allows virtualy any hardware or IOT device to be programmed and monitored.
|ESP8266, NodeMCU and variants||Works! Tested.|
|ESP32 with OLED display||Works! Tested.|
|mBed||Works! NUCLEO-F446RE tested.|
|Arduino||Requires cloud compilation - in development.|
|BeagleBone||Works using socketServerWebREPL (beta). Tested!|
|LinkIt Smart||Works using socketServerWebREPL (beta).|
|Raspberry Pi (any)||Works using socketServerWebREPL (beta). Tested!|
|Toradex Devices (any)||Works using socketServerWebREPL (beta).|
|x86 devices (any)||Works using socketServerWebREPL (beta). Tested!|
|BBC Microbit||Works! Tested with microbit-micropython-v1.9.2-34-gd64154c73.hex|
|LEGO EV3 Intelligent Brick||Works using MicroPython, but still not tested. We need one to test!|