But I have no idea to how to program it without the ATMEL-ICE or the Xplained pro board as they are quite expensive.
Could someone suggest some other way to program the controller using an arduino uno maybe? please help!

That's about $40 isn't it? In some parts of the world that could well represent a monthly take home. Equally when you can buy Arudinos for $5 and USB converter leads and programmers for $2 then, yes, $40 does sound kind of expensive.

It looks like this is a new AVR device that has only the UPDI (Universal Programming Demented Interface) method of communicating with the factory-new IC. UPDI may or may not have advantages over the older ISP method of programming. No doubt the engineers who developed it could dazzle me with demonstrations of its manifest superiority over the previous methods of device interface. However, it has one primal disadvantage that has afflicted the embedded-systems industry since the 1970s: it requires a very expensive programming device made only by the CPU company whose only use is to get the object code into the memory of the microcontroller. And this expensive programming device will only be purchased by companies that will be buying this IC design by the tens-of-thousands. Not by you.

Basically there are four ways to get compiled/assembled object/hex code into an AVR device. One is the new and vastly superior UPDI method, which few people use because it is new and expensive. Expensive means any device that costs 50 times more than the cost of the IC itself. This is actually the oldest approach: Intel sold "bond-out" programmers for $15,000 back in 1978 for 8051-based devices. If you wanted to be a player in the new embedded-systems industry, you bought one, along with a highly-trained and expensive engineer to program and operate it.

The next was an in-circuit-programming approach. The reset pin was activated and often a higher-than-normal voltage was applied to the IC. Then bytes were sent in a serial-based code to the device one-by-one until the entire program was loaded. The reset was de-activated and the program ran on the device from its internal non-volatile memory. The serial-based code was unique to the device family. Non-corporate users could build parallel-port based bit-banging devices to implement this approach.

Next was JTAG: an industry standard means of reading/writing the memory of the device, and "freezing" it in the middle of a program's operation to examine each pin's logic at the moment of the "freeze". It also required advanced training, expensive equipment, and expensive engineers.

Finally, around 2005-2010, came boot-loaders. The device has a small program that monitored the UART peripheral on power-up/reset. Signals arriving on the UART within a timeframe were assumed to be object code. The bootloader would put these UART bytes into the non-volatile memory. At next reset, the bootloader timed out and ran the program that had been previously loaded. The Arduino system works with this method. It requires no training or expensive equipment, but the bootloader program has to have been installed previous to the delivery of the IC device to the user. This is clearly the best approach for low-cost non-corporate developers. However, it doesn't have the ability to freeze and examine the CPU during an actual program run. Which can be essential for debugging complex programs and is demanded by engineers with big corporate budgets that are making tens-of-thousands units of single design.

However, it has one primal disadvantage that has afflicted the embedded-systems industry since the 1970s: it requires a very expensive programming device made only by the CPU company whose only use is to get the object code into the memory of the microcontroller...

Total Rubbish! El Tangas has built an Arduino based, you know the ones you always recommend and are also pushing again in your post above, UPDI programmer and has also written a working avrdude.conf for avrdude 6.3 to use with it. Granted it is limited to a few chips at the moment, but it is a great programmer! I've used it to program ATtiny1616s.

The avrdude folks are also busy getting UPDI chip support up and running, and the results of that effort should see the light of day somewhat soon.

Simonetta, technology evolves, there is always something new on the horizon, embrace it before you get left behind in the past. I thoroughly enjoy reading your comments, they are a wonderful mix of fact, fiction, history, and your spirited point of view.

"I may make you feel but I can't make you think" - Jethro Tull - Thick As A Brick

If a factory new ic doesn't require the high voltage 12V reset pulse, then it is quite easy to program and in fact it's the most elegant way of doing that, because it is a real uart (one-pin half duplex but still an uart). I worked in the past with the exact same type of interface, on Z8Encore! chips.

If it requires that 12V pulse, then probably you need an atmelice indeed.

So, is there anyone that works with real brand factory new ic on custom boards that require initial programming? And using anything else than an atmel-ice? I tried to find that information in the datasheets but I'm still not sure. Do brand new chips require only 5V programming?

Users of only Xplain boards probably won't see this issue. The board chip may be pre-programmed at the factory.

Atmel-ICE ist a very versatile programmer for ARM and all AVR Devices. I'm using the pcb version and think 45€ I have paid for it absolutely worth it. UPDI needs only one pin for debugging and programming, this works very well and economical.

It's not so much a matter of "thinking of", it's more that on the smaller parts the customer starts complaining if he can't use the programming pin as an IO pin.

They will complain even more if the RSTPINCFG bits get changed inadvertently on those smaller parts that share the RESET pin with, or can be made GPIO, on the UPDI pin . Atmel-ICE, batteries not included, no 12V UPDI capability. Power Debugger is US $190, the STK600 is on sale through the end of March for US $199, as meolsen wrote, they both do 12V UPDI programming.

@everyone, I edited my post #12 that had mentioned 12V programming, it obviously does not apply to the ATmega4809.

@kunal_22, If you have not seen post #15 look there for an alternative way to program your ATmega4809 or use Rabbap's solution from post #17: