# Uploading pre-compiled .hex firmware to emonTx V4 using windows and Avrdudess

**URL:** <https://community.openenergymonitor.org/t/uploading-pre-compiled-hex-firmware-to-emontx-v4-using-windows-and-avrdudess/24517>\
**Category:** emonTx\
**Created:** [3 October 2023 16:55 UTC](https://community.openenergymonitor.org/t/uploading-pre-compiled-hex-firmware-to-emontx-v4-using-windows-and-avrdudess/24517 "2023-10-03T16:55:47Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![glyn.hudson](https://community.openenergymonitor.org/user_avatar/community.openenergymonitor.org/glyn.hudson/32/35003_2.png) [@glyn.hudson](https://community.openenergymonitor.org/u/glyn.hudson)\
**Post date:** [3 October 2023 16:55 UTC](https://community.openenergymonitor.org/t/uploading-pre-compiled-hex-firmware-to-emontx-v4-using-windows-and-avrdudess/24517/1 "2023-10-03T16:55:47Z")

</div>

It’s possible to use Avrdudess GUI to easily upload a pre-compiled .hex firmware file to an emonTx V4 (i.e AVR128DB48)

Plug the emonTx V4 into the windows computer (tested on windows 10), and install the USB driver as per the user guide: [Configuration — OpenEnergyMonitor 0.0.1 documentation](https://docs.openenergymonitor.org/emontx4/configuration.html)

Then [download and install AVRDUDESS](https://github.com/ZakKemble/AVRDUDESS/releases) (tested V2.14) and use the following settings:

Note the `-D` additional command line args, this is important. You can use the ‘Detect’ function to avoid having to manually select the MCU.

 ![avrdudess-2.14-windows10](https://community.openenergymonitor.org/uploads/default/original/3X/b/1/b11075066531b94631c6dc14b436692c81ee0ca7.png)

---

<div class="post-metadata">

**Author:** ![borpin](https://community.openenergymonitor.org/user_avatar/community.openenergymonitor.org/borpin/32/193_2.png) [@borpin](https://community.openenergymonitor.org/u/borpin)\
**Post date:** [4 October 2023 06:36 UTC](https://community.openenergymonitor.org/t/uploading-pre-compiled-hex-firmware-to-emontx-v4-using-windows-and-avrdudess/24517/2 "2023-10-04T06:36:10Z")

</div>

> [@glyn.hudson](#):
>
> Note the `-D` additional command line args

~~Do you mean -V?~~

![image](https://community.openenergymonitor.org/uploads/default/original/3X/2/a/2a556232881ce5000b922b74cfeb1cb70307d1af.png)

Oh that is terrible UI a checkbox to **disable**

Also doesn’t seem consistent with the command used

![image](https://community.openenergymonitor.org/uploads/default/original/3X/1/5/154b1b9baad78271bd428681fdb099cfea582ca1.png)

[edit2]

Oh, I see what you are saying, but why do you need this if there is a checkbox?

![image](https://community.openenergymonitor.org/uploads/default/original/3X/f/f/ffe93c3c7e4b49543f6b23b03c4007083ca7d01b.png)

---

<div class="post-metadata">

**Author:** ![glyn.hudson](https://community.openenergymonitor.org/user_avatar/community.openenergymonitor.org/glyn.hudson/32/35003_2.png) [@glyn.hudson](https://community.openenergymonitor.org/u/glyn.hudson)\
**Post date:** [5 October 2023 12:44 UTC](https://community.openenergymonitor.org/t/uploading-pre-compiled-hex-firmware-to-emontx-v4-using-windows-and-avrdudess/24517/3 "2023-10-05T12:44:03Z")

</div>

> [@borpin](#):
>
> Oh, I see what you are saying, but why do you need this if there is a checkbox?

Ah I didn’t see the checkbox! Well spotted

---

<div class="post-metadata">

**Author:** ![borpin](https://community.openenergymonitor.org/user_avatar/community.openenergymonitor.org/borpin/32/193_2.png) [@borpin](https://community.openenergymonitor.org/u/borpin)\
**Post date:** [5 October 2023 12:45 UTC](https://community.openenergymonitor.org/t/uploading-pre-compiled-hex-firmware-to-emontx-v4-using-windows-and-avrdudess/24517/4 "2023-10-05T12:45:20Z")

</div>

I thought I’d missed something 🤣

---

<div class="post-metadata">

**Author:** ![glyn.hudson](https://community.openenergymonitor.org/user_avatar/community.openenergymonitor.org/glyn.hudson/32/35003_2.png) [@glyn.hudson](https://community.openenergymonitor.org/u/glyn.hudson)\
**Post date:** [5 October 2023 12:52 UTC](https://community.openenergymonitor.org/t/uploading-pre-compiled-hex-firmware-to-emontx-v4-using-windows-and-avrdudess/24517/5 "2023-10-05T12:52:45Z")

</div>

Did it work for you? What do you think? I thought it seemed much easier than explaining to someone how to use avrdude command line.

Ovioulsy if someone is uploading an official pre-compiled FW then updating via the emonBase using the Emoncms GUI is easiest. Or if no emonBase is available using [emonupload2](https://github.com/openenergymonitor/EmonScripts/blob/master/emonupload2.py), but this requires Linux.

---

<div class="post-metadata">

**Author:** ![borpin](https://community.openenergymonitor.org/user_avatar/community.openenergymonitor.org/borpin/32/193_2.png) [@borpin](https://community.openenergymonitor.org/u/borpin)\
**Post date:** [5 October 2023 13:23 UTC](https://community.openenergymonitor.org/t/uploading-pre-compiled-hex-firmware-to-emontx-v4-using-windows-and-avrdudess/24517/6 "2023-10-05T13:23:52Z")

</div>

> [@glyn.hudson](#):
>
> Did it work for you? What do you think?

No didn’t try it. If it works then yes, better than installing the IDE to do it.

---

<div class="post-metadata">

**Author:** ![grod55](https://community.openenergymonitor.org/user_avatar/community.openenergymonitor.org/grod55/32/26153_2.png) [@grod55](https://community.openenergymonitor.org/u/grod55)\
**Post date:** [6 October 2023 18:10 UTC](https://community.openenergymonitor.org/t/uploading-pre-compiled-hex-firmware-to-emontx-v4-using-windows-and-avrdudess/24517/7 "2023-10-06T18:10:44Z")

</div>

I used it and it worked great!  
Thanks for doing this Glyn.
