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)
Arduino Goes Pro at CES 2020
81–90 of 201 posts
Re: Arduino Goes Pro at CES 2020
#82Earlier 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.
Re: Arduino Goes Pro at CES 2020
#83Why 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.
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~$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.
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
#85Earlier 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.
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
#86Earlier 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.
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
#87Not trying to troll - just don't know. Why would anybody use an Arduino versus a five dollar Raspberry Pi Zero?
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
#88Earlier 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.
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
#89Not trying to troll - just don't know. Why would anybody use an Arduino versus a five dollar Raspberry Pi Zero?
Re: Arduino Goes Pro at CES 2020
#90>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 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.