For an index to all my stories click this text
I bet you heard by now there is a new kid in town: the Rapsberry Pico
For those who already have one or have been reading about it:
see you next time. For those who have no clue what it is a bout: read
on.
The Raspberry Pi company is well-known for its small Linux
computers. I have used them myself in several projects on this weblog. I made
an internet radio with it. My home automation system Domoticz runs on a
Raspberry Pi and I did some experiments with the Raspberry camera. You can
find these stories by clicking on the top red text on this page that brings
you to the index.
However the Raspberry Pico is something
completely different. It is not a computer but it is a microcontroller just
like the Arduino or the ESP8266 and ESP32. You can use it instead of an
Arduino and in certain circumstances also as a replacement for an ESP.
There
are a few differences with the establishment of the microcontrollers.
-
The Raspberry Pico has no wifi or other wireless communication.
- The
Pico can be programmed in C and in Python.
Here is the obvious
difference with a controller from the ESP series: no wifi. So no internet
communications and no web-pages running on the controller. In this view it is
more as an Arduino.
But then the specs are impressive:
-
Dual Core Arm Cortex MO processor running up to 133 Mhz
- 264Kb Ram
-
2 Mb Flash
- 26 Multifunction IO pins
- 3 Analog input pins
- 2
UART, 2 SPI controllers, 2 I2C controllers, 16 PWM channels
- 1 USB port
with Host and Device support.
- Build in temperature sensor
- 8
Programmable I/O (PIO) state machines
You get all this for about 4
euro !!!
So that's an European product running about 10 times the speed
of an Arduino and with loads of IO ports for a ridiculous price.
Above you can see from left to right the ESP8266 (Wemos D1
version) the ESP32 (Devkit 1 version) and the new Pico. The Pico is as tall as
the ESP32 but not as wide.
The small width makes it possible to fit the Pico seemless on a
breadboard. So no hassle like the ESP32 Devkit has.
Software ??
The Pico can run C and Python programs at the moment.
Unfortunately not the Arduino C++ version. Arduino corporation is at this
moment developing some boards useing the same processor as the Pico and have
annlounced that the Arduino IDE will be developed for the Pico. Just a matter
of time.
At this moment I am focussing on Python.
I already
did several projects with Python on the 'normal' Raspberries like the internet
radio on the humble Raspberry Zero:
https://lucstechblog.blogspot.com/2018/10/raspberry-pi-internet-radio-part-3.html
Next to that I must be proud about Python as it is invented by a fellow
Dutchman: Guido van Rossum
There are two variations of Python
available for the Pico: MicroPython and CircuitPython both have their pro's
and cons. At this moment I stick to MicroPython as that is supported by the
Raspberry foundation. However I will look into Circuitpython in the next weeks
as there might be some interesting libraries available only for MicroPython.
By the way, CircuitPython is a fork of MicroPython and supported by
Adafruit.
The Pico can be programmed from The Raspberry Pi
computers, Linux machines, Apple Mac's and Windows.
For programming with
Python the Thonny IDE is recommended and has a special connection to the Pico.
Thonny is devellopped at the university of Tartu in Estonia and supported by
the Raspberry Pi foundation.
Thonny can be downloaded here:
https://thonny.org/
I am not delving to deep into this at the moment as there is very
good documentation available on the Raspberry Pi's website:
https://www.raspberrypi.org/documentation/pico/getting-started/
I was just amazed how simple it was to get the Pico up and
running. So I'll show how to do that briefly here. This is Windows based.
After
I downloaded Thonny on my PC it looked like this.
The arrow points to the version of Python you are currently
using. When I started it pointed at Python 3.7.9 which is installed on my
PC.
Now plug in the Raspberry Pico in a USB port on your computer and
wait a few seconds.
Thonny just recognised the Raspberry Pico.
Click on the Raspberry Pico line
A new small window opens. The Pico is already recognised so press
the boot-selector on the Pico, hold it and click on Install.
import machine import utime led = machine.Pin(25, machine.Pin.OUT) while True: led.value(1) utime.sleep(.5) led.value(0) utime.sleep(.5)
Write the above program in Thonny, save it as hello.py, and press the small green run button and your on-board led should start blinking.
Done !!!
My first program running on the Raspberry Pico in no time.
The program which you just named is saved on the Pico itself in its flash memory. Save it again with the name main.py and you can attach the Pico to a USB power supply or powerbank and it runs automatically. Just like any program saved to an Arduino or ESP would run.
A disadvantage is that the pin layout is only printed on the backside of the Pico. Therefore the pin-numbers are not easily recognisable when the Pico is put on a breadboard.
A nice feature is that the IO pins have rounded connectors and the GND pins have square ends. And they are put at opposite sides on the development board.
To solder the headers on easily, first plug them into a breadboard at the right distance.
Next put the Pico on the headers and solder them.
And here is my first working project. A thermometer with a TM1637 display. Installing the software, soldering the headers and getting my first project up and running is all done in a few hours.
Concluding
Getting the Raspberry Pico up and running is a piece of cake and getting my forst test project up and running was equally easy.
Check the Rapsberry Pico out. It is worth the few euro's and for the price a great competition to the Arduino's. It even is a good replacement for the ESP's as long as you do not need Wifi.
Til next time
Have fun
Luc Volders