Create block based programs for Raspberry Pi Pico in minutes!
About one year ago, we created BIPES Project – Block Based Integrated Platform for Embedded Systems (http://www.bipes.net.br), specially focused on integrating Blockly and MicroPython with a direct connection from the web browser to the development boards – initially for ESP8266 and ESP32.
With more than 500 different users currently using BIPES (according with Google Analytics), it has several interesting features, such as the possibility of programming embedded devices without the need of installing absolutely no software or plugin. Simply access BIPES website, connect the blocks, connect to the board and get the program running. A USB/Serial/WebREPL console/terminal is integrated in the webpage, allowing direct access to serial devices.
We have now created some blocks on BIPES specifically for Raspberry Pi Pico.
It’s simple and easy to use:
(Tested / working on Google Chrome)
0. Get a Raspberry Pi Pico board with MicroPython loaded. If you still did not load MicroPython on your RPI Pico, it is as easy as copying a file to a thumb drive. Details here:
1. [for outdated Google Chrome] On Google Chrome, enable the option “Experimental Web Platform features ” (see figure). To enable the option, go to the URL: chrome://flags and activate the web platform features. This option will allow Google Chrome to directly access the USB devices connected to the serial port, without the need of additional softwares. This action must be done only once.
September/2021 update: If you are using the latest Google Chrome or Microsoft Edge, you do not need to enable “experimental web platform features” anymore. It comes enabled on the default installation.
2. Go to https://bipes.net.br/beta2/ui/
3. On the target device box, select “Raspberry Pi Pico”
4. Click on the USB Symbol
4a. Next, click on “Serial”
4b. Select the USB port your Raspberry Pi Pico is connected to
5. Go to the Console tab and you should be able to talk with the board! Type Enter one or twice, to check if the board is responding. If everything is ok, you should get a MicroPython prompt (>>>). Now you can interact directly with the board from the web browser!
6. Go to the blocks tab and build your program. Then simply click on the “Run” button, and your program blocks program will be translated into Python and executed!
If you want, you can directly share the programs you created by sending a link to your program, by clicking on the link button. Here are some working block based examples:
(just click on the link and you will open the working program)
1. Blink built in LED
2. Blink built in LED with different approach
3. Fading built in LED with PWM
4. Read GPIO Input
4b. Read GPIO Input and show on IOT tab
BIPES allows you to send data from Raspberry Pi Pico Serial port to a flexible and customizable IoT dashboard using USB/Serial! This example will update a LED on the IOT tab on real time according with the pin 1 state. You can easily customize the dashboard using the “wrench” button.
5. Read ADC Input (raw values)
5b. Read ADC Input (raw values) and show on the dashboard
6. Temperature sensor
7. Share your dashboard with anyone using MQTT / BIPES EasyMQTT
Even if your board is not connected to the Internet, BIPES offers the “EasyMQTT bridge” option, which uses your web browser as a bridge between the board (connected over USB) and a MQTT server. The browser received data on the USB port and forwards the data to a MQTT server, allowing data and dashboards to be shared with anyone, in real time over the Internet!
To use it, just enable the EasyMQTT bridge on the Console tab:
You can also click on the gear icon to setup the EasyMQTT session. There you will be able to specify a ID for your EasyMQTT session:
I randomly typed 9764422 to be the ID of this test. You can also click on “View this EasyMQTT session”, which you send you to a page with all the data stored on this EasyMQTT session. For example:
The EasyMQTT session above can be accessed by this URL:
As data is stored on the BIPES EasyMQTT server, you can setup your dashboard to get data from the EasyMQTT session, so anyone can view your dashboard with real time updates:
This dashboard can be accessed here and will look exactly the same you saw on the dashboard with local / USB access:
File Manager and Editor
BIPES also offer a complete file manager and text / program editor on the Browser. Without the need of any additional software or plugin, you can use BIPES on your web browser to manage and edit files on the board connected on the USB Port!
If you need, you can download BIPES for offline usage. Go to:
Download bipes_offline.zip, extract the ZIP File to a folder and open index.html on your favorite browser. You will be able to use BIPES to program, monitor and manage your Raspberry Pi Pico without Internet connection.
Demonstration video (english):
Demonstration video (portuguese):
BIPES Source code is available on github: