The web flasher used herein only supports these radios currently: Heltec LoRa32 v2 / T114, LilyGO LoRa32 v1.0 / v2.0 / v2.1 / T3S3 / T-Beam / T-Beam Supreme / T-Deck / T-Echo, RAK4631 (status 24-02-2025, see link below for latest information).
Once you have decided what part of the frequency spectrum you are going to use for your region (e.g. 868 MHz in Europe, others also possible in Europe, see settings below), and you have and ordered your radios from the above list (yes, best order 2, else you cannot test the setup and you will be sad), and you waited for them to arrive, and the box was not lost in your household, and you have found a tiny gap in your busy schedule or managed to hide in the cellar for 10 minutes, you need to flash the rnode firmware onto them.
These instructions are intended for those who (a) have never done it before or (b) are squeezing in a bit of hobby time into a busy day and do not have time to waste endlessly experimenting 'how did I do that last time' just to get that one first step done, before someone shouts and asks you to do something vitally important for them (or else). I wrote below what I wished I had known before wasting many a precious hour on a two-minute job.
Never flash the firmware onto a node (radio) without an antenna being attached to the radio, because the radio is powered up in the flashing process, and its circuitry can be damaged if no antenna is present for the power generated by the circuitry to be dispersed via an antenna.
Flashing requires a USB cable connection to the node from the computer being use to flash the firmware. This USB cable must be one that provides the required data connection; and not all USB cables will do it - as some are for power only. So if you are flashing a node, make sure, if there are problems, to have alternative cables. Once a cable does the job, you will thank yourself if you mark it somehow so you do not have to spend time next time cable swapping.
Your starting point
The way the flashing is done is to use a Chrome-based browser like Chrome or Chromium (others like Brave or Vivaldi might do it also) and use this flashing website. Flashing using Ubuntu (e.g. on the setup computer) is entirely possible as shown in this video, but I find a Windows machine to be easier to use.
A typical issue with flashing the radio rnodes is that some radio rnodes need to be put into a special 'boot mode' with a certain radio button press, or combination of button presses, before and upon USB connection to the machine being used to flash the node. These button presses have to be looked up on-line if it does not work immediately by trial and error; and the Meshtastic site is a good guide because the same process applies when flashing nodes for Meshtastic. For example, the Lilygo T-beam Supreme needs two buttons pressed; and some nodes even have different button-pressing requirements, or not, depending on their version number.
When using a Windows machine to flash the rnode, the Windows machine makes a 'bling' sound when you connect the radio by USB to the Windows computer. It can be informative on a Windows machine to click right on the Window icon (in the far left of the start bar) and select device manager, and go to 'Ports (COM & LPT)' and see what the COM port is that appears when you plug in the node that you are flashing. This provides a test of whether the node is seen by the computer, and tells you which port to select when the flasher asks you to select one. If the node is not showing, then that is a sure sign that you (if your cable is not the wrong type) may have to do a certain button press when plugging the node into the computer to get it into a mode (boot mode) so that the computer sees it.
When using a Linux e.g. Ubuntu machine, you can test if the USB connection to the radio has been made by running lsusb as the command line, and seeing if something is listed that looks like your radio. If not listed, swap the USB cable for another that does data too.
A really strange (mundane) stumbling block (specific to Ubuntu) in flashing the RAK and T-beam radios in Ubuntu was setting Chromium to allow direct USB connections, as the radio button for that was off-screen (the menu being too large for the screen size). Simon Phillips found the way to do it, as follows. Go the the 'Ubuntu Software' icon (the orange suitcase) and find and click on Chromium under the tab 'Installed', and then select the 'Permissions' button. Then the radio button you want to set to 'on' is 'Access USB hardware directly'. Make this radio button visible, so you can click it, as follows. To get to the bottom of the permissions list, right-click in the top bar and click on the Move option that appears. Without pressing mouse buttons, flick upwards on trackpad until the USB setting 'Access USB hardware directly' at the bottom is visible, or only just visible. Press the escape key on keyboard to unselect Move. Then you can toggle USB setting. Now you have done that, the flashing of the lora radio should work when using Chromium.
When using an Apple machine, well, then normally there is no need for any instructions here as Apple has an annoying habit of just working if you follow your nose. The only mega strange thing I suffered from was when the setting in MacOS was on to always ask for permission for a USB accessory to connect. That pop-up was obscured, and/or was transient, and so no USB C device was ever able to be used because try as I might the pop-up asking permission was blocked or gone. In that case, if you are having a problem, find the USB device connection settings in the settings and change it (see here Apple menu - System Settings - Click Privacy & Security - Scroll down and click the pop-up menu next to 'Allow accessories to connect') and change it back again afterwards for security reasons. Why don't they have the option 'on', 'off', 'off for 1 hour and then revert to on' ?
Most nodes are flashed using just the steps on the web interface of the web flasher linked above. It might be that one has to paste a downloaded file into the node's directory as it appears in the file manager when successfully connected to e.g. a Windows machine, though in my experience link above seems not ever to use that approach and it works without you manually pasting in the file manager.
If you are having serious problems flashing a radio that uses the nRF52 chip (T114, RAK, T-echo), the process might benefit from updating the bootloader, for which one could use this Meshtastic resource. Also, the flasher site listed above has some further buttons that might help. Such problems can arise if the radio has been 'bricked' by a previous poor flashing event, or if it has been used before and is already flashed. The relevant discussion forums are full of people reporting that sometimes re-flashing only worked on the umteenth attempt after a device had failed in use. If your node is newly arrived in the post, I doubt there would be a real problem of this type, and look for another cause and, hopefully, solution.
When flashing a Lilygo T-beam (normal, not the 'supreme') using the flashing site above, you might get the message after flashing and when pressing the 'provision' button, that the 'node is not an rnode'. The next step then only works if, after the message comes up saying the flashing is complete, you first unplug the USB connection to the T-beam and then plug it back into the computer (or maybe re-power/restart the device); that then allows the 'Provision' step to work without the error message that the node is not an rnode. Apparently this is to do with the node entering a so-called DFU (device firmware update) mode after flashing, which stops the machine being able to perform the next step unless the device is switched off and on again to return to a new mode. Similarly unplug and replug the T-beam before the 'Set Firmware Hash' step. For the T-beam (not 'Supreme') I did not need to make any special button presses for the flashing to work, and all I had to do was plug the T-beam's USB into the computer (remember 'plug and pray'). I used a T-beam without a battery in it when flashing; and it could be that leaving a battery in might stop the plug in / plug out steps from taking effect, so if in doubt, flash the device without any battery power in the node itself.
The video below demonstrates some of the above. It shows that, during the flashing process, the COM port listed will change, but you just select the most likely port and carry on regardless.