Things to know about developing a custom Nano Every

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.

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

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

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

2 Likes

Not sure how I missed this. Thank you.

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
but that is in a very cryptic form.

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 and my Optiboot_x

1 Like

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. :slight_smile:

Let's say this schematic:

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!

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 - 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

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?

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 (however, this is not supported by 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)
UPDI extra hardware: GitHub - MCUdude/microUPDI: DIY UPDI programmer with open source hardware! (supports multiple target voltages. uses Pro-micro)
UPDI hardware addon: Arduino Nano HV UPDI Programmer · Dlloydev/jtag2updi Wiki · GitHub (supports HV UPDI programming.) (uses Arduino Nano)
Microchip SNAP (official vendor-supported programmer): https://www.microchipdirect.com/dev-tools/PG164100 (still needs a resistor!)

There's also this

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...

Or Dynamic Dev Tool Page | Microchip Technology - 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)

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

$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.

// 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

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...)

1 Like

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

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.

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. :smiley:

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

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.

I then got hold of a MikroBUS Arduino MEGA shield like this one:
Arduino MEGA click shield

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.

2 Likes

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

1 Like

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. :slight_smile: :frowning:

2 Likes