17 ms·
Arduino Goes Pro at CES 2020
- dsalzman 7y agoInteresting, 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.
- wiremine 7y agoThis 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 7y agoproduction 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 7y agoThe 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 7y agoalso if you care about your product actually working. There are so.many Chinese clones that are badly made or outright dangerous..
- starik36 7y agoNot trying to troll - just don't know. Why would anybody use an Arduino versus a five dollar Raspberry Pi Zero?
- yjftsjthsd-h 7y agoI would have thought that the real competition was the ESP32. It stays in the microcontroller space (no OS to manage, should stay lower power, etc.), dirt cheap, ships with wifi+bluetooth.
- embeddedpro 7y agoI'm doing a hardware selection and after much consideration, I'm picking a 3$ esp8266. I don't see any purpose of Arduino outside education for kids. Makers should use cheaper products/knockoffs at worse.
- magicalhippo 7y agoThe ESP8266 doesn't have hardware PWM, and only a single ADC channel, both which can make it unfit for a lot of tasks. That said, it does come with a lot of SRAM and the wifi/bt connectivity is obviously great.
- opencl 7y agoThe only very slightly more expensive ESP32 boards have 18 ADC channels, 16 PWM channels, and 2 DAC channels.
- magicalhippo 7y agoYeah the ESP32 is pretty darn awesome.
- spookthesunset 7y ago> The ESP8266 doesn't have hardware PWM There are actually hacky ways to work around that using DMA but yeah. Software PWM sucks.
- katmannthree 7y agoLooks 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).
- cushychicken 7y agoThose SMT32H7s are some beefy cores. Colocal M7 and M4. Lots of fun, compact deep learning work going on for those chips. Same with NXP's RT1000 series.
- mochomocha 7y ago... In theory, if you could debug your code. The debugging capabilities on Arduino boards are unfortunately basically inexistent compared to traditional MCU dev boards. Hardware is great I agree though.
- mochomocha 7y agoWhich in my opinion makes the "goes pro" statement misleading. Without proper JTAG/SWD debugging functionalities, how do you program anything serious on Arduino?
- adammunich 7y agoWrite a makefile and use GDB I guess...
- CamperBob2 7y agoprintf() FTW
- mbanzi 7y agowe released the beta Pro IDE with JTAG debugging capabilities. we have a powerful cli written in go which lets you compile /upload your code very simplt with whatever IDE you like the most. This board is certified for industrial temperature and other industrial certification are being done now.
- jws 7y ago~$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 7y agoThe price seems very high for the category.
- sgillen 7y agoArduino'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 7y agoYeah 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 7y agoDefinitely, 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 7y agoEh, 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
- codebeaker 7y agoI 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.
- zwieback 7y agoWhy wouldn't you move to the existing STM32 ecosystem instead of sticking with Arduino for pro/industrial applications?
- vibrolax 7y agoMost 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.
- aequitas 7y agoSince https://platformio.org/ https://platformio.org/ that is no longer the case as well.
- H1Supreme 7y agoI 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 7y agoTo 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.
- 7y ago
- brenden2 7y agoThe 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.
- ibobev 7y agoA 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 7y agoYou 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 7y agoWhat exactly is the "Broadcom proprietary part"?
- magicalhippo 7y agoWouldn't that be the GPU (VideoCore IV/VI)?
- ibobev 7y agoIt seems that it would. https://en.wikipedia.org/wiki/VideoCore https://en.wikipedia.org/wiki/VideoCore
- floatboth 7y agoIt's been reverse engineered and some minimal firmware for the VideoCore part was made: https://github.com/christinaa/rpi-open-firmware https://github.com/christinaa/rpi-open-firmware
- mbreedlove 7y agoYou can program anything without an OS. Here's an article on writing C targeting bare-metal Raspberry Pi. http://www.valvers.com/open-software/raspberry-pi/step01-bare-metal-programming-in-cpt1/ http://www.valvers.com/open-software/raspberry-pi/step01-bar...
- deleted 7y ago
- mdszy 7y ago>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.
- jdietrich 7y agoYour phrasing is snarky, but you make a reasonable point. Arduino performance is already atrocious with C and it's only going to get worse with a higher-level language.
- mbanzi 7y agoatrocious ??, maybe on an 8 bit 8mhz device you can go faster if you write optimised assembly code but this is a 240Mhz+480Mhz device it's a different world....
- mdszy 7y agoUsing more powerful hardware as an excuse to make shitty software is incredibly flawed.
- liamdiprose 7y agoSome friends of mine are entry-level developers that work alone on an Arduino/C++ codebase. Baremetal development and C++'s bad library support encourages them to write huge amounts of their own, very bad, code. They've taken a year to write the functional equivalent of a few hundred lines of Python and some packages. Their codebase would improve immensely if they used a more powerful chip to run Linux and Python instead.
- spookthesunset 7y agoWhat a bunch of gatekeeping fuddy-duddy nonsense. Give me a break... If newer hardware makes it cheaper and easier to make cool shit while maintaining the price point and power budgets of previous generations, who gives a shit? This new stuff makes tinkering with hardware way more accessible than before and that is a good thing for everybody.
- wiradikusuma 7y agoSo 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 7y agoit's a combination of hardware Dev tools and iot cloud to build AIoT projects / products
- jrockway 7y agoI 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.)
- HeyLaughingBoy 7y agoYou can use Visual Studio/VS Code with plugins like (free) VisualMicros or (paid) VisualGDB to build Arduino C++ in a much better environment.
- noodlesUK 7y agoPlatformio is also a good choice.
- vineyardmike 7y agoPlatformio is definitely what I’d recommend using. It’s been the best experience I’ve had so far
- JeanMarcS 7y agoSorry, 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)
- Zagitta 7y ago<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>
- brainzap 7y agoHow does one write code for arduino?
- HeyLaughingBoy 7y agoEasiest way is to download their IDE (or use the web version) and code in C/C++. 32-bit ones also support Micropython and I think there have been ports of Node.js, but I haven't looked into those.
- geomark 7y agoThere are also block-based coding IDEs. I have taught physical computing to primary school kids using it.
- windexh8er 7y agoCan you shed any light on platforms that are the opposite of your experience with Arduino? I've enjoyed doing a few small projects with PyCom [0] products and have found them good enough for what I was after, however I can stake no claim on it being any better and have always been curious. [0] https://pycom.io/ https://pycom.io/
- ClumsyPilot 7y agoAnd 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.