0
\$\begingroup\$

I have an atmega168pb and I've noticed that there is a difference in how the board can be programmed between Windows and Linux.

On Windows using Atmel Studio you can select an ISP interface and it automagically programs the board through the USB port. However since Atmel Studio is not available on Linux an external programmer is needed. This irks me because hypothetically I would need to buy hardware to provide a solution that is already exists in a software implementation.

Is there a way to flash an AVR chip on Linux without the need for an external programmer, like an AVR-ISP for example?

\$\endgroup\$

closed as unclear what you're asking by Chris Stratton, Turbo J, RoyC, Dmitry Grigoryev, laptop2d Oct 15 '18 at 20:13

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    \$\begingroup\$ atmega168pb doesn't have a USB interface. How exactly is it programmed via USB in Windows? \$\endgroup\$ – Dmitry Grigoryev Oct 15 '18 at 8:16
3
\$\begingroup\$

The ATmega168PB does not feature an USB interface. What you have there is either

  • an evaluation board with a built-in ISP programmer

or

  • a board with a USB-RS232 converter and a pre-flashed bootloader on the µC which employs self-programming of the other parts of the on-chip flash ROM through the RS232 pins.

You cannot flash an ATmega168 coming fresh from factory without an external programmer.

I strongly recommend to buy or build an ISP programmer. You will need it from some point on.

\$\endgroup\$
  • 2
    \$\begingroup\$ An ISP programmer need be nothing more than an Arduino temporarily running an ISP sketch... \$\endgroup\$ – Chris Stratton Oct 14 '18 at 0:58
  • \$\begingroup\$ The GPIOs of a Raspberry Pi (or any other Linux box with at least four free-for-use GPIOs). Avrdude supports that. learn.adafruit.com/… \$\endgroup\$ – Janka Oct 14 '18 at 1:05

Not the answer you're looking for? Browse other questions tagged or ask your own question.