
Arduino Goes Pro at CES 2020 - actionowl
https://blog.arduino.cc/2020/01/07/arduino-goes-pro-at-ces-2020/
======
Zagitta
<rant> In my opinion Arduino and "pro" does not belong in the same sentence.

I work as an embedded software engineer who's tasked with ripping all the
terrible arduino code out of a fairly large codebase where I work and the
arduino core libraries are the lowest quality code I've ever had the
displeasure of working with.

It's full of awful decisions everywhere in the arduino core libraries such as
defining min and max macros when they're writing C++ code which in turn
results in STL includes blowing up if you attempt to use something simple and
safe as std::array.

I could go on for days about all the terrible decisions that reeks to high
heavens of always taking the path of least resistance... </rant>

~~~
ClumsyPilot
And yet Arduino has created an ecosystem of libraries, tutorials, blogs and
communities that changed the industry. Now you can program dozens of chips
with Arduino core, such as ESP8266/32, etc.

If it wasn't for arduino, many project would never take off.

At university I was taught to program microchip pic16 and oh boy was it
painfull. Their software was low quality, errors were incomprehensible, etc.

I think Arduino is Javascript of embedded development: many people use it
because it's easier, there is a library for everything and half of them don't
work right.

Their i2C has had the same issue for like 8 years and last time i checked it
still isn't fixed.

~~~
bsder
> And yet Arduino has created an ecosystem of libraries, tutorials, blogs and
> communities that changed the industry.

Has it, really? I have difficulty finding projects that went from Arduino to
major success.

The only thing which (I think) has an Arduino that actually became a "success"
is the Formlabs 3D SLS resin printer.

~~~
jkestner
Few directly to market. How they’ve changed the industry is by empowering non-
EEs to prototype products that they can then take to engineers to DFM. I know
of, or have built, countless products that started as Arduino prototypes, even
if it was just to mock up the user experience.

~~~
dmd
_raises hand_ I worked on a product (a $150000 medical device) where I started
out using an Arduino, but eventually replaced it with a ATmega.

------
jrockway
I have pretty much given up on Arduino. They had me almost interested again
when they announced the Pro IDE, but several months later they still haven't
put the source code on Github: [https://github.com/arduino/arduino-pro-
ide](https://github.com/arduino/arduino-pro-ide)

I am not interested in the Electron-based IDE, but they seem to be using the
Clang language server, which is perfect for integrating with Emacs. I have
been sitting here for months ready to hack on this stuff and make it work
perfectly, but all I have to work with is the raw source files contained in
the Electron bundle with no license, so I've basically given up. Once again,
the Arduino team is doing Weird Stuff with software, and this whole Pro thing
feels like "the joys of working with Broadcom, but we stick random Open Source
logos on thing without actually being Open Source".

I have a lot of microcontroller projects I want to do, but without modern
development tools, it's not worth it. They are so close... just let me hack on
your source code, please. I'll do it for free and you can do whatever you want
with the code. But they don't seem to want to play ball.

(Recently I have been playing with Tinygo, but I am still not motivated
because "go doc", my favorite go tool, and gopls don't work... and I'm not
quite sure that it's worth the effort to make work yet. My toy tinygo projects
have gone pretty well, though, so maybe it is worth making their IDE support
work, and forgetting Arduino ever existed. I feel like Circuit Python /
Micropython is the path of least resistance right now.)

~~~
_alex_
You have lots of microcontroller projects you want to do, but can't because
you can't get up to date source on the arduino IDE? wat? Just use a different
editor.

~~~
jrockway
I have other stuff to do, and the prerequisite to any microcontroller project
is to spend a week fighting with tools. So I just don't care enough.

------
katmannthree
Looks like they're finally using a top-of-the-line MCU, the STM32H7. Very
nice.

Unfortunately I don't see how this is a significant improvement otherwise for
industrial uses, where the biggest barrier for custom components is
certifications (FCC, UL, CE, ATEX, etc).

~~~
vb6sp6
javascript and python support seem like huge improvements

~~~
evv
On one hand I think it's ridiculous to mention these languages for industrial
applications.

But I've also just spent the past year programming an automated mobile
restaurant. We use a traditional PLC for everything safety or time-sensitive,
but everything else is JavaScript.

We're planning to use even more JS on the next-gen system. Details are in my
profile if you want to help, or if you want to convince me otherwise.

~~~
kevin_thibedeau
BASIC was a common industrial automation language at one time. If the platform
has the resources, use them.

~~~
msla
You've just reminded me of the BASIC Stamp, which lead me to find this
interesting website comparing that to the Arduino head-to-head. The BASIC
Stamp was weirdly expensive for what it was, but that's probably my post-
Arduino post-Raspberry Pi bias:

[https://todbot.com/blog/2006/09/25/arduino-the-basic-
stamp-k...](https://todbot.com/blog/2006/09/25/arduino-the-basic-stamp-
killer/)

> Getting to the “Hello World” of microcontroller projects, the blinking LED,
> on Arduino costs $32 compared to the $119 for a Basic Stamp. This is perhaps
> a little unfair because the Basic Stamp board contains a full bread-boarding
> space. A similar setup for Arduino would cost about $60, still a 2x savings
> (and can made cheaper if you want).

[snip]

> The standard Atmel AVR ATmega8 chip used on the Arduino board can be
> obtained for less than $4. The Basic Stamp must be obtained from Parallax
> and costs $50.

~~~
mrguyorama
As a kid who once got a BASIC Stamp microcontroller and project kit, one super
important thing to understand was that it came before Arduino brought the
prices way down. It was reasonable for what it was at the time, ie a tool used
for teachers that also happened to be sold to the public. I don't know how
popular it was in industry

------
jws
~$100

ARM M7 at 480MHz and ARM M4 at 240MHz

2MB SDRAM

16MB Flash

USB, host and device

WiFi

Bluetooth

10/100 Ethernet

MIPI DSI lcd panel

DisplayPort over USB-C (graphics out)

Integrated Li-Po charger

3x ADC 16 bit

2x DAC 12 bit, 1MHz

4x UART

22x Timers

2.95µA in standby mode

That's obviously way too much to come out of the Arduino style pins. There are
two 80 pin high density connectors on the back which have everything on them.

~~~
wrycoder
The price seems very high for the category.

~~~
sgillen
Arduino's have always been a little pricy for the hardware you get. I think a
lot of what you pay for (at least for a regular, non pro, Arduino) is the ease
of use and the eco system.

That being said, do you have any examples of other entries in this category
that are suitable for industrial / automotive use?

~~~
rtkwe
Yeah you pay for the hobby convenience of flashing over USB on the regular
board which is a nice convenience when you're just noodling around with a
project not intended to become a product. (Or doing rough PoC prototypes where
iteration speed is important).

~~~
sgillen
Definitely, looks like others are taking note. All of TIs newish launchpads
seem to have a built in usb debugger/programmer. Pretty sure that was a direct
response to the popularity of Arduino.

~~~
mrguyorama
Eh, TI has been doing the in circuit programming route on their BASIC Stamp
boards since before USB was popular. I don't think they had anything special
for debugging though

------
starik36
Not trying to troll - just don't know.

Why would anybody use an Arduino versus a five dollar Raspberry Pi Zero?

~~~
gmiller123456
>Why would anybody use an Arduino versus a five dollar Raspberry Pi Zero?

1\. The $5 Raspberry Pi Zero isn't really $5.

2\. The fact that the $5 advertised price isn't the real price, and the
inventory games they play raises ethical problems for some people.

3\. You can get an Arduino clone for less than $2 (for real, and in bulk).

4\. The Pi and other SBCs have higher power requirements, so they can't
reliably run off AA batteries.

5\. The Pi also requires an SD card, increasing the cost.

6\. The Arduino comes in many form factors which are considerably smaller than
SBCs.

7\. The two aren't drop in replacements, the Pi runs a "real" opperating
system that does a lot of things in the background. So communicating with
other devices which have specific timing requirements is significantly more
difficult on the Pi.

8\. The market for Arduino "shields" is much more competitive than the Pi
"hats".

9\. There are just a lot more shields and sensors available designed to
interface with the Arduino

10\. The Pi's IO pins are 3.3v, where the Arduino's are (on most boards) 5v.
So using sensors/boards designed for the Arduino requires a level shifter

~~~
joemi
But $5 is the real price of the Zero. Perhaps you’re thinking of the Zero W,
which is $10? Or do you mean the $5 doesn’t include the power? If that’s what
you mean, it should be noted that power doesn’t come with Arduinos either, and
they both can be powered via USB.

And to what unethical inventory games are you referring? That seems like a
pretty serious accusation you’re making.

~~~
gmiller123456
When you actually try to buy one from the very few distributors permitted to
sell them, you'll either end up paying $5-$7 in shipping, when it could be
shipped for closer to $1 USPS. And you're only allowed to buy one. Or, if you
walk in to a MicroCenter, the only distributor with a physical location you
can walk in to and buy one, they're either out of stock, or again you're
limited to just one, but you can buy more at a higher price.

~~~
winsome
I ran into this problem the other week. I was trying to buy 5 pi zeros for a
few projects I have in mind and a couple of backups to have lying around.
Couldn't do it. Very frustrating.

~~~
gmiller123456
Anyone needing to buy several Pi W's should look into the Orange Pi Zero. They
also play some games with the shipping cost, but at least the shipping cost
per unit goes down the more you buy. Buying 5 would run you $10.60 each, and
10 would cost $10.30. (All US shipping prices from AliExpress)

The main thing to look out for is that it doesn't have HDMI out, only two
headers for composite out. I imagine most people plan to run them headless
anyway, but unless you have something that can display composite video, it can
be a pain to set up at first.

Another option is that when you buy from Adafruit, you can buy one of each
version. One Zero, one Zero W, and one Zero WH, for $29 plus shipping. You can
then buy a USB WiFi adapter off E-Bay for about $1 shipped, and as many USB
OTG adapters as you need for less than $1 each. Depending on shipping, that
puts you in the $11-$12 per board range.

------
brenden2
The nice thing here is that they appear to be using automotive grade
components (it says -40 to 85°C operating range). I've previously designed
electronics for extreme temperatures (up to 150C in our case) and building
hardware that works at those temperatures is very tricky. It's nice that you
can buy something off the shelf like this, my life about 10 years ago would
have been so much easier had this existed.

------
zwieback
Why wouldn't you move to the existing STM32 ecosystem instead of sticking with
Arduino for pro/industrial applications?

~~~
vibrolax
Most of Arduino's value proposition is easy programmability by non-
professionals, with a vast library of examples. Cheap and powerful STM32
boards have been around for years about as long as arduino, supported by a
number of free toolchains. But the care and feeding of said toolchains and
libraries requires a lot more technical knowledge than Arduino's ecosystem.

~~~
H1Supreme
I agree with this statement, and really praise what Arduino have done in this
space (I started on one years ago). However, I think if you really want to
work with embedded systems, you have to understand the technical details.

Understanding how communication protocols are supposed to work, knowing how to
read a data sheet, and using those skills to set registers on an IC directly
should be in everyone's toolbox. Otherwise, you're limited to whatever chips
someone's wrote an Arduino library for.

Plus, debugging is much more difficult if you can't analyze a stream of data
with a scope or logic analyzer, and actually understand what you're looking
at.

~~~
vibrolax
To be a professional developer of embedded software, of course you need to be
capable of dealing with things starting from the bare metal. Arduino is a
recognition that many embedded software problems can be usefully solved above
the register level. The deeper levels will always be there for those so
inclined.

------
wiremine
This has been a major gap for Arduino for a while, and it's cool to see them
take a crack at solving it.

Beyond the hardware, I'd love to get some more details on the software tool
chain and their plans to sell/support turning the prototypes into production
modules.

~~~
joezydeco
_production modules_

If there's no second source of boards, I can't consider that production ready
for anything. It was and still is a COTS module that can be modified for a
single purpose application but there's no way I would resell this as a
commercial unit.

Same for RPi and all the others. Spin it yourself or take your chances.

~~~
HeyLaughingBoy
The beauty of Chinese capitalism is such that if these become popular, clones
will proliferate. I sell an industrial product that uses an Arduino Nano as a
module on a PC board because I can buy them cheaper than I can build them.

Now, if you really care about supply chain security, that might be a problem,
but for everyone else...

~~~
mbanzi
also if you care about your product actually working. There are so.many
Chinese clones that are badly made or outright dangerous..

------
codebeaker
I wonder if this will finally bring HD video encoding to arduino platforms?!
I'll have to check what kind of VPU IPU the STM32H7 has, at least I don't see
how they can break out the IO for a camera interface, but this would be
amazing.

Looks like the STM32H7 supports one MIPI CSI-2 peripheral (and/or one MIPI
DSI).

Another comment on this thread mentioned on the back of this module are two
long flat board-to-board style connectors.

------
dsalzman
Interesting, there has always been a large chasm between "Hobby" grade MCU
boards like Arduino and "Industrial" grade systems. Hopefully this shift can
get more people through that chasm into productive applications.

------
wiradikusuma
So Arduino Pro is an "IoT Platform". What is that? Can I say that it's a
Cloud, like AWS/Google Cloud, but specifically tailored for IoT so we don't
have to do it ourselves? (Or, a PaaS)

~~~
mbanzi
it's a combination of hardware Dev tools and iot cloud to build AIoT projects
/ products

------
ibobev
A little out of topic question, but I'm curious is it possible to program
Raspberry Pi on low level without OS, just like Arduino and if not, why?

~~~
swiley
You can and people do but it’s important to note that that the raspberry pi
CPU is a tiny part of the SOC and the Broadcom proprietary part that
bootstraps it is completely closed.

~~~
ibobev
What exactly is the "Broadcom proprietary part"?

~~~
magicalhippo
Wouldn't that be the GPU (VideoCore IV/VI)?

~~~
ibobev
It seems that it would.
[https://en.wikipedia.org/wiki/VideoCore](https://en.wikipedia.org/wiki/VideoCore)

------
JeanMarcS
Sorry, couldn’t read the post because of the GDPR cookies pop up that simulate
a looooong time to opt out just to force you to click cancel and accept
cookies.

Gave up after a minute. What a shame using those dark patterns (and sad
because I wanted to read it)

------
mdszy
>The Portenta H7 is capable of running Arduino code, Python and JavaScript,
making it accessible to an even broader audience of developers.

"Here, now you can buy hardware that enables you to hire bootcamp-level devs
to do your professional industrial work. That way you can pay non-professional
wages for professional-level work!"

Stop normalizing putting bloated, heavy languages on embedded platforms.

~~~
dragontamer
> Stop normalizing putting bloated, heavy languages on embedded platforms.

Last time I checked, PICBasic was a thing, and spawned a generation of
programmers.

Comodore 64 Basic, and TI-83 Basic were also simplified programming
environments. (TI-83 implemented jumps as a O(n) lookup throughout your
code... jumping to later functions was more costly than jumping to earlier
functions...).

Its the simple programming environments that spawn new generations of
programmers. Today, "Basic" is no longer the starting point, today's beginner
programmers use Javascript or Python.

But there always were "beginner" languages, no matter how slow computers were
in the past.

~~~
mdszy
If the choice of language is because it's beginner-friendly, and the use-case
is industrial hardware, then the choice is only being made so the company
doesn't have to pay professional-level salaries.

~~~
dragontamer
Can the same hardware not be used for both industrial, and beginner-friendly
settings?

Some of the biggest successes are because beginner-friendly kits were
delivered to universities. Linux and Unix are a great example of this:
students taught in Linux / Unix environments (even using "toy" languages like
Python) end up growing into professionals who... still use Linux.

One of the most important business moves for a "platform" is to figure out how
to get beginner-level students comfortable with your platform. Linux somewhat
did this accidentally, but today we need to purposefully create that
environment.

\--------

Besides, even on the same project... not everyone needs to be an expert
embedded engineer. By allowing Javascript onto the platform, you can hire a
Web GUI-developer who probably knows a lot more about UI-design than you.

The Web GUI master can work their Javascript into your application, and run
code side-by-side with your tightly optimized C code. No, it won't be
efficient. But that's what a 480MHz processor is for, to help you run less
efficient code at speeds that are acceptable.

This isn't even hypothetical: with WiFi 802.11 n support, this Arduino could
very well be running Web-applications served from some centralized location
(distributed wirelessly over standard LAMP / HTTP stacks). It will be up to
the C System programmers to ensure that a locked-up GUI thread won't wreak the
system (or break realtime promises)... but there would be major benefits to
distributing applications over standard internet mechanisms.

~~~
mdszy
>Can the same hardware not be used for both industrial, and beginner-friendly
settings?

Sorry but, if you have to ask this question, it's pretty clear that you have
no idea what many industrial settings require.

There are ruggedness requirements, stability requirements, longevity
requirements...

I work in an industry where our products are used for LITERAL decades. There's
no way that anything even remotely marketed as "beginner friendly" could begin
to work for anything we do.

You can't just throw more hardware at a problem and use that as an excuse for
shitty software, come on. This incredibly flawed logic is why the minimum
requirements for a chat program include 32GB of RAM.

~~~
dragontamer
> I work in an industry where our products are used for LITERAL decades.
> There's no way that anything even remotely marketed as "beginner friendly"
> could begin to work for anything we do.

Beginner friendly doesn't mean that the other requirements disappear.

The Arduino can run Javascript. Sure, you don't have to make it use
Javascript, but it can be done. Just because Arduino runs Javascript doesn't
change its -40C to +85C operating temperature.

Arduino can be BOTH beginner friendly, AND rugged enough to operate at sub-
zero temperatures indefinitely. And if you really want to "remove Javascript"
from your stack, then you're 100% welcome to do that.

Universities on the other hand, have other requirements. Beginner friendly is
absolutely a necessity for students. You have to hook students with something
easy if you want the students to be interested in projects. Having a __SINGLE
__platform scale from beginner usage, all the way up to professional usage, is
extremely important for the general ecosystem.

And I still argue that opening up Javascript developers onto the platform is a
good thing. UI design is complicated, and someone who fully focuses on the
user-experience, culture, and presentation is useful. (Even if a GUI designer
is ignorant of embedded issues, they can remain helpful in other ways).

~~~
mdszy
>Beginner friendly doesn't mean that the other requirements disappear.

Beginner friendly includes price. If you have the other requirements, it's
going to cost much more. Doesn't matter if it's beginner friendly if a
development board costs $5k.

~~~
dragontamer
The development board literally costs $100 and the STM32H747XI costs $17 from
Digikey. Yes, that's with -40°C ~ 85°C operating temperature and a pretty wide
operating voltage of 1.62V ~ 3.6V.

The actual device here looks quite rugged, comes with a variety of useful
specs. The Arduino Pro __IS __the beginner friendly development board, the
beginner-friendly introduction to STM32.

A "real" product would strip off all the unnecessary parts and only use the
$17 STM32H7 chip alone.

~~~
mbanzi
the basic model is $49 Qt 1. you can also order boards with just the parts you
need (minimum quantity applies) the price comes down a lot of you want

