How to upload code to Arduino without a lapto

Hi, I would like to know is there a way of burning programs to microcontrollers like that on Arduino without using a computer? Like a pendrive or something? Suppose you want to update firmware on a utility end, must you carry the editable source code with you? How do the big companies do it?

When you compile, the result is a hex file. You can burn that hex file using a programmer.

The below is a programmer where you can store the hex file on a memory card and program the board using ICSP. You can actually store multiple files if needed.

http://www.crossroadsfencing.com/BobuinoRev17/Programmer.html

Something available more commercially? I don't think I would find this on amazon.in

Microchip sell programmers for this for their product range with this capability, I think the current one is PICKit 4, but have a look on their website https://www.microchip.com/ to see what they have. Obviously PICKit was originally for PIC micro-controllers, but I believe that since they took over ATMEL they now support ATMEL micro-controllers as well.

You can buy from the big distributors such as RS, Farnell, Mouser etc.

Edit:

using an ESP32 instead of a "classical" Arduino
advantages:

  • lower price ($10)
  • WiFi onboard which enables uploading *.bin-files from any webbrowser through a WiFi-accesspoint which is created by the ESP32 itself
    this requires adding some code to your standard code

best regards Stefan

1 Like

The big companies use OTA, Over The Air programming. Make a VPN to the used board, login and start to flash. OTA is also possible with Arduino IDE in the same network. You can use also HTTP updater.

can you elaborate step by step how to do it?

OTA with Arduino IDE

OTA over network

Making VPN isn't my peace of cake.

"Big companies" don't use Arduinos, they write their own software using similar chips, but you won't find an Arduino Nano in a Tesla.

If you're wanting to create basic devices that you can give/sell to other people without having to give them the source code to do updates, you can simply compile the file and send them the .bin firmware file to upload via esptool.py or other similar means.

If you're looking for a ... more idiot proof ... type of distribution, look at MegunoLink Builder which can also create a computer based UI for configuration and interaction in addition to firmware updates. It's a paid commercial product, but it saves you the time and effort of building your own firmware update system.

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.