Replacement for ATMega328p for my project

I am creating a Data Logger that uses:

  1. ATMega328p - Microcontroller
  2. SD Card Module to read write data
  3. SIM800l - Modem to transmit data from SD card to API
  4. OLED I2C Display
  5. DHT22 Temperature sensor

My knowledge on embedded systems hardware and electronics is beginner to intermediate at best, I am more proficient with programming.

I am looking for an ARM microcontroller that is cheap and can be used as a ATMega328p replacement for my project. Ideally, I would want the ARM mcu to be easy to use with limited complexity to design on a custom PCB. Also preferably can be programmed from the Arduino IDE.

Any suggestions would really help.

The obvious question is why change to a different processor ?

I would prefer to use a modern microcontroller that is more power efficient

The Seeeduino-XIAO uses the ATSAMD21G18A Arm Chip.

The chip itself has

Up to 52 programmable I/O pins

Only a few are brought out on the XIAO board.

Atmega328p is pretty power efficient! I have them working down to <30uA in my projects and others have achieved even lower consumption. I have never managed to get ARM down that low, but I know others have.

For ARM microcontrollers, the SAMD21 models probably have highest Arduino compatibility. They are used in Arduino Zero, M0, IOT33 and many arduino compatibles such as the Xiao mentioned by @Grumpy_Mike.

You could also consider RP2040. Less mature, but dual cores and other interesting features, well documented by the Pi foundation.

EDIT: it seems there are now versions of the Xiao with SAMD21, RP2040 and nRF52840 MCUs!

Thank you I was also considering the RP2040. I will try to get the project working with both chips and compare the power consumption.

You can take a look at the megaAVR-0 series or the AVR DA series. If you have some level shifting going on it might event make sense to take a look at the AVR DB series.