Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Hardware

Arduino Announces 'UNO R4' with Clock Speed/Memory/Storage Upgrades, 32-bit ARM Cortex-M4 (arduino.cc) 70

Saturday Arduino announced "a new, revolutionary revision of the iconic UNO board," promising "a long-awaited update on performance and possibilities." The Arduino UNO R4 indeed preserves the well-known features of the UNO family — standard form factor, shield compatibility, 5V operating voltage, outstanding robustness — while offering no less than a 32-bit Cortex-M4 and a 3-to-16x increase in clock speed, memory and flash storage....

The UNO R4 will come in two versions — UNO R4 WiFi and UNO R4 Minima — offering unprecedented performance and possibilities for the maker community. The WiFi version comes with an Espressif S3 WiFi module, expanding creative opportunities for makers, educators, and hobbyists alike; while the UNO R4 Minima provides a cost-effective option for those seeking the new microcontroller without additional features....

SRAM went from 2kB to 32kB, and flash memory went from 32kB to 256kB to accommodate more complex projects. In addition, following the requests from the community, the USB port was upgraded to the USB-C and maximum power supply voltage was increased to 24V with an improved thermal design. The board provides a CAN bus, which allows users to minimize wiring and execute different tasks in parallel by connecting multiple shields. Finally, the new board includes a 12-bit analog DAC.

All in all, Arduino UNO R4 is the answer to the requests for improvement and updates the developer and maker community has been advancing, making it easier than ever to get started with Arduino.... On the software side, a big effort is being made to maximize retrocompatibility of the most popular Arduino libraries so that users will be able to rely on existing code examples and tutorials.

This discussion has been archived. No new comments can be posted.

Arduino Announces 'UNO R4' with Clock Speed/Memory/Storage Upgrades, 32-bit ARM Cortex-M4

Comments Filter:
  • SRAM went from 2kB to 32kB, and flash memory went from 32kB to 256kB to accommodate more complex projects.

    Even when I started computing around 1985 I had 128kB of RAM and floppy disks were larger than 256kB, leading me to believe there is a typo there.

    • Well, in that case all the program plus data needed to fit in RAM. But in most MCUs program runs from flash/ROM, and usually read only data is also running from flash/ROM. Only variables that need to be modified need to stay in RAM. So a more fair comparison would be 128 KiB vs 34 KiB (32 KiB flash + 2 KiB RAM). A very small amount of memory, but much greater than 2 KiB.

    • Re: (Score:3, Informative)

      by retiredJan ( 7285906 )

      You may have used a PC (x86 system?) while we talk here about a micro controller.

    • by monkeyxpress ( 4016725 ) on Monday March 27, 2023 @04:41AM (#63402593)

      It's a Renesas RA4M1, which is the sort of thing you might put in a washing machine. Your washing machine does not even need that much RAM, but it's becoming about the minimum these days for MCUs with the peripheral sets (PWM outputs etc) that you normally need.

      I program STM32, and the growing memory doesn't really allow you to do much more, but you can certainly write cleaner software, and start throwing in stuff like simple dynamic memory allocation with message queues etc, rather than having to spend lots of time optimising the call stack and things like that. I still do a bit with 8-bit micros and one of them as 32 bytes of RAM. You'd be amazed what you can do with that - it's quite fun as well, like solving a sudoku puzzle, but alas, the need for this sort of thing is rapidly going away.

      • Ah.. You remind me of how I used to love squeezing every last CLK out of 4Mhz Z80-A whiling away long nights juggling registers, composing elegant LUTs, testing on hardware with abandon, leaving weird unexpected components set in unusual configurations that appeared to leave the hardware incomprehensibly possessed by the ghosts of demons, some of which appeared to persist through carefully composed 'factory resets', let alone power cycling.
        • I decided to go the whole hog here and design my own 16-bit RISC CPU, with instruction set and assembler and implement it
          on a FPGA. This was a really fun project, and I learned a lot. Squeeing every bit out of 16 bit instructions space was challenging and very interesting.

    • The previous Uno board was based around the AT328 chip, which does indeed have 2KB of RAM and 32KB of flash.

      For things like displaying a clock or status info on an LED matrix, handling MIDI I/O for a synthesizer module or rotating a servo motor in 45 degree steps depending on what four I/O pins are doing, 2KB is plenty.

    • Even when I started computing around 1985 I had 128kB of RAM and floppy disks were larger than 256kB, leading me to believe there is a typo there.

      Arduinos have 2kB of RAM.

      (and look at all the things people have managed to do with them...)

    • by guruevi ( 827432 )

      We're talking embedded 8-bit processors. You write it in C and forget about it, the final binaries are just about enabling and disabling the 20-or-so pin ports.

      The fact people are clamoring for more RAM/flash (which means more power consumption) to have Rust or Python flash an LED boggles the mind.

    • by guruevi ( 827432 )

      That was RAM and external storage. We're talking CPU-based SRAM and Flash (EEPROM) storage. In comparison, the 8088 had four 16 bit registers or 8 bytes of "SRAM" and an 8K ROM or maybe 64K if you had BASIC.

    • No, this is correct. The board contains a microcontroller. These ICs have very limited amounts of code & ram space, and cost as low as a few cents.

      I recently completed a product for a customer using 24 bytes of ram and 1.5kB of flash memory. Not unusual.

    • by rlwinm ( 6158720 )
      Nope. Memory sizes like 2k or less are still quite common for many microcontrollers. Embedded programmers still spend plenty of time squeezing cycles and bytes. Not quite as much as we spend doing things like learning nuances of peripherals like timer-counters to do all that bit twiddling stuff that runs the world.
    • I started with 4kB and upgraded to 48kB. So what? Memory costs chip area, especially SRAM, and that costs money. Fewer chips per wafer, and almost always lower yields. Microcontrollers are built for cost, and it turns out you don't need a lot of RAM to do the things the limited number of I/Os on a uC could possible do.

      Teensy 4.1 has a 600 MHz ARM with 1024K RAM. That's a beast of a microcontroller. Beyond that we start getting into system-on-chip and system-on-module designs which overlap with smartphones,

    • This is a microcontroller, not a general purpose computer. Those RAM and flash specs are ample for its intended uses.
  • What will it cost per?

  • by Opportunist ( 166417 ) on Monday March 27, 2023 @04:34AM (#63402581)

    ...than the original Uno, don't expect me to be impressed.

    I have this feeling that time passed by Arduino. Yes, they opened the door to MCUs for hobbyists, but others simply walked through faster than they did. And while Atmel-chips sure are easier to program in assembler than, say, most Cortex (even though ARM assembly is vastly superior to the Atmel set), that means fairly little if most people program either with the same Arduino-IDE interface.

    SRAM went from 2kB to 32kB, and flash memory went from 32kB to 256kB

    That's nice and all, but realize that your competitor is a nodeMCU with 64kB Sram and 4Megs of Flash that can accept a wider input Voltage range, uses less power and comes with 80/160MHz clock speed. And we're talking about a MCU that costs about 7-10 bucks, even at the inflated prices we face today.

    • The competitor is the 4€ Raspberry Pico.

      • Well, not really. The Pico runs on a Cortex M0+ while this is supposedly an M4 and it has WiFi. So I'd definitely give them the ESP8266 as the competitor, in the nodeMCU configuration to acknowledge the breakout-board setup the Arduino provides.

        But no matter how you twist and turn it, we're still talking for a single-digit dollar price. And even the Uno R3, the predecessor of this new one, clocked in at about 25 bucks.

        • by DusanL ( 539731 )
          However, the Pico Cortex M0+ is dual core and clocked at 133MHz vs single core 48MHz M4 on the Arduino Uno R4. Pico will be faster than the Arduino. And for ~$6 you can get the Pico W that includes WiFi & Bluetooth.
          • Hold on, where did you find the specs for the Uno R4? Could you link them please?

            • Re:Raspberry Pico (Score:4, Interesting)

              by Smidge204 ( 605297 ) on Monday March 27, 2023 @10:48AM (#63403258) Journal

              Blog post in the summary mentions it's a Renesas RA4M1 MCU running at 48MHz...

              Browsing the The Pico's RP2040 MCU [raspberrypi.com] datasheet feels a little underwhelming. Not doing a deep dive on it but things I look for are for example timer/counter features; The RP2040 seems to limit you to some internal master clock/counter that you can set alarms against, rather than more flexible hardware. Entirely possible I'm missing something though.

              The Renesas RA4M1 MCU [renesas.com] looks to be much more similar to the Atmel AVR MCUs that Arduino was built on. Despite the Cortex CPU the peripheral hardware all looks very familiar at least skimming through it. (I've a lot of experience with Atmel-now-Microchip AVR MCUs)

              The biggest difference in my opinion, MCU peripherals on the Pico and other Pi products is literally an entire subsystem that historically created less-than-ideal lag between the general CPU code and GPIO. Not sure if the PIO has been expanded or integrated enough to accommodate more meaningful operations, but if not then you're not getting a "real MCU" in the classic sense but something more analogous to a PC with an expansion card.
              =Smidge=

          • Unless your application is using floating point math. The M4 has an FPU, the M0 does not. The M4 also executes slightly more instructions per clock than the M0, but not enough to make up the gap in clock speed unless you're using features like the FPU.
        • Re:Raspberry Pico (Score:4, Interesting)

          by tigersha ( 151319 ) on Monday March 27, 2023 @08:43AM (#63402876) Homepage

          The Raspberry PI Pico/W does have WiFi. Still Cortex M0 though

          But the RPi Pico is becoming the Swiss Army Knife of MCUs, especially with it innovative PIO State Machine IO Extension

          • Re:Raspberry Pico (Score:4, Interesting)

            by Opportunist ( 166417 ) on Monday March 27, 2023 @09:13AM (#63402950)

            That programmable IO is SO awesome! I only have a few of the non-WiFis ones here right now, but that PIO is the ultimate interface, whatever you want, whatever you like, you can implement it (within reason, USB 3.0 is still out of reach).

            But that only matters if you really have something to interface with. If all you need is some WiFi or just raw processing power, the ESP8266 is probably the better choice.

            Still, I don't see the need for an Arduino. What can that Uno R4 do that can't be done better, easier, cheaper or just faster with an alternative?

            • But that only matters if you really have something to interface with. If all you need is some WiFi or just raw processing power, the ESP8266 is probably the better choice.

              The wifi version has an ESP32 S3 on it, so its communications processor is literally more powerful than an entire ESP8266.

              This is for projects in between current Arduino models and a RasPi, where you need realtime processing out of the Arduino so the communications are offloaded to another chip.

              #1 real question is what the cost will be like. In particular, the cost of the non-wifi version, but both are interesting. #2 real question is what speeds the CAN bus will be able to manage. There is a real shortage

              • RPi Pico can CAN [github.com].

                Don't let the "in software" fool you, what they really did was to use of the programmable IOs to do the trick.

                • Looks like rpi pico is fast enough for CAN, but not CAN-FD. That's a lot better than nothin', but not adequate for the most modern uses.

                  Of course, this device will probably be the same, but I don't know

            • The RP2040's PIOs are great, people are doing all sorts of clever hardware hacks with them. You can buy just the RP2040 MCU on a reel and for a dollar or two each and spin up your own custom PCB if you want to. This makes it easy to build, for example, a tiny USB dongle, or integrate it into your industrial or lab equipment without needing a daughterboard.

              The dual-core nature of the RP2040 is intriguing but I don't know how well this is supported by the Arduino IDE. The RP2040 is well documented though so i

              • QFN isn't exactly the most hobbyist-friendly form factor, but generally I agree. Then again, 4 bucks for it mounted on a breakout isn't breaking the bank either.

                I don't know how well it is supported by Arduino, I had more fun toying with it "directly". It is, as you said, very well documented, so rolling your own isn't limited to the hardware here.

                As for the 5V signaling... yeah, granted, but looking around the currently offered periphery, most of them operate on 3V3 now, 5V is definitely on the way out. Mo

                • And your link doesn't work.

                  Sorry about that... it got mangled because I had to refresh the page. This should be better: https://len42.github.io/rp2040... [github.io]

                  And yeah, the QFN of the RP2040 is tricky to hand solder, whereas the package on the Arduino R4 looks easier. Maybe it's time to actually build the reflow oven I've been putting off for years!

                  • It's possible to hand solder QFN, but you need a VERY well made PCB and a bit of experience. Not easy, but possible.

                • A hobbyist buying in small quantities probably couldn't buy the rest of the parts on the Pico board (QSPI flash, USB connector, crystal, passives and glue logic) for $3. And you would still have to solder all those tiny components. Unless you need to work with the bare chip to make a smaller end result, you're probably better off just buying Pico boards for $4 unless you're making at least 100 of something. The Pico has castellated pins so you don't need to use connectors; you can just solder it to your mai
    • Yes, they opened the door to MCUs for hobbyists, but others simply walked through faster than they did.

      Not at all. This isn't general purpose computer. You don't wave your MHz dick around and declare yourself king. I/O is king, capability to meet the specific application requirement is king. Anything more is a waste, anything less is a hinderance.

      That's nice and all, but realize that your competitor is a nodeMCU with 64kB Sram and 4Megs of Flash that can accept a wider input Voltage range, uses less power and comes with 80/160MHz clock speed.

      The nodeMCU with its lower I/O count, no DAC, fewer ADCs, fewer dedicated timers, no CAN bus, no onchip USB, fewer SPI busses, fewer I2C busses (and facetiously using plurals there), ... lame.

      Look if you have an application where the NodeMCU is more suited, use it.

    • The classic Arduino boards have been eclipsed; people still using them mostly choose them for compatibility with legacy software or with 5V systems. But the Arduino development environment is still alive and well; it has been extended to other, far more capable boards, and the new Arduino 2.0 IDE includes debugging capabilities (which are still a work in progress and only support a few processors so far, but they ARE being worked on).
  • by berchca ( 414155 ) on Monday March 27, 2023 @07:18AM (#63402718) Homepage

    And by curious, I mean not assurredly the right ones. For example, using an entirely new processor, instead of any of the ones that see popular at the moment. Also, sticking with 5 volts when the shift to 3.3 seems well under way.

    • I think they plan to keep the “Uno” 5v with high tolerances. Being able to drive LEDs and other small things directly off data pins is nice and fairly unique to 5v microcontrollers. The RP2040 is already kinda the ideal 3.3v microcontroller.
    • If you need 3v3 then you can use a level shifter, there are probably architectural reasons why they used 5v, and most arduinos will trigger on 3v3 anyway so you only have to worry about outputs. Depending on what you're doing you may be able to get away with just using a voltage divider either way anyway.

    • by rlwinm ( 6158720 )
      The 5V choice is very useful for many embedded applications. Many legacy systems still use 5V TTL as do many useful peripheral chips.
    • by cats-paw ( 34890 )

      the shift to +3.3 is done.
      the shift to +1.8 is well under way.

      i got an Arduino for a project and got really far along, was looking at the schematic, and saw +5v. what a great idea, I thought, having +5v in addition to +3.3 .

      wait, WTF?!, this thing is running from +5V and has +5V IO ??

      Had to go buy a different microprocessor eval board.

      • by caseih ( 160668 )

        The vast majority of Arduino shields are still 5v IO. And a lot of other components in common use by the arduino communicty are 5v. So keeping compatibility with existing Arduino shields is a good thing. I've got several ESP32s and ESP8266s, and they sometimes come in a form factor similar to Arduino which lets them work with some Arduino shields, but not most.

      • I've used nanos for a lot of projects, as the cheapest arduino with both USB and ISP (and with a reasonable number of pins available, and one of the best chips on a classic arduino as they have a 328) and they are available in 3.3 or 5v. I will be surprised if knockoffs of this board don't appear in 3.3. This would be a great board for robotics projects. The ESP32 gives tolerably good wifi performance with modern security features at a reasonably low cost.

    • by Megane ( 129182 )

      entirely new processor

      There have been Arduino boards using ARM processors for many years already. Unless you're talking about the specific model of chip, in which case why are so many people excited to use an "entirely new" Intel Core processor?

      And 5 volts is because microcontrollers are about interfacing with other chips. Most hobbyist electronics still deals with 5 volt power supplies. The most annoying problem I've had is talking from a 3V MCU to 5V CMOS which expects 75% VCC, or 3.75 volts. It works well enough at low speed

    • Aside from compatibility with old 5V shields and other peripherals, there is also the fact that microcontrollers with 5V outputs can usually source more current than 3.3V parts can. You can easily drive a relay directly from the output of an Uno or other 328P-based board.

      The RA4M1 is not actually a full-on 5V microcontroller. It's one that has nine 5V-tolerant I/O pins, and two that can source or sink 20mA. In that regard it is not a full replacement for the Uno in all applications, but it does have enough

  • Meanwhile the Adafruit METRO M0 Express has been out for years, with similar if not the same specs.

    Who are they targeting with this?

    • Meanwhile the Adafruit METRO M0 Express has been out for years, with similar if not the same specs.

      That board has a Cortex M0+. This one has a M4, which has about six times the performance. Nice try there, though. It's cool to hate on Arduino, but it always turns out to be misguided.

  • by coofercat ( 719737 ) on Monday March 27, 2023 @08:47AM (#63402888) Homepage Journal

    I'm actually somewhat interested in this, but I want a wired ethernet (and don't need wifi - one of the main reasons I haven't used an ESP). I realise a lot of applications use wifi because not everyone has their house flood-wired, but with wifi, I've got to provide some way to select the network and enter/change the password. With a wired connection, no UI required - just plug it in and you can DHCP your address and be up and running.

    If it matters, I'm wondering if I could replace the Raspberry Pi I that sends alerts when my doorbell rings. It's easy enough to detect the button press, and sending a UDP unicast is probably easy enough, but the Telegram Messenger API POST request is a bit trickier (HTTPS, etc).

  • by Fons_de_spons ( 1311177 ) on Monday March 27, 2023 @09:24AM (#63402992)
    What's the charm of designing hardware with a 32 bit ARM microprocessor? It is getting more and more like (boring!) computer programming. The fun is crunching as much as possible in a 2kb flash memory of an attiny 23 that costs about 1€. Having full control down to the s about what the controller is doing. Getting powerconsumption lower by killing clockspeeds, powerdown modes, ... Going through the datasheet to see which registers you need to configure for low noise ADC mode, ...
  • It says that the The WiFI version will use ESP as the WiFi module. This begs a question - the ESP module itself is far more powerful than the hosting UNO - why not program the ESP itself and do away with the UNO? The ESP can already be programmed using the Arduino IDE almost like a Arduino device. The ESP8266 that I'm playing with, runs 32 bit at 160Mhz, 80KB RAM, 4 MB program size .

    • the ESP module itself is far more powerful than the hosting UNO - why not program the ESP itself and do away with the UNO?

      If you actually want to use the wifi, then you don't have access to the whole ESP32. Odds are good though that you'll be able to flash the ESP32 separately anyway, so you could use the board that way if you wanted. For example you could use the ESP32 as the higher level brain, let it be in control of the system, and use the "main" chip just to do your low level realtime stuff.

      The advantage of using an ESP32 over an ESP8266 is that the ESP8266 has issues accommodating WPA2 Enterprise.

    • by Chaset ( 552418 )

      The reason you don't use the 8266 for the whole thing for me part is the WiFi. The WiFi interrupt apparently has the highest priority, and will get in the way of whatever you are doing. Also, the ADC, as it turns out, is pretty lousy (at least as exposed to the Arduino IDE). It's really better to dedicate the 8266 to WiFi and do everything else on a separate processor, at least if you care about timing anything less than a few milliseconds.

      I had an application where I was trying to do ADC acquisitions wi

  • by OfMiceAndMenus ( 4553885 ) on Monday March 27, 2023 @09:55AM (#63403078)
    The Wifi one comes with an Espressif ESP32 S3 module used for the wifi tasks. That alone is as useful as this whole board. Why not just use an S3 module yourself them? Runs at about a 3x faster clock speed too and supports all the Espressif IDF functions for multi-core and RTOS use.
    • by xanthos ( 73578 )
      Agreed. My first board was the Arduino Mega but I quickly moved to Espressif based development boards when I found that I could buy 3 of them for the price of a wifi shied for the Arduino. Now I use ESP32 based boards which have all the features I want for about $5 each. If (when) I brick one I just shrug, toss it, and grab a new one from the pile.
    • That alone is as useful as this whole board

      Even a cursory glance at the datasheets for the ESP32 and the RA4M1 will tell you that one isn't as useful as the other and in fact each of them are so widely different in purpose that combining them on a single board in some situations actually makes sense.

      Clockspeed is not only not everything for microcontrollers, it is very largely not even a consideration at all. If you're blinking an LED and tweeting about it, then sure get an ESP32. If you do something more, such as have to talk on multiple busses to

      • If you're blinking an LED and tweeting about it, then sure get an ESP32.

        Tell me you know nothing about microcontrollers without saying it. An ESP is not some PIC or ATMEGA chip for doing minimal GPIO, it's a considerably stronger and more featured chipset used in most IoT and smart home products available off the shelf.

        If you do something more, such as have to talk on multiple busses to multiple peripherals then good f-ing luck.

        I literally use ESP32 S2 and S3 devices on a CAN bus to control all manner of gauges and inputs on a fairly complex flight simulator cockpit. I've used the S2 and its wifi capabilities on a large scale with a web-based API as status monitoring and Andon function

      • by caseih ( 160668 )

        I'm working on something that involves multiple serial buses (ESP32 has 3 uarts), and I encountered a problem that I don't get on the Teensy. Writing to serial, even at 115200 or 460800 is very slow. Almost 10 times slower than writing to a uart on Teensy. So while writing to a serial port, sometimes I miss bytes coming in another serial port. Don't have that problem on Teensy.

        I'm not sure if this is because of the uart buffer size or what. I'm wondering if on ESP32 I should use RTOS tasks to put my se

  • Unprecedented
  • by KalvinB ( 205500 ) on Monday March 27, 2023 @03:51PM (#63404252) Homepage

    I switched to the much more powerful ESP8266 because knock off Nano's from China went too far up in price to make sense for what I'm using them for. The ESP8266 was much cheaper and much more powerful.

    What the Nano has is more pins and more analog pins. It's great for real world sensors where you don't need a lot of program memory and just need to read pins and store values on an SD card.

    If the new board isn't better than the ESP boards and costs more, it's going to continue to lose relevance.

    SparkFun lost all relevance when they started using expensive proprietary connectors for their boards instead of standard dirt cheap connectors that were well established.

    Both companies seem more interested in making money than in serving any particular community.

On the eighth day, God created FORTRAN.

Working...