# Things to know about developing a custom Nano Every

**URL:** <https://forum.arduino.cc/t/things-to-know-about-developing-a-custom-nano-every/930859>\
**Category:** Nano Every\
**Created:** [November 30, 2021, 9:06pm UTC](https://forum.arduino.cc/t/things-to-know-about-developing-a-custom-nano-every/930859 "2021-11-30T21:06:12Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![who\_took\_my\_nick](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/who_took_my_nick/32/340421_2.png) [@who\_took\_my\_nick](https://forum.arduino.cc/u/who_took_my_nick)\
**Post date:** [November 30, 2021, 9:06pm UTC](https://forum.arduino.cc/t/things-to-know-about-developing-a-custom-nano-every/930859/1 "2021-11-30T21:06:12Z")

</div>

As with every development board, Nano Every is a board that one should use to develop a project, before building it on a PCB. On Arduino pages, there are schematics, all kinds of data, Arduino IDE support, etc. But I didn't find all I need to know.

On the dev board, there are ATmega4809 which is an MCU, and in IDE, there is a bootloader. Which is fine. But there is an Atsamd11d14a, which is used for ATmega4809 to communicate to the PC. Is there a firmware for it? If there is, how to program it? Are there any other things one should know? There is a 6-pad header beneath it, not without a reason.

---

<div class="post-metadata">

**Author:** ![in0](https://avatars.discourse-cdn.com/v4/letter/i/77aa72/32.png) [@in0](https://forum.arduino.cc/u/in0)\
**Post date:** [November 30, 2021, 10:13pm UTC](https://forum.arduino.cc/t/things-to-know-about-developing-a-custom-nano-every/930859/2 "2021-11-30T22:13:03Z")

</div>

> [@who\_took\_my\_nick](#):
>
> Is there a firmware for it?

Here it is:  
[https://github.com/arduino/ArduinoCore-megaavr/tree/master/firmwares/MuxTO](https://github.com/arduino/ArduinoCore-megaavr/tree/master/firmwares/MuxTO)

> [@who\_took\_my\_nick](#):
>
> If there is, how to program it?

There are some official instructions here:  
[https://www.arduino.cc/en/Guide/NANOEvery#firmware-for-samd11d14a](https://www.arduino.cc/en/Guide/NANOEvery#firmware-for-samd11d14a)

They are light on details, but it at least provides a high level overview.

---

<div class="post-metadata">

**Author:** ![who\_took\_my\_nick](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/who_took_my_nick/32/340421_2.png) [@who\_took\_my\_nick](https://forum.arduino.cc/u/who_took_my_nick)\
**Post date:** [December 1, 2021, 9:45am UTC](https://forum.arduino.cc/t/things-to-know-about-developing-a-custom-nano-every/930859/3 "2021-12-01T09:45:35Z")

</div>

Not sure how I missed this. Thank you.

---

<div class="post-metadata">

**Author:** ![in0](https://avatars.discourse-cdn.com/v4/letter/i/77aa72/32.png) [@in0](https://forum.arduino.cc/u/in0)\
**Post date:** [December 1, 2021, 1:48pm UTC](https://forum.arduino.cc/t/things-to-know-about-developing-a-custom-nano-every/930859/4 "2021-12-01T13:48:35Z")

</div>

You are welcome. If you have any problems getting the IDE support for the "MuxTO" set up, let me know and I'll try to provide detailed instructions.

You can see how it is done here:  
[https://github.com/arduino/ArduinoCore-megaavr/blob/master/.github/workflows/compile-muxto.yml](https://github.com/arduino/ArduinoCore-megaavr/blob/master/.github/workflows/compile-muxto.yml)  
but that is in a very cryptic form.

---

<div class="post-metadata">

**Author:** ![westfw](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/westfw/32/213443_2.png) [@westfw](https://forum.arduino.cc/u/westfw)\
**Post date:** [December 2, 2021, 12:12am UTC](https://forum.arduino.cc/t/things-to-know-about-developing-a-custom-nano-every/930859/5 "2021-12-02T00:12:27Z")

</div>

The 4809 doesn't actually have a bootloader. The SAMD11 acts as a device programmer, instead.

You CAN put a bootloader on the 4809, in which case you can use a generic and dumb USB/Serial converter instead of the SAMD11. This is supported by [MCUDude's MegaCoreX code](https://github.com/MCUdude/MegaCoreX) and my [Optiboot\_x](https://github.com/Optiboot/optiboot)

---

<div class="post-metadata">

**Author:** ![who\_took\_my\_nick](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/who_took_my_nick/32/340421_2.png) [@who\_took\_my\_nick](https://forum.arduino.cc/u/who_took_my_nick)\
**Post date:** [December 4, 2021, 3:28pm UTC](https://forum.arduino.cc/t/things-to-know-about-developing-a-custom-nano-every/930859/6 "2021-12-04T15:28:13Z")

</div>

Interesting!

If I get you correctly, I could use some CH340 and program 4809?  
In terms of a bootloader, steps are the same as on 328p? If so, there will be some test-bed around the corner. 🙂

---

<div class="post-metadata">

**Author:** ![who\_took\_my\_nick](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/who_took_my_nick/32/340421_2.png) [@who\_took\_my\_nick](https://forum.arduino.cc/u/who_took_my_nick)\
**Post date:** [December 4, 2021, 11:25pm UTC](https://forum.arduino.cc/t/things-to-know-about-developing-a-custom-nano-every/930859/7 "2021-12-04T23:25:40Z")

</div>

Let's say this schematic:

 ![ATmega4809](https://europe1.discourse-cdn.com/arduino/original/4X/9/a/f/9af48e0ee5d24beecd654b7afb402ec36d6262d5.jpeg)

I can see many similarities with ATmega328p in terms of Serial adapter connection. This is ok. What I don't get is this UPDI. Do I need it?

When talking about ATmega328p, the bootloader is programmed through the ICSP 6-pin header. How to do it here. UPDI? Do I need something like this, then: [GitHub - MCUdude/microUPDI: DIY UPDI programmer with open source hardware!](https://github.com/MCUdude/microUPDI)

---

<div class="post-metadata">

**Author:** ![westfw](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/westfw/32/213443_2.png) [@westfw](https://forum.arduino.cc/u/westfw)\
**Post date:** [December 5, 2021, 12:24am UTC](https://forum.arduino.cc/t/things-to-know-about-developing-a-custom-nano-every/930859/8 "2021-12-05T00:24:05Z")

</div>

> [@who\_took\_my\_nick](#):
>
> When talking about ATmega328p, the bootloader is programmed through the ICSP 6-pin header. How to do it here. UPDI? Do I need something like this, then: [GitHub - MCUdude/microUPDI: DIY UPDI programmer with open source hardware!](https://github.com/MCUdude/microUPDI)

Yes; exactly. For a chip like the 4809 with a dedicated UPDI pin, you can make a UPDI "programmer" from a USB/Serial adapter and a resistor. [GitHub - mraardvark/pyupdi: Python UPDI driver for programming "new" tinyAVR and megaAVR devices](https://github.com/mraardvark/pyupdi) - You only need fancy hardware to do the HV UPDI that is useful for the new ATtiny chips (if you want to re-use the UDPI pin as IO.)

See also [Freeduino 4809 | Hackaday.io](https://hackaday.io/project/165661-freeduino-4809)

---

<div class="post-metadata">

**Author:** ![who\_took\_my\_nick](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/who_took_my_nick/32/340421_2.png) [@who\_took\_my\_nick](https://forum.arduino.cc/u/who_took_my_nick)\
**Post date:** [December 5, 2021, 10:24am UTC](https://forum.arduino.cc/t/things-to-know-about-developing-a-custom-nano-every/930859/9 "2021-12-05T10:24:46Z")

</div>

Let's make it simpler. If I use the project from above, I could only make it work with Arduino IDE by UPDI programmer. Or, I must add ICSP and program bootloader first, then use it via some Serial programmer.

?

If it stays like this, I can use 32u4 as MCUDude suggested?

---

<div class="post-metadata">

**Author:** ![westfw](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/westfw/32/213443_2.png) [@westfw](https://forum.arduino.cc/u/westfw)\
**Post date:** [December 6, 2021, 12:20am UTC](https://forum.arduino.cc/t/things-to-know-about-developing-a-custom-nano-every/930859/10 "2021-12-06T00:20:54Z")

</div>

> [@who\_took\_my\_nick](#):
>
> If I use the project from above, I could only make it work with Arduino IDE by UPDI programmer.

Yes. The new chips doe not have ICSP; you load the bootloader with UPDI.  
UPDI with ch340 and a resistor: [GitHub - mraardvark/pyupdi: Python UPDI driver for programming "new" tinyAVR and megaAVR devices](https://github.com/mraardvark/pyupdi) (however, this is not supported by [MegaCoreX](https://github.com/MCUdude/MegaCoreX) \_  
UPDI equivalent of ArduinoISP: [GitHub - ElTangas/jtag2updi: UPDI programmer software for Arduino (targets Tiny AVR-0/1/2, Mega AVR-0 and AVR-DA/DB MCUs)](https://github.com/ElTangas/jtag2updi)  
UPDI extra hardware: [GitHub - MCUdude/microUPDI: DIY UPDI programmer with open source hardware!](https://github.com/MCUdude/microUPDI) (supports multiple target voltages. uses Pro-micro)  
UPDI hardware addon: [Arduino Nano HV UPDI Programmer · Dlloydev/jtag2updi Wiki · GitHub](https://github.com/Dlloydev/jtag2updi/wiki/Arduino-Nano-HV-UPDI-Programmer) (supports HV UPDI programming.) (uses Arduino Nano)  
Microchip SNAP (official vendor-supported programmer): [Welcome to MicrochipDirect](https://www.microchipdirect.com/dev-tools/PG164100) (still needs a resistor!)

---

<div class="post-metadata">

**Author:** ![hzrnbgy](https://avatars.discourse-cdn.com/v4/letter/h/90db22/32.png) [@hzrnbgy](https://forum.arduino.cc/u/hzrnbgy)\
**Post date:** [December 6, 2021, 1:05am UTC](https://forum.arduino.cc/t/things-to-know-about-developing-a-custom-nano-every/930859/11 "2021-12-06T01:05:28Z")

</div>

There's also this

[https://www.microchip.com/en-us/development-tool/ATTINY416-XNANO](https://www.microchip.com/en-us/development-tool/ATTINY416-XNANO)

De-solder some small resistors and you can use the built-in UPDI programmer for external programming...

---

<div class="post-metadata">

**Author:** ![westfw](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/westfw/32/213443_2.png) [@westfw](https://forum.arduino.cc/u/westfw)\
**Post date:** [December 6, 2021, 3:15am UTC](https://forum.arduino.cc/t/things-to-know-about-developing-a-custom-nano-every/930859/12 "2021-12-06T03:15:59Z")

</div>

> [@hzrnbgy](#):
>
> There's also this

Or [https://www.microchip.com/en-us/development-tool/DM320115](https://www.microchip.com/en-us/development-tool/DM320115) - while somewhat more expensive, it's a 4809 itself, and has a somewhat newer implementation ("Curiosity Nano" vs "Xplained Nano.") And it has (they both have) debugging!

(or, currently ON SALE! : [AVR128DB48 Curiosity Nano](https://www.microchipdirect.com/dev-tools/DevToolDeals?treeid=6&allDevTools=true))

---

<div class="post-metadata">

**Author:** ![mrburnette](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/mrburnette/32/702556_2.png) [@mrburnette](https://forum.arduino.cc/u/mrburnette)\
**Post date:** [December 6, 2021, 3:35am UTC](https://forum.arduino.cc/t/things-to-know-about-developing-a-custom-nano-every/930859/13 "2021-12-06T03:35:17Z")

</div>

> [@who\_took\_my\_nick](#):
>
> Nano Every is a board that one should use to develop a project, before building it on a PCB.

48K flash  
6K SRAM  
11 Euros.

I think I would use an STM32F103 or Espressif ESP32 as the Nano Every sounds a bit anemic for development efforts unless one just had a deep attraction to the specific ATmega4809.

I have **never** found just one dev-board to rule the rest.

Ray

---

<div class="post-metadata">

**Author:** ![mrburnette](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/mrburnette/32/702556_2.png) [@mrburnette](https://forum.arduino.cc/u/mrburnette)\
**Post date:** [December 6, 2021, 3:46am UTC](https://forum.arduino.cc/t/things-to-know-about-developing-a-custom-nano-every/930859/14 "2021-12-06T03:46:41Z")

</div>

> [@westfw](#):
>
> (or, currently ON SALE! : [AVR128DB48 Curiosity Nano](https://www.microchipdirect.com/dev-tools/DevToolDeals?treeid=6&allDevTools=true))

$18.99  
Dude, you get your stuff still via letterhead as Evaluation/Samples?

This Arduino stuff is becoming an expensive hobby. At these prices, Raspberry looks like a clear winner to me.

 ![image](https://europe1.discourse-cdn.com/arduino/original/4X/1/e/0/1e01c90f77cacdfdc4c0dd2f13135ed32d5f5f02.png)

// start soapbox  
I love Arduino, but a hobby should not break the bank. Pricing and product capability should have some relationship. By today's standards, 48K flash is pitiful unless it has a SD controller and micro-SD slot onboard.  
// end soapbox

Opinions by Ray

---

<div class="post-metadata">

**Author:** ![westfw](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/westfw/32/213443_2.png) [@westfw](https://forum.arduino.cc/u/westfw)\
**Post date:** [December 6, 2021, 7:23am UTC](https://forum.arduino.cc/t/things-to-know-about-developing-a-custom-nano-every/930859/15 "2021-12-06T07:23:45Z")

</div>

> [@mrburnette](#):
>
> $18.99  
> Dude, you get your stuff still via letterhead as Evaluation/Samples?  
> This Arduino stuff is becoming an expensive hobby.

No, but I don't expect everything to be priced like a Chinese Clone, either - especially if it's a prototype for something I expect to build myself from cheap chips. That was one of the advantages of the original Arduinos, even at the original 2007ish $35 price point - the knowledge that it was simple enough to build more yourself, from (then) $4 atmega168 chips (unlike, say, a BASIC Stamp. The original Basic Stamp, in 1993, was $139 for a board, a "programming cable", development software, and documentation (not much Internet, back then...)

And I remember when "Evaluation Boards" from vendors were $300+, and had fewer features (though they WERE "bigger."

There aren't many hobbies you can "support" for $20 a hit... (and I do have enough disposable income that I'm trying to break myself of the "it needs to be cheaper" habit. And I'm saving all that gas money by staying home during the pandemic...)

---

<div class="post-metadata">

**Author:** ![who\_took\_my\_nick](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/who_took_my_nick/32/340421_2.png) [@who\_took\_my\_nick](https://forum.arduino.cc/u/who_took_my_nick)\
**Post date:** [December 6, 2021, 9:27am UTC](https://forum.arduino.cc/t/things-to-know-about-developing-a-custom-nano-every/930859/16 "2021-12-06T09:27:52Z")

</div>

> [@westfw](#):
>
> (or, currently ON SALE! : [AVR128DB48 Curiosity Nano](https://www.microchipdirect.com/dev-tools/DevToolDeals?treeid=6&allDevTools=true))

They do not ship to Serbia. But they DO SHIP to MikroElektronika, which is pretty much close to my place. LOL.

> [@mrburnette](#):
>
> I have **never** found just one dev-board to rule the rest.

Absolutely agree. My point is that every dev board's purpose is to DEVELOP something, not to use it as it is. It is always nice to try something different, though. My work-horse is ESP8266. Some 90% of my projects.

> [@westfw](#):
>
> No, but I don't expect everything to be priced like a Chinese Clone, either - especially if it's a prototype for something I expect to build myself from cheap chips.

[https://lcsc.com/products/ATMEL-AVR\_473.html?keyword=atmega328p](https://lcsc.com/products/ATMEL-AVR_473.html?keyword=atmega328p)  
$10 for an ATmega328p? I used to buy them for some $1.2 or so. Prices are close with other sellers. I have them here for $5 so I will get them before they go up.

Prices are everything but not for hobbies.

ON TOPIC!

I just would like to make some random project with 4809, learn along the way. I don't want to get rich.  
I mean, I want. 😃

---

<div class="post-metadata">

**Author:** ![westfw](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/westfw/32/213443_2.png) [@westfw](https://forum.arduino.cc/u/westfw)\
**Post date:** [December 6, 2021, 10:35am UTC](https://forum.arduino.cc/t/things-to-know-about-developing-a-custom-nano-every/930859/17 "2021-12-06T10:35:53Z")

</div>

> [@who\_took\_my\_nick](#):
>
> $10 for an ATmega328p? I used to buy them for some $1.2 or so.

There's a world-wide chip shortage plus shipping problems. It is a lousy time to be bargain hunting for chips. ☹

---

<div class="post-metadata">

**Author:** ![markd833](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/markd833/32/1186928_2.png) [@markd833](https://forum.arduino.cc/u/markd833)\
**Post date:** [December 6, 2021, 3:05pm UTC](https://forum.arduino.cc/t/things-to-know-about-developing-a-custom-nano-every/930859/18 "2021-12-06T15:05:40Z")

</div>

> [@who\_took\_my\_nick](#):
>
> I just would like to make some random project with 4809, learn along the way.

I had the same thought so I put together a 40-pin DIL variant of the 4809 on a MEGA prototyping shield along with an FTDU USB-Serial module.

 ![DSCF2472](https://europe1.discourse-cdn.com/arduino/original/4X/4/3/9/4390ca4c41084f45beb10930365c70477cdbaa8c.jpeg)

I then got hold of a MikroBUS Arduino MEGA shield like this one:  
 ![Arduino MEGA click shield](https://europe1.discourse-cdn.com/arduino/original/4X/2/f/0/2f0c5c1e127095cca6b0445a723baa29b8396df6.jpeg)

And added just enough wiring from the DIL 4809 to drive the signals on it. I've got a bunch of little home made modules with FLASH, EEROM, RTC, RS485, RFM69 radio etc, made by mounting the cheap modules you get from ebay or Ali straight onto a bit of protoboard and plugging them in whenever I need one. Saves a lot of messing about with jumper wires too!

I should also add that the 4809 runs at 3V3 so I don't need to mess with level converters either.

---

<div class="post-metadata">

**Author:** ![anon57585045](https://avatars.discourse-cdn.com/v4/letter/a/ed8c4c/32.png) [@anon57585045](https://forum.arduino.cc/u/anon57585045)\
**Post date:** [December 14, 2021, 12:42am UTC](https://forum.arduino.cc/t/things-to-know-about-developing-a-custom-nano-every/930859/19 "2021-12-14T00:42:21Z")

</div>

> [@westfw](#):
>
> There's a world-wide chip shortage plus shipping problems.

My penchant for collecting way too many new boards doesn't seem so misguided now...

---

<div class="post-metadata">

**Author:** ![westfw](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/westfw/32/213443_2.png) [@westfw](https://forum.arduino.cc/u/westfw)\
**Post date:** [December 14, 2021, 1:32am UTC](https://forum.arduino.cc/t/things-to-know-about-developing-a-custom-nano-every/930859/20 "2021-12-14T01:32:01Z")

</div>

Yeah; I've noticed that I have enough things to do to keep me for a long time. Many that I haven't even touched, yet. 🙂☹

[Next page](https://forum.arduino.cc/t/things-to-know-about-developing-a-custom-nano-every/930859.md?page=2)
