Arduino Confusion Continues

I am an Arduino fan. I love programming in C and the Arduino platform lets me run my programs “on the metal” as they say. No whinging and whining from an operating system just me and my code.

After a few months without a C “fix”, I recently revisited the Arduino world by buying one of the new MKR boards. I plumped for the MKR WiFi 1010 as that looked to be the one most likely to become the “Uno” of this new generation of devices. I also wanted to see how the Internet browser based development environment was coming along and then there was talk in odd places about some new thing called the “IOT Cloud”. Having had a good look around, I am more than a little confused.

First thing I tried was the Arduino Web Editor. I had an elderly 11” Chromebook that is nice and light and I thought that might be a great device for Arduino web based programming as, after all, it is really just a (small Linux) container for the Chrome Browser. It was an interesting first choice. When I signed into the Web Editor site using my Arduino Forum credentials I quickly established that the Arduino Create app needed to manage the USB link to an attached Arduino board had to be purchased from the Chrome app store. To be fair, it could be used for free for 30 days but after that it was a dollar (US) per month. The equivalent component to manage the same task for a Windows or Linux machine is available without charge.

The Chromebook Arduino Create charge intrigued me. I could be wrong, but I suspect that it is all about leveraging some money from the US Education market where Chromebooks have become very popular. I just find it a bit confusing that any charge should be device specific – and a minority device at that.

The Web Editor worked very well when I hooked up an Arduino Uno and ran some code. Very slick and the Web UI looks well organised. The worrying feature is the big fat button with the caption “Upgrade Plan”. It turns out there are limits associated with free access to this resource and indeed limits even if you pay a monthly fee. Now I understand that a service provider needs to get paid for processing and data storage resources one way or another and charging the heaviest users is a popular model. What I don’t get is the USP. Apart from those Chromebooks, there are very few devices that can’t run the existing open source Arduino IDE. Programs written using the IDE on a Mac, Windows or Linux device can back up their creations to (say) DropBox if the “cloud” code storage was a key issue. I am thus mystified by the Web Editor “offer” unless it is only really about the IOT Cloud thingy.

I confess to also being very confused by the Arduino IOT Cloud. I get the potential (maybe necessity) of an encrypted link between “a cloud” and an Arduino. I get the potential to appify (is that a word) a user interface but “things” and “widgets” and automated code generation leave me cold. There has never been a true advance on “The Last One” hyped in its time as a computer program generator and the last piece of software anyone would need to buy. Partly as a consequence of that marketing hype TLO was an abject failure although the product quality left more than a lot to be desired.

Automated code generation is always great for a few simple demo tasks but suffers from the huge problem of leaky abstractions – and then some. My personal experience suggests that any real life requirement demands complexity which is an order of magnitude greater using some form of code generator than delivering the same solution using a well-grounded computer language. Any Arduino application more demanding than flashing an LED (which was a twinkle in the eye of Hernando Barragán from the start) will inevitably demand at least minimal C/C++ language skills and pretending otherwise is going to lead to frustration and disappointment.

The Arduino MKR WiFi 1010 is a great bit of kit by the way. It does not have a huge number of pins but they nearly all feature multiple functionality. The WiFi is great when faced with a reasonably strong signal and yes it works. I was able to prototype a hardware device with an interactive user interface based upon HTML presented by a web server running on the board. Plus there is plenty of program space and general memory – well, on the Arduino scale. This board has the potential to be a genuine game changer.

Looking at value for money though, leads one to comparing the headline features of this Arduino board to the closest equivalent Raspberry Pi – the Pi Zero W.

MKR WiFi 1010
Pi Zero W
SAMD21 Cortex-M0+ 32bit ARM running at 48MHz
ARM11 running at 1GHz
256Kb Flash plus 32Kb RAM
2.4GHz 802.11 b/g/n
2.4GHz 802.11n
4.1 and BLE
GPIO Pins (excl. power etc.)
Encryption chip
Mini HDMI + Micro SD + Camera Serial Interface
Price (UK, August 2019)
£9.30 plus shipping

A rough takeaway is that the Pi Foundation (through Raspberry Pi Trading) ships a lot more capacity for a lot less cash.
Furtherevidence of shaky price/performance on the Arduino offerings here.  OK, at a pre-order stage you have to take the price and spec with a small pinch of salt but compare this to the Arduino MKR Vidor 4000 specification.

The Raspberry Pi Foundation is a charity. The Pi boards are proprietary although all of the software is free and open source. The Pi Foundation makes an income from selling the boards and is in a position to attract grants and donations. Certainly, they ship a lot of Raspberry Pi boards in a range of flavours.

The Arduino ecosystem was two commercial companies, now merged into a single entity (I think). The Arduino boards are “open source” and anyone can copy and make them if they so wish based upon the published details.  Arduino boards are sold by the prime source(s) and presumably generate an income. I note though that an “official” Arduino Uno lists at 20 Euros plus VAT and shipping while an alternately branded copy is easy to find at £7.99 delivered next day and even lower prices available if you are prepared to wait a bit. Does this imply that hardware sales are not a great foundation for the Arduino businesses once any given board becomes popular?

Does my confusion arising from the Arduino offerings reflect an equal confusion within the Arduino ecosystem about how to remain viable? Should Arduino reorganise on a similar basis to Raspberry Pi? There was talk of a “foundation” back in 2017. Maybe there is room for multiple models but, let’s face it, Arduino faltered rather badly over recent years and is only just getting going again. A lot of us would be the poorer if the Arduino mojo was lost just because there was not enough income to keep development reasonably current or because they took completely the wrong turn commercially. I am not surprised that the Arduino family is looking around for alternate revenue streams – it is just that I am finding them less than coherent.

<November 2019>
I have found and ordered another device that helps press the price/performance point home.
It is an ESP32-CAM board that can be programmed using C and the Arduino IDE. I have some big plans for this little board,

The spec:
802.11b/g/n Wi-Fi and Bluetooth
32 bit CPU
160mhz clock
4mb of SRAM plus 512kb on chip
GPIO, external interrupts, PWM, ADC and DAC
SPI and I2C comms as well as serial
Built in microSD card slot
Camera port
Will run as a web server
All for £4.95 delivered.
The camera cost £1.99 delivered.

Not bristling with IO pins
Needs a £2.90 USB to UART adapter to program it.
Will not retain programs on power off but can be put in deep sleep.
A small board with no mounting holes.


Popular posts from this blog

Arduino Regular Expressions

An Arduino Sudoku Solver

Unicode output from an Arduino.