Arduino Uno R4
blog.arduino.cc
blog.arduino.cc
I mean, what's the point? An ESP32 has 320K SRAM, 448K Flash and a 240 MHz dual core CPU. And it costs peanuts. That's the competition to beat, and this doesn't reach it, even though the ESP32 came out in 2016.
The Arduino has been resting on its laurels for too long, I'm afraid. There's long been things out there much faster and cheaper, and with wifi out there for a long time.
EDIT: And why not just use one of these, which is already for sale?
https://freematics.com/store/index.php?route=product/product...
Now the ESP32 as usually delivered is not pin or voltage compatible, but surely that's not that hard of a problem. Just make an Arduino shaped board for it, and use a level shifter?
In fact this very thing seems to exist:
https://freematics.com/store/index.php?route=product/product...
The GPIO are not level shifted in the board you link.
My question here is why the weird approach? Why have two MCUs on a board, and have the one that the user interacts with be the technically inferior one?
Why not just make a better version of the ESPRIT? Just add a level shifter to it, and there you go: form factor compatible, 5V compatible, and more powerful than Arduino's not yet released project. And probably cheaper to manufacture than the two MCU design they came up with.
And yeah, you can use exactly the same IDE and API for the ESP32.
Performance must have been a non-issue, they make everything from timers for rice cookers to custom ISA smartphone SoCs. It must have been just an option that is good enough, easily available and comfortably low-tech to let to an enthusiast with an SEM in his basement.
Though does Arduino really amount to something measurable to a giant like Renesas? And I presume that Arduino plans to keep the IDE and API, so not like 99% of people would be learning anything about the details of Renesas' chips.
IDE and API won't be issues, it's just bare C/C++ and APIs are just extra standard libraries. But the popularity of Arduino and ATmega328P/ATmega32U, its expanded talent pools, etc must be somewhat tempting and potentially-vital-looking for Renesas, while also not too tempting nor threatening to make substantial changes to its operations and focus on over the counter chip sales.
I'm sure there are good alternative to the Arudino out there. Arduino certainly wasn't the first to market with beginner friendly development boards and the popularity of Arudino only attracted more companies to the market. Unfortunately, it would be difficult to figure out who to go with since there is so much meaningless noise out there.
The fact that we call other boards "Arduino alternatives" is partially a testament to that. (Say, instead of "AVR alternatives")
It's certainly not perfect, always the fastest, doesn't expose all the features one might need, but it makes prototyping and portability oh so much easier. I'm glad we have something.
Arduino is still unbeatable for community support, tutorials, and plug-and-play programming.
https://www.renesas.com/us/en/software-tool/high-performance...
And ICE would be an In-Circuit Emulator.
Most of the good MOSFETs I'm aware of are SMT only, which is not beginner friendly. 2N7000 through hole is extremely available damn near everywhere. All companies have a clone of the venerated, classic MOSFET. EDIT: Its also been used in various beginner circuits for 40 years, so you can pickup an old book from the library and see those 2N7000 around and use those designs today.
----------
Honestly, if you're doing through-hole on ESP32, I suggest using a resistor + 2N2222 BJT instead of the MOSFET. But I think 2N7000 is easier (fewer parts, in particular no resistor needed). But that's a 5V design.
The 2N2222 also requires you to leak a decent amount of current through the Vbe / Ibe (while 2N7000 is like 1uA or less leak Vgs / Igs).
But... 5V and 2N7000 Jellybean + throughole is really easy to use. Its definitely a big advantage to Arduino IMO, and I'm glad that they're keeping the 5V driving capability in this newest version.
Yes, you can be careful about this and order the right part number to get a newer protected-gate version, but at that point please do us all a favor and specify some non-stone-age part.
Few? Tons of MOSFETs have no ESD protection, because that ESD protection diode has uA levels of leakage current in practice. Both MOSFETs discussed in this subthread (IRL540 and AO3401A) are both unprotected MOSFETs that blowup from ESD.
In fact, no one has even listed an ESD-protected MOSFET yet.
> Yes, you can be careful about this and order the right part number to get a newer protected-gate version
Unprotected MOSFETs have nothing to do with "old" or "new". Its because that protection diode has a number of characteristics (in particular: sucking currents in a different direction than expected and changing the circuit) that needs to be carefully considered.
You can't just replace unprotected MOSFETs with protected ones and hope that your circuits work. You very well could be shorting out some circuit inadvertently.
The 2N7000 is significantly worse than other MOSFETs. I don't know if that's because it's older, because its fab process is worse or was worse at one time, because it's easy to get those TO-92 legs into trouble, or just because of the die's low C_iss, but it's one fragile little bastard. The 2N7002 seems to be much better!
> Unprotected MOSFETs have nothing to do with "old" or "new".
Yes, they do, because the 2N7000 is older (1986) than integrated gate protection devices! Anything you see with them isn't a "true" 2N7000, even if it might meet the JEDEC spec sheet (which is rather hard to turn up...). Modern versions might have protection or might not (check the letters at the end of the part number... and hope you've got the right era of datasheet... and hope you've got the original MPN and don't have to read the condensed markings on the parts themselves... oh and hope you know the actual manufacturer!), but if they're older then they certainly won't have protection. So it kind of is an old (nope) versus new (maybe) thing.
> You can't just replace unprotected MOSFETs with protected ones and hope that your circuits work. You very well could be shorting out some circuit inadvertently.
Okay, technically, yes. In practice, no. Enhancement MOSFETs are usually used for power/switching applications, which won't care one damn bit about a silly diode, or in feedback loops for analog applications, which again won't care much. For various reasons, JFETs and depletion MOSFETs are usually preferred in analog-land, along of course with ICs. That's not to say you don't see discrete enhancement MOSFETs, but it's very, very uncommon. (And when I try to design that sort of stuff, I always seem to get stuck on not being able to find a FET without the pesky diodes built in. Sigh.)
August 2022 part. Unprotected MOSFET. Top-of-the-line, modern technology with 0.003 Ohms Rds, 157 Amps supported.
Protected vs unprotected has nothing to do with old or new. And yes, the specs on the 2N7000 suck, but who cares? It gets the job done and is the dirt-cheapest part. Beginners don't need performance, they just need lots of parts to play with, so cheapness probably takes priority.
> Also, manufacturers occasionally get sloppy about noting their existence
What are you talking about?
Any MOSFET with ESD-protection has a Human-body model (HBM) ESD specification. Probably in the realm of 2000V, or +/-1700V, depending on how the protection diode works.
TI btw makes a ton of ESD-protected MOSFETs with 4000V ESD and like 50nA of leakage. But they're much costlier, and of course surface-mount only because that's what pros use in practice. (Beginners definitely prefer through hole so that it works on breadboards, which is another reason to use 2N7000).
TI Part for reference: CSD17381F4 / https://www.ti.com/lit/ds/symlink/csd17381f4.pdf
You can tell its ESD-protected from the HBM test and CDM test. Also, the circuit model shows the protection diode.
While I love digikey’s parametric search, I’ve gotten feedback from more than one budding hack after that it is “too complicated and confusing”
"ON CHARACTERISTICS (Note 1) Gate Threshold Voltage (VDS = VGS, ID = 1.0 mAdc) VGS(th) 0.8 3.0 Vdc"
https://rocelec.widen.net/view/pdf/orqxwkxkq1/ONSM-S-A000354...
Figure 2 on page 5 gives you an idea of the voltages you're supposed to use. Optimal usage of the 2N7000 requires 10V Vgs (for 1.5A or more), but 5V is sufficient for ~800mA bursts. And I expect 800mA to be enough for most beginner uses.
4V might be usable, but that's well beyond the capabilities of ESP32.
But in reality, you can short all the pins to GND and then output high on all of them, and the chip survives indefinitely (although does get rather hot!).
It's really rather nice and robust.
However they're also pretty expensive (especially today, an m328p is over five bucks nowadays), and have been for around ten years or more.
Rather than a transistor I might just use a relay, mosfet, or motor driver module, since I can get extra features like short circuit protection and the ability to quickly swap without soldering anything, which gets exponentially more appealing the more times you have to repair something that's been made with discrete parts.
The use cases where I'd be working any other way are mostly outside of what I'd use an Uno or similar for anyway. And I probably wouldn't be using 5v at all for prototyping something to mass produce, since 3v3 is taking over.
However the ESP32 power consumption is too high. TI has an ARM-based wireless sensor platform that can run for years while making measurements every five minutes.
That's not to say there aren't some great ones out there, but any stumbling stones as a beginner might as well be cliffs.
So I am not sure they are competitors. Like Intel and Raspberry Pi aren't competitors as they address very different markets.
They aren’t cheap but they also provide support and a good to deal with. https://www.dfrobot.com/
Ok, but then Micro:Bit is much nicer. It has a Nordic nRF52833, so Bluetooth LE, accelerometer, magnetometer, MEMS microphone, buzzer, 5x5 led matrix, tactile push buttons, and a touch sensor button. And it's easy to program with MakeCode (our daughter programmed it when she was 5 or 6) and MicroPython. It's easy to program, supports crocodile chips. And even the bundle with battery holder and batteries is cheaper than an Uno.
In my anecdotal experience the ESPs are also not as robust against mistreatment as the AVRs are. According to the datasheet they shouldn't survive as much as they seem to.
So while the hardware might be better, and there is always better hardware out there, it's sometimes worth to avoid the complexity.
The average user cannot debug the RTOS running on an ESP, a single Cortex-M4 is more complex than an AVR but still understandable down to bare metal by your average enthusiast.
Yes, the processor required to run these network protocols is pretty beefy, so a big and fast chip like those made by Espressif has plenty of capacity to run your own app alongside the big communication stacks, but it's far simpler and more power efficient to let a small and simple Bluetooth chip do only Bluetooth stuff, and power it up or down as needed and talk to it over SPI or whatever from a host processor that you have full control of.
ESP doesn't scale. Once you start with STM, you can switch to much more advanced boards with ease, ESP doesn't have the range.
And may be forced to. I still can't get H7s. ESP, nRF and others were barely affected by the shortage.
Arduino owed its success solely to building a healthy maker ecosystem of folks who simply defaulted to it as a platform, published tutorials, and promoted it through word-of-mouth. That's probably still there. Raspberry Pi had the same thing going on for it, by the way.
Marketing / community building trumps technical merit in almost everything, and embedded computing is not an exception. I'm not lamenting this, it's just a fact of life.
Raspberry Pi had the same thing
Maybe we have an answer here. Raspberry PI ventured in Arduino's market with Pico. Maybe Arduino is reacting to that?It's a shame there isn't a "standard" ESP32 board though. Some of the common boards/kits even have multiple revisions that aren't pin-compatible :(
Were you able to program them without additional (expensive) hardware?
You can also easily use an Arduino, a solderless breadboard, a few jumpers and some software as an AVR programmer [2].
[1] https://www.sparkfun.com/products/9825
[2] https://www.instructables.com/How-to-Program-an-Attiny85-Fro...
A board supported by Arduino is vastly easier to use, especially for someone who just wants their project to _work_, not to learn the deep arcana of baremetal systems.
Is it actually possible to totally brick an AVR chip that way? Can't you always recover them with high-voltage programming mode?
Either way, I'm saying that Arduino is _the_ microcontroller platform with the fewest gotchas for a beginner.
One thing that was unique about the 8-bit Arduino was that while the board itself was common for prototyping, it wasn't that hard to put an AVR chip on a breadboard for permanent projects or just for the sake of doing it and there were plenty of tutorials. There was even built-in support in the IDE for using an Arduino board as a ISP programmer for a raw chip by connecting a few wires.
With the Raspberry Pi, hardly anyone who used it would ever build their own/modify the design of the board itself.
"The WiFi version comes with an Espressif S3 WiFi module"
What bothers me about this release is that they are re-using the Uno name for a product that doesn't feel at all like and Uno. I don't think they should have used the name Uno unless they were at least sticking with the AVR family and 5V compatibility, and maybe I'd go so far as to say sticking with the ATmega328.
On the sticking with a 328 side, I would have liked an Uno R4 that expanded power input supported to 24v, replaced the USB-B with USB-C, could be configured to either 3.3v or 5v (defaulting to 5v).
I think moving on to a newer AVR, such as 4808, would be good for an R4 ONLY if the majority of libraries targeting UNO would just work on it.
Personally, my favorite was the Leonardo. I have a small bin of boards in the Arduino Pro Micro form factor, except the end G/5v/TX/RX pins have been replaced with a USB connector, and the 328 was replaced with a 32u4, so they are programmed as if they were Leonardos.
It's nice to get more powerful within a form factor and voltage and so on, and I realize many applications don't care about energy use, but increasingly the metric I care about with DIY/MCU gear (and my phone and my laptop is) "watt-for-watt performance increase".
With DIY stuff especially because I build battery-powered things here and there, and recharging once a year instead of once a month is a massive reduction in nuisance for stuff around the house. I dream of low power compute where I can consistently get away with solar or kinetic energy harvesting to reduce operational maintenance to 0!
https://www.renesas.com/us/en/document/mah/renesas-ra4m1-gro...
I'm a bit lothe to admit it, but for beginners... anything under 50mA probably doesn't matter. So that includes Teensy Boards, RP2040, Arduino Uno, this new Arduino, etc. etc. A typical LED draws 20mA for example, while WiFi will draw 100mA or more. Ethernet also draws 100mA+.
So its very difficult for a beginner to "care" about anything below 50mA. Its just not something worth caring about, because everything else in your circuit uses so much more power.
-------
> With DIY stuff especially because I build battery-powered things here and there, and recharging once a year instead of once a month is a massive reduction in nuisance for stuff around the house. I dream of low power compute where I can consistently get away with solar or kinetic energy harvesting to reduce operational maintenance to 0!
Just search on UltraLowPower (ULP) microcontrollers, such as the STM32L5 (or the next version: STM32U5, whenever that comes out). Low-power microcontrollers are measured in "microamps per MHz".
https://www.st.com/en/microcontrollers-microprocessors/stm32...
That's 16uA / MHz active on the STM32U5. Though it fails at the lower end of things (~1mA or ~2mA is just the cost of the clock itself, so you can't drop below that in active mode. Sleep modes turn off the clock of course and allow the ~100nA to 500nA sleep modes on these ULP chips though).
STM32U5 isn't alone btw. There's plenty of competitors for this ultra-low power field.
What I'm saying is that I would really like this type of announcement to not take shape of absolute performance increase but at least include, if not focus, on performance-per-watt. I honestly don't agree with the "beginners won't care" - battery life is not a difficult concept and battery-powered projects are super common.
And I think it is on Arduino to do this, since the value they provide as a middle-man is to package this BOM up as a product and explain it and their product design choices.
As a sibling points out power efficiency can also vary with other component choices on the breakout board, e.g. the power delivery or included BMS. This is also something Arduino could optimize for and market as they productize. The MCU datasheet isn't everything.
So I fully agree with the parent comment that for an amateur once you got to this point, further improvements on power efficiency here is pretty much inconsequential. It is not like you are going to be building a watch or a sensor that will have to work for years on a single AAA.
A 20mA microcontroller will be sufficient for pretty much any project an amateur can think of, power usage wise.
The Arduino framework currently offers only minimal abstraction over this. If you use Arduino on an esp32, you have to reach into ESP-IDF API to dial in the details, e.g. set up ext1 wakeup and disable the RTC memory explicitly if you don't need it. Betting this is the same here at launch.
Arduino here is introducing two versions of the same product with widely different BOMs and not addressing this matter at all.
I think it'd be a great enhancement of their productization effort if they started explaining power envelope, showing improvements over time, standardized an API (derived from actual use cases) etc. This would add value over the raw chips and datasheets for their audience of beginners looking for ease of use. Without it this is just throwing some random new breakout boards with the same layouts over the fence - a very crowded market - and banking on ecosystem effects without evolving the ecosystem and tackling new aspects.
Arduino is supposed to be simple and it is a feature, not a bug.
If they start making it more and more complicated, it will just stop being simple and it will stop being what makes it so usable to complete noobs.
There is no shortage of options if you somehow find that Arduino is not powerful enough to you.
Or think in a different way: A board you have in your hand does not suddenly become more complicated because the company comes up with another board with different BOM. Maybe choosing the board becomes a bit more complicated, maybe choosing any addons for the boards becomes a bit more complicated (as you have to navigate compatibility), but using the board -- I don't think so.
But IIRC, the voltage regulators in previous Arduino boards already waste orders of magnitude more current than that, even while quiescent, making them not very suitable for battery-powered applications. So it remains to be seen if the R4 board improves on this.
Add to this that afaict, the Arduino framework API currently doesn't provide fantastic abstractions for power/state management either. I had an Arduino-based esp32 project once and extracting best deep sleep performance definitely required reaching lower into ESP-IDF API instead (e.g. the difference between ext0 and ext1 wakeups and being able to shut off RTC memory in one but not the other).
That means with the current framework, you have to potentially write non-portable code between two different versions of the "same Uno R4" if you want to optimize for low power.
All of embedded is like this, really - scanning through and understanding a product line is basically a required skill - but meh, what a mess for beginners.
Then I read the comment on CNX-Software. Renesas has invested 10 million dollar to Arduino. [1].
Now it makes sense. Gotta follow the money.
[1]: https://www.renesas.com/us/en/about/press-room/renesas-annou...
Ouch, that burn is bloody epic.
Is it only to keep pinout/5V compatibility with older Unos? I think their bigger problem is that there are a lot of good competitors now and their boards are severely overpriced for what they offer.
Glad to see the original uno hardware updated -- I distinctly remember running out of flash memory, because I copied and pasted the blinking LED code hundreds and hundreds of times. I didn't know about for or while loops !
Ditto for "tre": https://docs.arduino.cc/retired/boards/arduino-tre
It looks like they haven't used "quattro" themselves, but a popular Arduino-based robotics project has, so using it for a new board would be confusing.
They've used "cinque" too: https://hackaday.com/2017/05/20/arduino-cinque-the-risc-v-es...
"Sei" isn't used, but it'd cause confusion when people search for how to enable interrupts on Arduinos.
So I think "sette" would be the next good candidate if they wanted to name it after a number.
There is something to be said about making hardware and software interface so easy like they have done. I would have never achieved this in the 3 month period as quickly as I did without Arduino. Super excited for this new Uno.
But then the Raspberry Pis came along and showed me how useful more processing power is, and for the microcontroller stuff the ESP8266 and then the ESP32 showed me that having WiFi directly on the MCU is so much better than just an Arduino, for which I used to buy really long cables. There was a time when I then paired Arduinos with ESP8266 in order to integrate them into the network, but since the ESP32 I've never looked back.
And yet I see new Arduinos being offered and just wonder who is buying them nowadays. Since I haven't informed myself for years on them, maybe I'm really missing out on something?
In my experience, arduinos get picked over ESP32s mostly because someone's already done what you want with an arduino so you can leverage existing code/projects. Not every project needs wifi, or 240mhz, or 32bits. And in those cases, the beaten path is the best choice.
That said, yeah, esp32 gets picked a lot even when the wifi isn't needed, because it's starting to be the beaten path.
While the Uno was a revolution in many regards, this very much feels like a weak attempt at catching up to an ESP32 board.
Not sure why I would ever want to buy one of these given what already exists out there.
Arduino has always been priced at an extreme premium which they justified by publishing easy-to-use software libraries, though.
Maybe it's good that we'll have a widely-supported hobby board that uses something besides Microchip/ST/Espressif. Maybe with a more diverse ecosystem, we could see a decent vendor-agnostic HAL someday.
> The board provides a CAN bus, which allows users to minimize wiring and execute different tasks in parallel by connecting multiple shields.
From [0]: > The Renesas RA4M1 group of micrcontrollers (MCUs) uses the high-performance Arm® Cortex®-M4 core and offers a segment LCD controller and a capacitive touch sensing unit input for intensive HMI designs.
Maybe a CAN bus connector, or finally a builtin user interface, if it's not just a power circuit? Built-in LCD/OLED, buttons, basic shell casing and end-user usable expansion connectors are growing trends among China/Shenzhen originating platforms like M5Stack. Arduino is still relying on hacky solutions for UI, which might be less appealing for casual users.0: https://www.renesas.com/us/en/products/microcontrollers-micr...
Though I’ll be honest I think most people use these for smart switches and power modulation devices so better dac is nice.