Just the Raspberry Pi?

Is this page about the Raspberry Pi? Yes, among others. It's about the new generation of micro controllers that are so damned powerful that they outperform any 80's era personal computers... If you look at the tiny Raspberry Pi Pico, that sells for less than €5 retail, Quantity One, and compare that to a 1981 Sinclair Zx81 you reach the conclusion fast: we've come a long way.

Many years ago there was the Arduino movement: under-engineered and over-designed, so it didn't ring my bell as a hardware builder and software coder. You could make much better things at home with an empty vero board and some wirewrap wire. But that has all changed. A lot. If you look at the present day Arduino's (and its clones) you see real powerhouses for a fraction of what we used to spend on microcontrollers (or even on TTL-only logic circuits). One form factor. One IDE, which is quite good. And even one standard programming language.
Although there are three languages around currently, of which the C-ish Arduino language is the most used, with MicroPython a strong runner up and LUA the better option that just didn't make it. As usual. Mike Spivey also makes an obc for the Raspberry Pi, but the PI has grown into a full scale computer system with lots of compilers for it.

Target systems

Below is a list of the micro controllers that I own and want to be talking about here:

For experimenting you can use the bare boards as supplied by many sources, and hook em up to a breadboard on which you create all kinds of circuits (LED's, switches and simple sensors in the majority of cases). That sounds great but it makes big boards and a spaghetti of wires in too loose connectors. Luckily I found a source of very interesting boards that have all of this on board: https://www.cytron.io and especially their 'maker' range of boards.

My 'maker' boards

When going through the pages of opencircuit.nl I found two maker boards that attracted my fullest attention:

I will make dedicated webpages for each of these units.

Both these boards are very well made and contain, on board, in SMD:

And all of this for a few euro's (14 for the Pico, 10 for the Uno).

Programming languages

Now, in the old days, when a young man was a strong man. The old men just stepped BACK and let the young man program in assembly. Nowadays it doesn't make much sense to program in assembly. Look at the Wemos D1 board. It has a 16 bit ARM processor running at either 40 or 160 MHz. Yes, MEGA hertz, not kilohertz. Assembly wouldnt make sense anymore. What would the processor have to do in the main loop? Nothing.

So there just is no speed or flexibility penalty for NOT coding in assembly. Add to this the weird syntax of all the different processors and you're simply better off with a high level language. Arduino standardwise comes with 'processing' the C-ish programming language which can do a lot of things without the burden of over ornamentation for which C and C++ are renowned.

And then there was MicroPython. Python was, by design, the weirdest and silly-est language ever. With constructs like

for x in cars:
   drive (x)
else
   SetToFire (x)
   
An 'else' statement in a for-loop. Yes it can come in handy, once a year, if you do not master the basics of programming high level languages, but it is a downright silly option. Now you know why the language was named after the most absurd comic show ever, Monty Python.

But MicroPython does not use (or at least not promote) that kind of nonsense programming. MicroPython is a subset of Python. And when MicroPython catched on, Adafruit developed their own but open source Circuit Python which is very similar yet different enough.

I won't be doing assembly language on these new chips. I would have loved to use obc oberon which is available for the Raspberry Pi (and the MicroBit BBC) but it isn't available for Arduino and Pico. I'm still a lot in doubt about which one to use: Processing or Micro/Circuit Python. The former uses the Arduino IDE. Decisions decisions decisons.


Page created 6 Nov 2021 and