I have been looking to see if it's possible to program Arduino boards without the use of a computer. Just wondered if anyone has tried that or if it is just not feasible
Which arduino MCU are you talking about specifically?
What level of "computer" is acceptable? eg you can use a raspberry pi or similar to program, but arguably that is a computer.
Pickit3 used to have a remote programming mode but may not support the mcu you are using.
Possible. Sure. At least for [flashing via ISP header] ATmega or ATtiny MCUs, you can do the following...
It shouldn't take much to modify the
"ArduinoISP.ino" sketch.
Just add an I
2C/SPI flash memory, some buttons, and optional LCD.
Change the serial command processor to accept options like save/read to/from flash (using Intel hex format when connected to a host)
and on a button press, read from flash and program target device (when not connected to host).
You can store several programs in the flash and select any one based on which button is pressed.
I have been looking to see if it's possible to program Arduino boards without the use of a computer. Just wondered if anyone has tried that or if it is just not feasible
Do you want to program via arduino bootloader (serial) , or Atmel ISP ?
You need a device where the binary to be programmed is stored and that supports the programming protocols.
I use my Android smartphone for this instead of the computer for portable programming. There are apps that can program an Arduino via bootloader or ISP interface. You need an USB "OTG adapter" for your phone that converts the smart phone USB port to a PC like USB port. Then you need a matching USB cable to connect to the device to be programmed. I have 3 types of units "in the field" with different programming interfaces:
1. "Rev 1 hardware": Real Arduino Nano with USB port: Standard USB cable
2. "Rev 2 hardware": Arduino compatible (with boot loader) but without the USB-to-serial chip: USB-to-serial converter cable with TTL outputs
3. ATMega 8 based board with ISP interface: home made Arduino based ISP programmer
I use the "ArduinoDroid" for the boards with boot loader and "ZFlasher" for the board with ISP.
nice apps
never saw them, usbasp dongle has another bootloader, it is now enumerate as an usbtmc device
works better in windows, dont know for theses apps
I have been looking to see if it's possible to program Arduino boards without the use of a computer. Just wondered if anyone has tried that or if it is just not feasible
MCU vendors do offer off-line programmers.
STC and Nuvoton are two examples, and these typically have Serial Flash that is loaded with your binary, and then a PGM button can update MCUs without
needing PC connections.
Field use and production line programming are common uses.
If your code is only small (uses < 75% of the ardunio), you could use any ardunio to copy a block of its own memory to a programming port.
If you want to pgm 100% of code area, you will need some external flash/eprom/etc memory to copy from.
The Microchip PicKit 4 and 5 support offline programming (both support SD card, the 5 also Bluetooth from a phone), and I checked that the Atmega chips of traditional Arduino boards are indeed supported for “Programmer to Go” (PTG). But you’d have to adapt your code to compile in MPLAB X, since there doesn’t appear to be a way to upload binaries compiled externally.
With that said, why hasn’t OP, like, googled anything? This is a very solved problem, with Adafruit having documented it extremely well:
https://learn.adafruit.com/standalone-avr-chip-programmer