2
\$\begingroup\$

Atmega8 development board

This is the image of the dev board consisting of an Atmega8-16PI chip and an L293D motor driver chips .It was was given to me by a friend and I am really curious on how to use it but I didn't find any way to use it on the internet .

Research: I found out how to program and use an arduino uno from the arduino IDE but those boards have a usb programmer on the board itself which I assume is used to communication between the atmega chip and IDE , but clearly my board does not have a programmer in it but it still has a female usb type b port so that means it has some other ways of communicating with the chip. I tried to use the arduino ide but had no luck.

I ready to use ardude but do not know programmer to specify in the command avrdude -c.

If anyone knows how to use this board please tell me .I am a beginner so please forgive me for any mistake I did.

\$\endgroup\$
4
  • \$\begingroup\$ You should read this sparkfun.com/datasheets/Robotics/MicroCamp2_e.pdf It is "quasi" the same board. \$\endgroup\$
    – Antonio51
    Commented Aug 25 at 8:30
  • \$\begingroup\$ are you sure the USB port even has its data wires connected to your Atmega? You sadly only show one side of the board, but from here, it looks the USB port is only used for its +5V VBUS and its GND. And even if it was connected, your assumption "so that means it has some other ways of communicating with the chip" is wrong; it does not. \$\endgroup\$ Commented Aug 25 at 11:29
  • \$\begingroup\$ By the way, I'm not sure I'd want a motor driver development board based on the L293D; that thing is bad (very high losses, needs high supply voltage, can drive little motors before it gets too hot) and obsolete at least since the mid-1980s. With a 5V supply and a 0.6 A motor, you can only drive about +-2.4 V through the motor! More than half the power you would get from your 5V get lost in the L293D chip. That's simply no good. \$\endgroup\$ Commented Aug 25 at 11:59
  • \$\begingroup\$ (whether or not the ATMega8 is a good microcontroller for beginners can be debated. I'd say it's not, it's expensive, hard to program, you need specific programming hardware and it's very, very slow and limited. Others point out that unlike some other microcontrollers, you can program it in assembler in a cycle-accurate way. I don't think you'll ever want that in a motor control application, because you should be using other facilities in the chip to achieve the same as you can using cycle-accurate programming.) \$\endgroup\$ Commented Aug 25 at 12:07

2 Answers 2

3
\$\begingroup\$

It appears that your board has no bootloader ready. You will need to flash the microcontroller (MCU) directly. For this you need a special electronic tool called a programmer.

AVR microcontrollers like the Atmega8 receive their program through ISP. ISP is short for in-system programming. This communication protocol is specific for older Atmel microcontrollers. Therefore you will need an ISP programmer for this board.

Once you have such an ISP programmer, you need to connect it to specific pins of your microcontroller. Normally devboards have an extra connector just so that you can directly plug in your programmer. Sadly your board does not seem to have this connector. Therefore you need to connect each pin manually using the available connector pins and maybe even connecting directly to the MCU pins.

You can then flash your program using tools like Microchip Studio, AVRdude or similar. You might even be able to use a program written with the Arduino IDE. The IDE will compile your program into a binary file, which is then sent trough the programmer onto the MCU.

A programmer can be used to flash/program a bootloader onto an MCU. Afterwards the MCU can receive a new program e.g. through serial communication from USB. However, I expect that an Atmega bootloader with direct USB connection is very difficult or even impossible. Arduino use a separate MCU just to provide the programming through USB that you are used to from the Arduino IDE.

\$\endgroup\$
0
\$\begingroup\$

Grebu's answer convers this topic quite well, but one thing was not mentioned:

  • You can use your Arduino as a programmer for other AVR chips.

Just stick with AVR-based variants of Arduino which use 5 Volt logic, so you do not have to solve problems related to having different I/O voltages.

You can even flash an Arduino bootloader on your board to get Arduino-like experience when developing for this board, but unless it has a UART-to-USB chip on the board, you will have to connect it via a serial port. You can get one of relatively cheap adaptors, but make sure that you can drive the reset pin of the AVR using the adaptor. (It is usually mapped to the DTR pin of the serial port, IIRC.)

And of course, you have to do RS232 to 5 Volt UART conversion. Do not connect the chip directly to your COM port, bad things would happen. ;)

See also: https://www.arduino.cc/en/Tutorial/ArduinoISP

\$\endgroup\$
2
  • 1
    \$\begingroup\$ If you say to get a USB UART adapter, you might as well tell to get a 5V TTL adapter instead of RS232 so then you don't need any separate RS-232 level conversion. \$\endgroup\$
    – Justme
    Commented Aug 25 at 16:25
  • \$\begingroup\$ @Justme, thanks. Feel free to edit. \$\endgroup\$
    – jwo
    Commented Aug 25 at 16:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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