The Arduino UNO R3 is a development board based on the 8-bit ATMega328P microcontroller. It is one of the most iconic boards ever designed, and it is known and loved by millions of makers worldwide.
In June 2023, the Arduino Uno R4 series was released, the first UNO to feature a 32-bit microcontroller, the RA4M1 from Renesas. While 32-bit microcontrollers are no new thing, it is the first official UNO board to feature one. The R4 series has two versions:
This major change will introduce many challenges, mainly for the amazing libraries developed over the years, particularly around the ATMega328P.
This repository is a gathering point for you all who want to participate in the testing & porting of libraries to the new 32-bit platform. Here you will see the status, and we welcome you to submit your testing data directly to this repository!
See the tested and confirmed library list further down this page.
Please consider donating to your favorite library's developers. They are a fundamental part of the Arduino platform.
If your library is not yet supported on the UNO R4, donations may also ensure that your library can be ported to this new architecture.
There are many ways to contribute to this project, including:
As a library developer, you can support this project by making your existing library compatible with the 32-bit architecture, which the UNO R4 boards are based on.
This means making any changes needed for your library to compile and run on a UNO R4 board, i.e. porting your library.
For many libraries, there might be no changes at all, but for some that are focused on ATMega328P (e.g. accessing specific registers, memory management and so on), the challenge may be much bigger.
Essentially, the porting of a library should follow three crucial steps:
If you are not a library developer, you can support this project by testing out various libraries not yet stated as compatible.
The list that is found further below in this repository will show the progress of all tested libraries, regardless of a PASS / FAIL outcome.
We encourage you to test out the examples of a library with the UNO R4 and report the results both in this repository and in the library repository.
Some things to keep in mind are:
Tested and ported libraries should be reported in the [issues]() section of this repository, following the guidelines below:
Issues reported in this repository will be continuously reviewed and added to the list of tested libraries, regardless of PASS/FAIL status.
This list contains the status of tested Arduino libraries with the UNO R4 board. To change the list, submit a pull request to this repository.
No. | Library | Compilation | Hardware Test | Notes |
---|---|---|---|---|
1. | Servo | PASS ✅ | PASS ✅ | |
2. | Stepper | PASS ✅ | PASS ✅ | |
3. | AccelStepper | PASS ✅ | FAIL ❌ | |
4. | MobaTools | PASS ✅ | PASS ✅ |
No. | Library | Compilation | Hardware Test | Notes |
---|---|---|---|---|
1. | Adafruit Neopixel | PASS ✅ | FAIL ❌ | |
2. | Adafruit DHTSensor | PASS ✅ | PASS ✅ | |
3. | IRremote | FAIL ❌ | FAIL ❌ | |
4. | Grove_BMP280 | PASS ✅ | PASS ✅ | |
5. | Seeed_Arduino_LIS3DHTR | PASS ✅ | PASS ✅ | |
6. | DHT_sensor_library | PASS ✅ | PASS ✅ | |
7. | Grove_Temperature_And_Humidity_Sensor | PASS ✅ | PASS ✅ | |
8. | Keypad | FAIL ❌ | FAIL ❌ | |
9. | Adafruit_BMP280_Library | PASS ✅ | PASS ✅ | |
10. | Adafruit_Keypad | PASS ✅ | PASS ✅ | |
11. | Bounce2 | PASS ✅ | PASS ✅ | |
12. | Adafruit_BusIO | PASS ✅ | PASS ✅ | |
13. | Adafruit_SGP30_Sensor | PASS ✅ | PASS ✅ | |
14. | Adafruit_SHT31_Library | PASS ✅ | PASS ✅ | |
15. | Adafruit_LIS3DH | PASS ✅ | PASS ✅ | |
16. | Adafruit_LSM6DSOX | PASS ✅ | PASS ✅ | |
17. | Adafruit_LSM6DSO32 | PASS ✅ | PASS ✅ | |
18. | Adafruit_ADXL343 | PASS ✅ | PASS ✅ | |
19. | Adafruit-MLX90614-Library | PASS ✅ | PASS ✅ | |
20. | SparkFunMLX90614 | FAIL ❌ | FAIL ❌ | |
21. | Adafruit_TCS34725 | PASS ✅ | PASS ✅ | |
22. | DFRobot_TCS34725 | FAIL ❌ | FAIL ❌ | |
23. | DHTstable | PASS ✅ | PASS ✅ | |
24. | DHTNew | PASS ✅ | FAIL ❌ | Returns incorrect temperature and humidity |
25. | Ultrasonic | PASS ✅ | PASS ✅ | |
26. | Adafruit_BME280_Library | PASS ✅ | PASS ✅ | |
27. | arduino-bme280 | PASS ✅ | PASS ✅ | |
28. | bme280 | PASS ✅ | PASS ✅ | |
29. | ER_OLEDM1_CH1115 | PASS ✅ | PASS ✅ | |
30. | ERM19264_UC1609 | PASS ✅ | PASS ✅ | |
31. | ADXL345 | FAIL ❌ | FAIL ❌ | |
32. | SHT21-Arduino-Library | PASS ✅ | PASS ✅ | |
33. | ArduinoJoystickLibrary | FAIL ❌ | FAIL ❌ | |
34. | SHT21-Arduino-Library | PASS ✅ | PASS ✅ | |
35. | DFRobot_SGP40 | FAIL ❌ | Compiles on Wifi fails on Minima | |
36. | JoystickWin | PASS ✅ | PASS ✅ | |
37. | LoveButton | PASS ✅ | PASS ✅ | made for Minima |
No. | Library | Compilation | Hardware Test | Notes |
---|---|---|---|---|
1. | u8g2 | PASS ✅ | PASS ✅ | |
2. | Adafruit SSD1306 | PASS ✅ | FAIL ❌ | Scattered pixels all over the display. |
3. | LiquidCrystal | PASS ✅ | PASS ✅ | |
4. | LiquidCrystal_I2C | PASS ✅ | PASS ✅ | |
5. | SevSeg | PASS ✅ | PASS ✅ | |
6. | Adafruit_ST7735 | PASS ✅ | PASS ✅ | |
7. | Adafruit_ILI9341 | FAIL ❌ | FAIL ❌ | |
8. | FastLED | PASS ✅ | PASS ✅ | Use fork by @facchinm |
9. | ArduinoGraphics | PASS ✅ | - | |
10. | TFTLCD-Library | FAIL ❌ | FAIL ❌ | #include "wiring_private.h |
11. | TM1638plus | PASS ✅ | PASS ✅ | |
12. | NOKIA5110_TEXT | PASS ✅ | PASS ✅ | |
13. | HD44780_LCD_PCF8574 | PASS ✅ | PASS ✅ | |
14. | Arduino_GFX | PASS ✅ | PASS ✅ | Supports many data buses, also TFT UNO-format shields (e.g., MCUFriend shields) |
15. | DIYables_4Digit7Segment_74HC595 | PASS ✅ | PASS ✅ | |
16. | MD_Parola | PASS ✅ | PASS ✅ | |
17. | MD_MAX72XX | PASS ✅ | PASS ✅ |
No. | Library | Compilation | Hardware Test | Notes |
---|---|---|---|---|
1. | Mouse | PASS ✅ | PASS ✅ | |
2. | Keyboard | PASS ✅ | PASS ✅ | |
3. | USB_Host_Shield_2.0 | PASS ✅ | PASS ✅ |
No. | Library | Compilation | Hardware Test | Notes |
---|---|---|---|---|
1. | Adafruit_MCP4725 | PASS ✅ | PASS ✅ |
No. | Library | Compilation | Hardware Test | Notes |
---|---|---|---|---|
1. | Ethernet | PASS ✅ | PASS ✅ | Some examples need to be revised |
2. | WiFi101 | PASS ✅ | FAIL ❌ | No networks are found |
3. | RTClib | PASS ✅ | PASS ✅ | |
4. | JSON | PASS ✅ | ||
5. | Adafruit_GPS_Library | PASS ✅ | Not tested on hardware yet | |
6. | Firmata | FAIL ❌ | FAIL ❌ | |
7. | OneWire | PASS ✅ | PASS ✅ | |
8. | Telemetrix4Arduino | PASS ✅ | PASS ✅ | The R4 Branch |
9. | mWebSockets | PASS ✅ | PASS ✅ | |
10. | GPIO_NXP_Arduino | PASS ✅ | PASS ✅ | |
11. | LCDDriver_NXP_Arduino | PASS ✅ | PASS ✅ | |
12. | LEDDriver_NXP_Arduino | PASS ✅ | PASS ✅ | Not working with PCA9957(SPI) |
13. | MUX_SW_NXP_Arduino | PASS ✅ | PASS ✅ | |
14. | RTC_NXP_Arduino | PASS ✅ | PASS ✅ | Not working with PCA2131(SPI mode) |
15. | WiFiEspAT | PASS ✅ | PASS ✅ | |
16. | EthernetENCT | PASS ✅ | PASS ✅ | |
17. | ArduinoOTA | PASS ✅ | PASS ✅ | |
18. | TelnetStream | PASS ✅ | PASS ✅ | |
19. | StreamLib | PASS ✅ | PASS ✅ | |
20. | pubsubclient | PASS ✅ | PASS ✅ | |
21. | EtherSia | PASS ✅ | PASS ✅ | |
22. | DS3231 | PASS ✅ | PASS ✅ |
No. | Library | Compilation | Hardware Test | Notes |
---|---|---|---|---|
1. | SD | PASS ✅ | PASS ✅ |
No. | Library | Compilation | Hardware Test | Notes |
---|---|---|---|---|
1. | Adafruit SleepyDog | FAIL ❌ | FAIL ❌ |
No. | Library | Compilation | Hardware Test | Notes |
---|---|---|---|---|
1. | Talkie | FAIL ❌ | Fail on Minima and Wifi | |
2. | Sparkfun-MP3-Player-Shield-Arduino-Library | FAIL ❌ |