ATmega328 and PlatformIO - no Arduino!

Поділитися
Вставка
  • Опубліковано 28 сер 2024
  • Should I abandon Microchip (Atmel) Studio for programming AVR microcontrollers?
    PlatformIO, an extension for VSCode, allows not only to program Arduino code, but also plain avr-gcc including the upload with an USBasp programmer.
    A student of mine showed me how to configure platformio and I had to find out that the avrdude which comes with platformio is somewhat limited in its functionality.
    The necessary changes to the project's platformio.ini which I used in the video are:
    [env:ATmega328P]
    platform = atmelavr
    board = ATmega328P
    board_build.f_cpu = 1000000UL
    upload_protocol = custom
    upload_flags = -pm328p
    -Pusb
    -B4
    -cusbasp
    upload_command = "C:\Program Files (x86)\AVRDUDESS\avrdude.exe" $UPLOAD_FLAGS -U flash:w:$SOURCE:i

КОМЕНТАРІ • 26

  • @siegmundeurades5753
    @siegmundeurades5753 Рік тому +4

    I couldn't figure out why PlatformIO and AVRdude weren't playing nice with each other, I was just about done trying when I found this video.
    Good explanations and very useful information!

  • @serdartoren
    @serdartoren Місяць тому

    Arduino framework increases RAM usage a lot and I don't like cpp files.
    This is exactly what I was looking for, hopefully I'll be able to compile it into a much smaller size

  • @Jesperrnyman
    @Jesperrnyman 3 місяці тому

    Thank you so much!! Had so much problem with microchip studio so I really needed this😁

  • @fransrademacher2877
    @fransrademacher2877 2 роки тому +2

    Tack Uwe!! du är bäst!!!

  • @shubhamforme3
    @shubhamforme3 2 роки тому

    Thanks it was much needed , was searching for the same everywhere , very well explained.

  • @zdzisiekkolmaga6383
    @zdzisiekkolmaga6383 Рік тому

    Thanks a lot, your video saves a lot of my time. I am just switching from Arduino IDE to PlatformIO.

  • @viniciuslongo4622
    @viniciuslongo4622 Рік тому

    worked like a charm in Ubuntu, thanks!

    • @comod
      @comod 8 місяців тому

      With the same tweaks or out of the box?

  • @Patten42
    @Patten42 11 місяців тому

    "I know I write code, I don't need comment" 😂Thanx for the tutorial!

  • @Jptoutant
    @Jptoutant 11 місяців тому

    Hey sir GREAT video! Btw what is the programmer you use to flash the chip? I would like to find an alternative to the expensive Atmel Ice

    • @uwezimmermann5427
      @uwezimmermann5427  11 місяців тому +1

      I have my own construction based on Thomas Fischl's USBasp which is open source. There a lot of commercial clones of the USBasp available from Aliexpress, eBay etc. They cost somewhere between 3$ and 10$

  • @Omar.bin.khattab
    @Omar.bin.khattab Рік тому +1

    thanks so much , can you help me !! how can i set linker options like (-wl,-u,vfprintf) to support floating inside platormio using vscode

    • @uwezimmermann5427
      @uwezimmermann5427  Рік тому +1

      I haven't tried it yet, but I am just starting again for this autumn now with my students, so I might soon have a chance to explore it more... But essentially you should be able to add build_flags in platformio.ini
      docs.platformio.org/en/latest/projectconf/section_env_build.html#projectconf-build-flags

    • @Omar.bin.khattab
      @Omar.bin.khattab Рік тому

      @@uwezimmermann5427 thanks so much

  • @sto2779
    @sto2779 Рік тому

    4:24 - "board_build.f_cpu" is part of the AVR's SDK syntax?

    • @uwezimmermann5427
      @uwezimmermann5427  Рік тому

      it's part of the PlatformIO configuration syntax, but essentially it sets the F_CPU macro in gcc.

  • @eroltube100
    @eroltube100 Рік тому

    Thank you for good explanations. I wonder whether I can use simulate this led blinking under platformio? (I use linux.)

    • @uwezimmermann5427
      @uwezimmermann5427  Рік тому +1

      It is very difficult to realistically simulate microcontroller code. The microcontroller is supposed to react to events from the outside in realtime...
      There are emulation/simulation tolls around, but as far as I know none is integrated into PlatformIO.

    • @eroltube100
      @eroltube100 Рік тому

      @@uwezimmermann5427 Thank you

  • @skmplanet9591
    @skmplanet9591 2 роки тому

    Can you please tell me how program AT89S52 using platformio in linux without kiel

    • @uwezimmermann5427
      @uwezimmermann5427  2 роки тому

      Sorry, no, I have no experience with x52-microcontrollers. Everything is different from the AVR-family.

  • @nurbektech
    @nurbektech 2 роки тому

    Hi! how to make in macos with attiny13 microcontroller?

    • @uwezimmermann5427
      @uwezimmermann5427  2 роки тому

      Firstly, I don't know why anyone would want to program something using a Mac...
      Secondly, you start a new project in VSCode/PlatformIO and select ATtiny13 as a platform. All you then need is a programmer which is supported by avrdude, grant the necessary access (however that is done on a Mac I don't know, but you can try the different Linux-tips from my previous videos), connect the ATtiny to the programmer's MOSI/MISO/SCK and flash your code.

  • @dominicamoakobaah9516
    @dominicamoakobaah9516 2 роки тому

    How close is this to CMake?

    • @uwezimmermann5427
      @uwezimmermann5427  2 роки тому

      I have absolutely no insight into CMake, but in this video I present a plugin to VSCode - a complete IDE, which can be easily used even by people who feel uncomfortable on the commandline.
      I would say it has nothing to do with CMake and is not comparable in any way - apart from the fact that both can be used to produce code.