Editor Version ×

1.Easy to use and quick to get started

2.The process supports design scales of 300 devices or 1000 pads

3.Supports simple circuit simulation

4.For students, teachers, creators


1.Brand new interactions and interfaces

2.Smooth support for design sizes of over 30,000 devices or 100,000 pads

3.More rigorous design constraints, more standardized processes

4.For enterprises, more professional users

Std EditionMiniMegaZero24 (megaAVR-0)

Profile:megaAVR-0 ATmega4808 with NRF24L01+

License: Public Domain

Project source: Cloned from MiniMegaZero24

Published Time:2020-11-29 05:09:19
  • 1.7k
  • 0
  • 1



  • Breadboard friendly
  • A little more minimal circuit than other currently available devboards/designs
  • Designed for battery operation running at 8MHz at 3.3V
  • MCP1700 or MCP1702 voltage regulators with very low quiescent current
  • Draws about 5uA current when ATmega and NRF24L01+ are sleeping and GPIO pins 2 to 25 set to INPUT_PULLUP (1608 draws slightly less than 4808)
  • Mostly 0805 footprints for easy soldering
  • Should be compatible with megaAVR-0 ATmega808, 1608, 3208 and 4808 (tested with 1608 and 4808)
  • The MCU used in this design is the same as on the AVR-IOT WG and similar to the one on the Arduino Nano Every (basically it only has less pins than the 4809)
  • NRF24L01+ SMD module (optional)
  • Use FTDI programmer (e.g. a cheap FTDI Basic 3.3V from Sparkfun) for flashing sketches and serial monitor in Arduino IDE, like on Arduino Pro Mini

WARNING: Do not connect a 5V FTDI board to the circuit when a NRF24L01+ is present in the circuit. Otherwise you may fry your NRF24L01+. Only use 3.3V boards

A cheap P-Channel MOSFET with low RDS(on) is used for reverse polarity protection, because unlike diodes it does not have voltage drop. MOSFET: AO3401A by Alpha & Omega Semiconductor Inc.

See this video about how this reverse polarity protection works:


Another OSHW board with the same MCU (but without FTDI connector) can be found here:


Flashing the MegaCoreX bootloader through UPDI

Download the bootloader hex file from here:


Download pyupdi from here:


Flash the bootloader using your FTDI board connected to the UPDI pin like this (see schematic below):

python.exe pyupdi.py -d mega4808 -c COM3 -f Optiboot_mega0_UART0_DEF_115200_A7.hex  -v -b 115200

Set BOOTEND fuse like this:

python.exe pyupdi.py -fs 8:0x02 -c COM3 -d mega4808

Set SYSCFG fuse like this:

python.exe pyupdi.py -fs 5:0xc9 -c COM3 -d mega4808

Set OSCFG fuse like this (I'm not sure if this was necessary)

python.exe pyupdi.py -fs 2:0x01 -c COM3 -d mega4808

In the above 4 lines, replace -d mega4808 with -d mega1608 if you're flashing an ATmega1608 with the bootloader.

Add this URL to your Additional board manager URLs in Arduino IDE and install the MegaCoreX boards in the Boards manager:


Set the following board options in Arduino IDE:

  • Board: ATmega4808
  • Clock: Internal 8MHz
  • BOD: BOD 2.6V
  • Pinout: 32 pin standard
  • Reset pin: Reset
  • Bootloader: Optiboot (UART0 default pins)

Uploading Sketches and using NRF24L01+

Use the FTDI connector to upload sketches and use the serial monitor, like you would use it on a Arduino Pro Mini. After flashing the bootloader the UPDI pin isn't necessary anymore.

For the NRF24L01+ use the RF24 library by TMRh20: https://github.com/nRF24/RF24

Initialize it like this:

RF24 radio(9, 7);

The IRQ pin of the NRF24L01+ is connected to GPIO pin 10 on the ATmega.

Sources/more information

Screen Shot 12-16-20 at 06.40 PM.png R0039351.jpgR0039368.jpgR0039331.jpg



Sheet_1 copy

Open in editor

PCB_2020-11-24_13-48-47 copy

Open in editor
Project Attachments
Project Members


周一至周五 9:00~18:00
  • 0755 - 2382 4495
  • 153 6159 2675


周一至周五 9:00~18:00
  • 立创EDA微信号


  • QQ交流群


  • 立创EDA公众号