Live data from Hacker News

Arduino Goes Pro at CES 2020

blog.arduino.cc

81–90 of 201 posts

Re: Arduino Goes Pro at CES 2020

#81

Earlier quoted context omitted.

Can you not flash a pi with some non-OS firmware?

I've been extremely pleased with the Nerves project. It's Elixir (or any flavor of Erlang, really) top to bottom. The toolkit will build and flash the SD card, so you don't need to worry about anything except your app. Very nice to be able to ssh to my Pi and get dropped immediately into an IEX repl (no auth, no command prompt, it's just IEX over SSH)

Is nerves running without an OS on the Pi (baremetal)?

Re: Arduino Goes Pro at CES 2020

#82
post #7

Earlier quoted context omitted.

Not a bad question at all. The Arduino offers you the ability to code on a lower level, while the Raspberry Pi is giving you a full operating system. Some projects, especially IoT, don't need all the overhead of an OS with and without that comes improved reliability and better understanding of the state of the device.

Which is weird because you'd think the board that could run Linux would cost more than the one that you're not able to run an OS on.

This crowd probably want no os

Re: Arduino Goes Pro at CES 2020

#83

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

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.

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.

Re: Arduino Goes Pro at CES 2020

#84
post #11

~$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 everythi…

The price seems very high for the category.

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?

Re: Arduino Goes Pro at CES 2020

#85
post #76

Earlier quoted context omitted.

> 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 envi…

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.

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.

Re: Arduino Goes Pro at CES 2020

#86
post #18

Earlier quoted context omitted.

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 otherwis…

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

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...

> 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.

Re: Arduino Goes Pro at CES 2020

#87
post #4

Not trying to troll - just don't know. Why would anybody use an Arduino versus a five dollar Raspberry Pi Zero?

AFAIK you can't do real-time stuff on a Raspberry Pi

Raspberry Pis aren't great when working with analog signals. I don't think they even come with analog->digital converters, and PWM can be janky

SD cards suck, when it comes to reliability. You can mitigate this by making the filesystem read-only, but your SD card will still crap out more quickly than built-in flash memory would.

Supply used to be an issue with the Zero, but I don't know if that's still true.

Re: Arduino Goes Pro at CES 2020

#88
post #12

Earlier quoted context omitted.

javascript and python support seem like huge improvements

I'd never want to write microcontroller code in js or even really python. You spend most of your time moving strongly typed data around so yea, it's more accessible but you can't really do anything serious unless you're at least using a language with a reasonable type system.

I think that languages like JavaScript or Python really shine is when you need to iterate quickly to understand your problem space. And where they suck is when you're trying to maintain some really prickly logic that someone "clever" wrote. But you can also get into the same kind of trouble in C++ or C.

My favorite example of that is the system that a contractor wrote for us using bitwise logic and dual-nested loops that worked perfectly for function but each time we needed to make a change we needed at least 3 days to re-read the code for understanding. It passed all of our system-level and integration-level testing but if you put any one of us on the spot about how it actually worked we would have been screwed.

Re: Arduino Goes Pro at CES 2020

#90
post #50

>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.

Arudino isn't great as a platform for industrial work anyways - most industrial applications will spin their own boards or run higher end PLCs that have more rugged designs and protections built in for industrial environments.

Arudino however is great as an experimentation platform, where having access to things like a Python or JS REPL can make experimentation a pleasure, being able to rapidly update and prototype is much easier when you don't have to reflash and reboot every time.

I recently bought a door access control pad, plugged it into an ESP32 and messed with it using MicroPython to better understand how it'd produce outputs. The datasheet it came with was lacking to say the least, but this was a big savior.

Post reply on HN