Getting back into Arduino #1

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 ต.ค. 2024
  • JLCPCB Prototype for $2(Any Color): jlcpcb.com
    Nothing works... until I fix it :)

ความคิดเห็น • 225

  • @ayupworld
    @ayupworld 4 ปีที่แล้ว +23

    As a new (old) guy to arduino's I've been watching a lot of videos to learn. I recommend those from a guy called "Julian Ilett". He showed me how to use a Uno to burn optiboot bootloader onto a nano so I don't have to use "old bootloader" in the IDE and it compiles much faster=)
    Please continue with more arduino stuff. Love your videos, they help useless old gits like me, immensely!

    • @JulianIlett
      @JulianIlett  4 ปีที่แล้ว +5

      Ha ha - how easily we forget stuff. At the time, the only benefit of the 'new' bootloader was its size (1/4 the size IIRC). But if it also speeds up compilation, that's cool :)

    • @trinidad17
      @trinidad17 4 ปีที่แล้ว

      Is that the same Julyan Ilett form the How to use smart L.C.D.s article?

    • @____________________________.x
      @____________________________.x 4 ปีที่แล้ว +1

      @@trinidad17 - different guy, you are thinking of Julian Lyet, the popular youtuber

  • @bobahnjr
    @bobahnjr 4 ปีที่แล้ว +19

    Just went thru the exact same thing with the 'old' boot loader, I'm 67, so....... I guess I'm just an old boot loader too!! Keep up the Arduino projects .

    • @juststeve5542
      @juststeve5542 4 ปีที่แล้ว +1

      I remember all the fun of having a random mix of bootloaders a few years ago. IIRC the "new" one (at least at the time) was the Optiboot one.
      I got so annoyed I built a dedicated bootloader flasher so I could go round and just make everything "new".
      And guess what... Even to this day I occasionally still find an old one! lol!

    • @vonries
      @vonries 4 ปีที่แล้ว

      @@juststeve5542 so of you update the bootloader, then everything should start running with no problems using the new libraries?

  • @opsahle2
    @opsahle2 4 ปีที่แล้ว +28

    Due to this I have started storing libraries with the sketch, then include them with «library.h» in stead of . It does not solve everything, but at least removes the risk of the library not working x months/years from now.

    • @kitecattestecke2303
      @kitecattestecke2303 4 ปีที่แล้ว

      This

    • @ithaca2076
      @ithaca2076 4 ปีที่แล้ว

      Smart man

    • @urugulu1656
      @urugulu1656 4 ปีที่แล้ว +1

      you mean "library.h" right? but yeah that works just fine

    • @jeffbluejets2626
      @jeffbluejets2626 4 ปีที่แล้ว

      Yes, I do the same. Been caught too many times.

  • @kazzle101
    @kazzle101 4 ปีที่แล้ว +9

    You should get Visual Studio Code installed (not to be confused with Visual Studio) and add the PlatformIO plugin. As a programming environment it is so much better than the Arduino IDE, you get things like Intellisense - variable name checking and things. In PlatformIO all the Arduino libraries, boards, 3rd party libaries and a shed load of compatible boards, like the Teensy are included.

    • @TKomoski
      @TKomoski 4 ปีที่แล้ว +1

      That what I use very intuitive

    • @trinidad17
      @trinidad17 4 ปีที่แล้ว +1

      Also and most relevant you can make it use specific versions of you dependencies instead of relying on the Arduino IDE.

  • @reeseyme9613
    @reeseyme9613 4 ปีที่แล้ว +8

    guess i saw this coming like years.... before and thats why i archived every existing IDE releases i used and the added cores directories back then.
    hell.... i even wrote batch script for the recovery 👍👍👍

  • @HazeAnderson
    @HazeAnderson 4 ปีที่แล้ว +5

    Dependencies will always break ... the great part about libraries is all the functionality you get. The price you pay is having to update it continually for as long as you depend upon it. I am traditionally a software engineer -- I assure you, all software runs this way. We are getting better at it though. ;)

    • @JulianIlett
      @JulianIlett  4 ปีที่แล้ว +1

      I suppose it's a bit like being dependent on your parents when you're a young kid. It has its benefits, but also its downsides :)

    • @ecosta
      @ecosta 4 ปีที่แล้ว

      Julian Ilett - more like it when your parents move out constantly and you have to make new friends every time.

  • @juststeve5542
    @juststeve5542 4 ปีที่แล้ว +11

    Julian, no it's not just you. I'm continually driven insane by people changing libraries and not making things backward compatible!
    So dear library writers, when you add a new feature (which might require a new parameter), either overload the function definition so it'll work with old code, or create a new function call.
    Even Microsoft manage to do this.
    It's common sense. How would you feel if one day your local petrol gas station suddenly defined the new pump nozzle standard as being 3 inches across and square? That's exactly what you're doing!

    • @HazeAnderson
      @HazeAnderson 4 ปีที่แล้ว +1

      I always deprecate methods and wait a few years before I remove them. Anyone can write code. ANYONE can write code. Takes a lot more to write backwards compatible code that is free of bugs.

    • @hugovangalen
      @hugovangalen 4 ปีที่แล้ว +1

      It is not just Arduino -- it happens to every SDK and library...
      I read once that "Backwards compatibility is the source of all evil". I didn't agree at the time but I guess I was young and naive. Now I am older and wiser, and most bugs I discover in my day job are due to so called "clever" backwards compatibility. So now I tend to agree -- most of the time it's "better" to break things as to force a rewrite of apps using re-designed libraries rather than trying to keep things working with unforeseen side-effects, code compilable but introducing serious bugs. Worse case, programs depend on side-effects of the old libraries that no longer exist in the new libraries can cause serious subtle bugs later... If you want your old projects to keep working, better never upgrade the SDK, or keep a backup of the old SDK.
      (If a new type of petrol could cause serious harm to old cars, then petrol stations would for sure use incompatible nozzles. It is a safety feature! :))

    • @juststeve5542
      @juststeve5542 4 ปีที่แล้ว +1

      @@hugovangalen in big software projects I could agree with you to an extent (but as I said, Microsoft managed by adding the _EX functions to later versions of windows, with a threat to depreciate the old ones after several years - although I've seen many supported for over 10 years!).
      For small projects like a library to drive an LCD panel, or communicate with a particular IC, there really should be no need for change unless the panel or IC change, in which case it's a new library or function.
      @Haze - I know, and unfortunately many do! Just some of us have done it professionally for 20+ years ;-)

    • @hugovangalen
      @hugovangalen 4 ปีที่แล้ว +1

      @@juststeve5542 Steve Evans Microsoft was notorious for producing a very crash prone operating system for decades, so I am not sure that is the best example, its old APIs are still a source of vulnerabilities :)
      But yeah, small changes could be dealt with more end-user friendly but in most cases, especially after years, libraries are overhauled due to poor initial design choices. Choices that later prevent adding support for newer hardware or implementation of new features. Hindsight is 20/20 vision, but it's impossible to design a stable API from the get-go and maintain that infinitely. That is a pipe-dream. Better to just freeze the old API and release a new library with a major version increase. Then old code still works and new code can use new libraries and features...

    • @ecosta
      @ecosta 4 ปีที่แล้ว

      That’s not only library writers. Even Arduino itself with this “old bootloader” non sense. I wonder what will be their plan if they upgrade it again... “old old bootloader”? “Older”? “Ancient”?

  • @tom95076
    @tom95076 4 ปีที่แล้ว

    I spent two evenings and then this morning following this rabbit hole. your work is always great and I appreciate the work you put into this videos.

  • @nickpelov
    @nickpelov 4 ปีที่แล้ว +43

    It's not just you. The programming in general these days is more like fashion - what's good today is crap tomorrow, so you have to completely rewrite your code. I hate this bullshit. If you think arduino is hard to compile in few years try developing for android...

    • @WolfgangMahringer
      @WolfgangMahringer 4 ปีที่แล้ว +2

      So true.

    • @yeet1337
      @yeet1337 4 ปีที่แล้ว +1

      Oh my god thinking about android must be an absolutely utter nightmare. Like every 6 months another new android version with yet another newer sdk version. And on top of all of this google will force programmers using newer sdks every now and then so that they keep movin on. Not even mentioning the IDE, libraries and so on...

    • @LimbaZero
      @LimbaZero 4 ปีที่แล้ว

      I have been fighting should I go more to arduino or keep "bare metal" stuff. Arduino is fine for quick testing and if you don't plan to change it after or don't need new features after few years.

    • @rowifi
      @rowifi 4 ปีที่แล้ว

      @@LimbaZero I hate Arduino. I use Avr studio. A proper debugger etc, but so many people release libraries for Arduino you'd think it was some kind of Panacea for professional coding.

    • @LimbaZero
      @LimbaZero 4 ปีที่แล้ว

      @@rowifi I think only thing I have done with arduino was usb volume control buttons for index headset (STM32 bluepill). Now checking WLAN stuff with ESP8266/32. Most fun was with Zynq chips. VHDL and C with linux. VSCode will allow debugging for arduino. I currently have AVR Dragon and plan to get pickit4. Discovery boards are nice for STM32 debugging.
      Note:
      I also hated arduino at first. Now I think is ok for those who don't want to learn embedded software, deeper functionality of chip or protocol and they want something quick. I usually use it to cut corners.

  • @RoterFruchtZwerg
    @RoterFruchtZwerg 4 ปีที่แล้ว +3

    same with PlatformIO, I hate it. Reinstalled VSCode, Python and PlatformIO twice today and it still only shows "loading" when I try to create a new project 😤
    These Software stacks that rely on thousand libs break all the time with no meaningful error...
    20 years ago an IDE was one exe file and it just worked.

  • @Ilikeridin
    @Ilikeridin 4 ปีที่แล้ว +1

    So happy to see an Arduino vid! Glad that it’s not just me who has these issues. I thought it was down to my inexperience at first but it turned out, some software/lib had been updated.

  • @oafpolitics179
    @oafpolitics179 4 ปีที่แล้ว +1

    I remember moving from dos/unix based programming to windows. And you hit teh nail on the head. Too many libraries to remember and keep up to date. Embedded was always 6502 or 8088. About to play with arduino for a hall-effect analogue joystick (which I think it might be fun to make into a digital joystick!), so the intro on the frustrations I am about to hit is most welcome!

  • @kmvadnais2804
    @kmvadnais2804 4 ปีที่แล้ว

    Julian, you crack me up. Love your videos. I've learned so much over the years. Please keep them coming.

  • @sza1940
    @sza1940 4 ปีที่แล้ว +16

    I had a really bad development experiance with the original arduino IDE. My code sometimes complied sometimes not, even when nothing changed. Like once i had to ctrl+x out the whole code then paste it back to complie... unstable AF....
    In my opinion the Visual Studio Code IDE with PlatformIO extension is the best adruino development tool ever. You can install specific version of libs, update on demand. it supports a load of boards (including esp8266). has code auto completion and you can dig into library code with F12 on funcion calls.

    • @SpeccyMan
      @SpeccyMan 4 ปีที่แล้ว +2

      The only issue with VSCode is it has a very nasty habit of bloating your source directory. I use Atom Editor with PlatformIO instead.

  • @spu3
    @spu3 4 ปีที่แล้ว

    LOL - Thank you for the early morning chuckles! I too am in my mid 60's and spent a serious amount of time programming using machine language, BASIC and FORTRAN. Thank you for the heads-up as I was just getting back into some of my ARDUINO projects and I'm sure I will have more than one surprise when I upload some old sketches!

  • @ElmerFuddGun
    @ElmerFuddGun 4 ปีที่แล้ว +2

    Don't spell your files/folders wrong! They can be hard for YOU to spot later so just rename them with "OLD" or whatever best describes it. If you rename _library_ to _OLD-library_ it will be easy to spot and find later. Sort by name or search for OLD and you will find ALL your changed old files and folders. A year from now you will be wondering why someone spelled those wrong but the OLD ones you will know why.

    • @JulianIlett
      @JulianIlett  4 ปีที่แล้ว

      Possibly, but my mind does work in peculiar ways :)

  • @MrTellyBelly
    @MrTellyBelly 4 ปีที่แล้ว

    That is amazing - that is exactly what I did a few weeks ago - go back to the Arduino after about a year and a half. I have all the stuff but having to remind myself of how to use it - hence I am on this channel .....again. I am actually looking forward to doing it all over again.

  • @syntaxrigger
    @syntaxrigger 4 ปีที่แล้ว

    I loved this whole video. I forgot how much I enjoyed you videos.

  • @brendethedev2858
    @brendethedev2858 4 ปีที่แล้ว

    The screen was a perfect size. I like being able to see all the screen at once like that! Great video and it's nice to see you back!

  • @pfeerick
    @pfeerick 4 ปีที่แล้ว +1

    The hazards of installing new versions of the IDE, compiler toolchain (AVR toolchain is bundled with the current generation of the Arduino IDE), and libraries... things are no longer compatible with each other! :( This was one of the main reasons I have switched to PlatformIO + VSCode. VSCode provides the IDE, and PlatformIO does the compilation - and allows explicit control over versions of the toolchain and libraries used. End result, I have the choice of following the trends and latest version, or locking off the version of stuff for extended support and reliability.
    Your first error about the build.board preference is because in your hardware folder you had a custom board definition for the "ATmega328 on a breadboard (8 MHz internal clock)" which because of it's age doesn't set that preference. I added that on my copy, but have also renamed the hardware folder 'hardware.old' in the past ;) You can actually do away with that board entirely now if you use MCUdude's MiniCore board support package, as that provides the 8Mhz RC oscillator option, and is a up-to-date package. The later linker plugin are most likely because you have an old version of the AVR toolchain still installed locally, but the build scripts are newer, so it's using parameters that weren't valid before. A Tools -> Board -> Board Manager and an update of any out-of-date toolchains would most likely have fixed that.
    btw, library examples are in the File -> Examples menu. I'm sure it'll all start coming back to you... just need to liven those cells up a bit again! ;)

  • @Boopadee
    @Boopadee 4 ปีที่แล้ว +1

    Maybe I've missed it in the video, but why not roll back the library version? Even if you've imported the library such that you're not getting versioning, you can still go to the source repo and roll back to the time you originally used the library

    • @lucasc5622
      @lucasc5622 4 ปีที่แล้ว

      stick with old libraries and you’ll get left behind

  • @Enigma758
    @Enigma758 4 ปีที่แล้ว

    You can always make backup copies of your libraries if you are concerned that the interface might change. Of course the risk in that is that you will miss out on bug fixes and updates.

  • @arifanwari3168
    @arifanwari3168 4 ปีที่แล้ว +2

    Welcome back Julian you've been missed bud.

  • @nabilandadamslaboratory3422
    @nabilandadamslaboratory3422 4 ปีที่แล้ว

    Hey Julian,
    In your Postbag #66 you mention a viewer sent you a clever way to isolate the li ion chargers. You said you will address it in a future video. I haven't been able to find that video. What is the clever method?.
    Cheers!

  • @stuartbrownlee3108
    @stuartbrownlee3108 4 ปีที่แล้ว

    When I was putting together my WS2812B led array illumination system for an n-gauge Ferris Wheel last year, I decided to just use 2 PIC12F675s to handle all the outputs that I needed. (At one point I was going to use a 16F616, but was having trouble getting my PICKit1 programmer to flash the chip - this was later sorted out when I got a PICKit3 that runs on my Ubuntu machine - after fiddling around with a few bits and pieces such as the voltage level - it wanted something like 4.6875v - I was happy to be finally able to program the chip on the breadboard, but for now I won't be using this processor, although the stripboard circuit does have 2 14 pin sockets just in case I change my mind). Needless to say, I did not compile anything, because with 35 instructions, what'd be the point (also, considering the strict timing requirements, pure machine code would be the logical choice). The only other thing I would say is that why 24 bits are needed for each LED (I'd sooner have just 256 colours like in the GTIA modes of the Atari 8 bit)...er...the PWMing on the 8050 doesn't appear to realistically address 16.7 million colours - and the higher luminances just are blinding...also, amusement park illuminations don't really need anything like all that...no arduino libs needed, thank you! Incidentally, the bits and pieces used for the led arrays are 8 led 'struts' (Adafruit 8 led segments), an Adafruit 'jewel' for the centre piece, and two TruOpto strips for the outer rim lighting. I thank you for demonstrating how to connect the 16Mhz crystals to the 12F675s...

  • @californiakayaker
    @californiakayaker 4 ปีที่แล้ว

    Yes, this is happening to me, and its sketches I really need. The main one is the scope error. I put the was it declarations line in a different spot and got another error. This sketch must have worked when it was written ? Frustration to the max because I had a great plan for this sketch.

  • @AndyCallaway
    @AndyCallaway 4 ปีที่แล้ว +1

    I understand your frustration. I hate it when these Oompa Loompas keep changing things, for no apparent reason. Damn annoying.

  • @user-marco-S
    @user-marco-S 4 ปีที่แล้ว +1

    Some years ago i had an arduino uno (clone, i think) in my hands to program it for someone with a script found on internet.
    The computer didn't see the arduino. It seemed that the ic for the usb was not programmed. I ended up programming the arduino using a cable between the parallel port and the icsp connector.

  • @sdgelectronics
    @sdgelectronics 4 ปีที่แล้ว

    I'm with you Julian. I just rebuilt some PIC code from 15 years ago and it built exactly as it did all that time ago.

  • @robfenwitch7403
    @robfenwitch7403 4 ปีที่แล้ว +1

    Examples are in the File menu. You can update boards in Tools | Board > Boards Manager

  • @pileofstuff
    @pileofstuff 4 ปีที่แล้ว +4

    Yay! An arduino video!!
    Boo. Software headaches.

  • @WhiteError37
    @WhiteError37 4 ปีที่แล้ว +1

    This is like watching a recording of myself 😂 is it worth just reinstalling the software so it's all new and no old archive folders that can cause errors. I haven't worked with Arduino yet literally soldering a nano when my cable comes for my ts100 tomorrow so idk if reinstalling the Arduino software would help. Anyway great video

  • @DanielLopez-kt1xt
    @DanielLopez-kt1xt 4 ปีที่แล้ว +3

    I recommend you to use Visual Studio Code with PlatformIO, it allows you to keep the version of the different IDE and libraries for each project, so it doesn't matter how many years and updates has passed, you still keep it as the day you wrote it (and to share it it's perfect, for the very same reason, and you can keep programing something with the old libraries if u're used to them)

  • @Godshole
    @Godshole 4 ปีที่แล้ว

    Need to nip to the loo and find myself clicking furiously on your open page X in the video, having had my brain melt a bit and saved this in favorites for later. Maybe it's not my loo I need, maybe I should just go to bed! Hope you do a bit more arduino stuff. I have my first UNO in a box, waiting for my Rolson head eyes to arrive so I can see the breadboard.....

  • @vibasept7733
    @vibasept7733 4 ปีที่แล้ว

    Wow what a coincidence i just got back to arduino and the same lcd last night and just saw your video!

  • @DansKoiPond
    @DansKoiPond 4 ปีที่แล้ว +3

    Havent updated since 1.8.5 for this reason - i have a problems as it is without introducing more issues.

    • @ArcanePath360
      @ArcanePath360 4 ปีที่แล้ว +2

      1.6.7 here. Original install when I got into it. Never had a problem so I won't change it until I do. I need continuity as I often revisit old code on things I've made.

  • @egae6782
    @egae6782 4 ปีที่แล้ว

    Nice! Have you done or considered using Atmel Studio to program arduino. Since the main chip is from atmel. Atmega255p if i remember correctly.
    In uni we used atmel microcontrollers, but I managed to be able to program cheap arduino knock-off with pure C. Using atmel studio.

    • @urugulu1656
      @urugulu1656 4 ปีที่แล้ว

      atmega328p in this case and every even half genuine atmel chip i came across was programmable in pure c (just like just about every other platform on the planet) only you have to get an isp since atmelstudio and avrdude while being able to work together are just a bit annoying as a combination...
      but yes i can only advocate for that route.
      if you want something done the right way do it yourself.

  • @jlucasound
    @jlucasound 4 ปีที่แล้ว +1

    Julian!! You heard me!! Arduino!

  • @SpeccyMan
    @SpeccyMan 4 ปีที่แล้ว +1

    There's a lot to be said for using gcc-avr with a makefile the old way. Being also 58, I am one of those old geezers who sees change as just an excuse to fix things that aren't broken.

  • @mrroobarb
    @mrroobarb 4 ปีที่แล้ว

    Having the same issues with ESP8266 - I have a project that's been working for over a year and needed to make a small adjustment. Original code compiles but doesn't perform as expected - back to square one...

  • @maicod
    @maicod 4 ปีที่แล้ว

    Arduino IDE should have a save project function where it stores copies of the libraries into the sketch folder and alter the pointers in the sketch to that.

  • @D4no00
    @D4no00 4 ปีที่แล้ว

    This problem tends to happen a lot in software industry. Usually the fix is to use strongly named versions of libraries and of the environment. For this to be achieved, you usually require a dependency management software (mix for elixir, gradle for java).
    The thing you mentioned about assembly code is simply not achievable nowadays, when you can program arduino on a big variety of chips that have different architecture, not to mention how complicated would be to understand some of the more advanced code with tricks done to optimize it.

  • @LegacyMicro
    @LegacyMicro 4 ปีที่แล้ว

    Hope you also get back into Buck and Boost converters... This was my goto channel for step-up/down modules. You do a great job reviewing them. Cheers!

  • @brainfornothing
    @brainfornothing 4 ปีที่แล้ว

    Is for that I save the old libraries in my project folders, just in case, and sometimes even the old IDEs (TASM, Turbo C++, Arduino IDE, ...). I still use the older versions of "LiquidCrystal" and "CountUpDownTimer-master" Arduino libraries, they work just fine for me. Thanks for sharing !

  • @AndreasA.S.
    @AndreasA.S. 4 ปีที่แล้ว +1

    you need to define what you are programming too, so, identify the board and look under tools>boards menu, add a new board that matches what you are using. first error is the only one to solve, errors after it are usually based in that error.
    what i like to do is put an empty "portable" folder into the fresh Arduino directory from a zip (not installed), that will allow you to keep a fully isolated directory for individual projects with boards and libraries for a working final product archive.
    i also have a custom blink (timelord heartbeat) so i know its "blink"

  • @sebi7794
    @sebi7794 4 ปีที่แล้ว +1

    It might be good practice to create a new folder for every of your projects where you put your complete (portable) Arduino IDE, libraries and code inside. This way you can start later, where you stopped previously withtout fiddling around.

  • @isoguy.
    @isoguy. 4 ปีที่แล้ว +1

    I'm not old but still have the same issues, let's go back to 8080 /8085.

  • @trinidad17
    @trinidad17 4 ปีที่แล้ว

    The way to solve the code breaking is to use dependency management, and you need to include both the arduino and other libraries you used. The Arduino IDE has something like that but it's global, and unless you plan to always use the same version of the same libraries in all your projects present and future, it's not a good solution.
    The simplest form of this is having a git repository with git-submodules of each external bit of code your depends on. The best way of doing this is with dependency management software, aka package managers.
    Some more professional environments allow this like PlatformIO (for Arduino and many others) with the lib_deps option, and mbed (for ARM) which does it by default. Saving your project references with a specific version or even commit from a library and you only upgrade if you want to. Also having the option to have a local copy of the files you depend without taking for granted that the repository (or even github itself or whatever) will exist in 5 years from now when you need that project again.

  • @startobytes
    @startobytes 4 ปีที่แล้ว +4

    Hi, could you make a Video about how to use the 74hc595n with Arduino Uno

    • @urugulu1656
      @urugulu1656 4 ปีที่แล้ว

      das ist doch trivial... daten und takt an spi latch signal an io pin und dann einfaches spi byte senden. ...
      gibt im übrigen auch schon jede menge solche videos

  • @Ed.R
    @Ed.R 4 ปีที่แล้ว +1

    If this ever happens to me I just use an app on my phone instead. There are 2 available ArduinoDroid and Bluino Loader usually one will work. Both apps are surprisingly good and quicker to compile than the official laptop IDE.

  • @Dextermorga
    @Dextermorga 4 ปีที่แล้ว +1

    Pure frustrationion, hmm and when I saw this video, I thought for my self: let's revisit Arduino after few years. Now I end up with so many memories. Similar to those in the video.

  • @jeffflowers5489
    @jeffflowers5489 4 ปีที่แล้ว

    Can't you choose which version of a library release to download?

  • @ArcanePath360
    @ArcanePath360 4 ปีที่แล้ว

    I've never had a problem with Arduino, but then I don't ever upgrade it. Still using the same one I installed years ago: 1.6.7.
    I don't like patching ever, for this very reason. When Microsoft updates Windows I find things stop working, which is why I stuck with 7, which lets you choose which updates you want. If it isn't broke.....

  • @anvz6
    @anvz6 4 ปีที่แล้ว +1

    I don't know why, but under linux Arduino compilation is far faster than in windows...

  • @Unordung
    @Unordung 4 ปีที่แล้ว +6

    Glad you're back with the Arduino mate. Sending some charred wet love from Aussie land!

    • @JulianIlett
      @JulianIlett  4 ปีที่แล้ว +2

      Very happy you've got a bit of rain. We've got a weekend of wall-to-wall sunshine - but it does mean having to scrape ice off the car windscreen first thing in the morning :)

    • @trottx
      @trottx 4 ปีที่แล้ว +2

      It's heartbreaking to see the devastation. Be safe dude.

    • @Unordung
      @Unordung 4 ปีที่แล้ว

      @@JulianIlett Yeah the rains came just in the nick of time for quite a few people, they are predicting a fairly wet Fab so that's a good thing. I would trade you our heat for your cold anytime, it got to 34°C here today.

    • @JulianIlett
      @JulianIlett  4 ปีที่แล้ว +1

      Let's invent BitWeather where warmth and cold can be traded using blockchain. But seriously, here's hoping you have a Fab wet Feb :)

  • @DetlefAmend
    @DetlefAmend 4 ปีที่แล้ว

    Welcome to Library Hell, Julian!
    Yeah, like in the good old DLL-Hell days, that's a major problem for longer term projects. I have several Arduino IDEs on USB Sticks, and I normally do a Version Freeze for all those programs, that may be needed in the future. The gets even worse when you're using non-Arduino MCUs like an ESP8266.
    On Arduino - newer isn't always better.

  • @striker8paints
    @striker8paints 4 ปีที่แล้ว

    Oh boy, it's been a few years since i tinkered with arduino. Not relishing re learning what should be a base line.

  • @GigaPlaya
    @GigaPlaya 4 ปีที่แล้ว

    Which microcontroller has libraries that are backward compatible forever?

    • @urugulu1656
      @urugulu1656 4 ปีที่แล้ว +1

      every microcontroller has since that is not a Problem of any particular microcontroller and rather the community behind it that uses it and writes libraries for it. anyway libraries that are backwards compatible for ever are either those that are either feature complete, deprecated, or just orphaned...

    • @urugulu1656
      @urugulu1656 4 ปีที่แล้ว

      @@GigaPlaya appearently you can not read since my words are clear...

  • @cthoadmin7458
    @cthoadmin7458 4 ปีที่แล้ว

    Post bags! Post bags more post bags Julian! Weird gadgets, new eBay stuff. More, please more...

  • @plymouthrovadventures.646
    @plymouthrovadventures.646 ปีที่แล้ว

    58 You still in your prime. Love your videos.

  • @jeffflowers5489
    @jeffflowers5489 4 ปีที่แล้ว +2

    Many arduinos come with Blink loaded. I guess it’s a factory test.

  • @philpayne4579
    @philpayne4579 4 ปีที่แล้ว

    Hope you get some ESP32's to play with. Would be excellent for monitoring the status of all of your batteries and charge controllers remotely

  • @johnstephenson2891
    @johnstephenson2891 4 ปีที่แล้ว +1

    That stuff happens to me all the time, especially when I'm about to show someone a "new" project I worked on a while ago, or add details to my blog!! About three years ago I built and installed an RD ID Tag front door release. I bet the code would not compile now! lol p.s. I'm 68!!

  • @ScottHess
    @ScottHess 4 ปีที่แล้ว +9

    In the Old School, your vendor build a system for you, and since you would complain a lot if they changed everything out from under you, they worked hard to think things through up front. This didn't always mean major changes, your experience people might see relatively small changes which will make it easier to backfill new features without having to break everything all the time.
    Roll forward to The Internet Age, and the solution is to just ship and iterate. Sure, things change, but it's free, quit complaining! Worse, some opensource projects assume their users are experts, so they'll have problems like this where nobody spent time making sure upgrades are clean. Just tell the user to rename some buried directory! Because users clearly want to read 35 pages of release notes before proceeding...

    • @hugovangalen
      @hugovangalen 4 ปีที่แล้ว +2

      What is with the hate of "open source" here? That has nothing to do with. Especially that ship-and-patch-later thing affects proprietary stuff more than open source projects. How many triple A games have been released the last few years that required updates only days after their release? Every single one of them. (Updates are sometimes queued on the exact same day of release.) That is because of the pressure of corporate deadlines, something that (most) open source projects are not affected by.
      Closed source things also send you 35 pages of release and deprecation notes... They don't assume you are an expert, it's just that going too deep into the specifics would make the documents unnecessarily lengthier too. So just Google the details and school yourself. It's the breaks of software development. It's a very quick developing field. Changes happen. :)

    • @MrGeekGamer
      @MrGeekGamer 4 ปีที่แล้ว

      I've noticed that some open source projects are developed with the sale of consulting services being the business model. These are the kind of projects that lack documentation coincidentally enough.

    • @ScottHess
      @ScottHess 4 ปีที่แล้ว

      @@hugovangalen Opensource was just an example. When I was working at one of the FAANG companies, something which sorely tested me about the internal tools was idea of "Here's the new thing! It's amazing! Read the source code if you want to know how it works. BTW, the old working thing is no longer supported." It made me pine for the 90's, when I was working in the ecosystem of a different FAANG company ... but they also ship-and-iterate rather than finishing things, these days.
      To be clear, I'm not saying everyone used to completely finish things. That never happened. But it was VERY expensive to update things in the field, so at least an attempt was made. These days, there's almost no friction at all, because people (falsely) believe that updates are free.

  • @awksedgreep
    @awksedgreep 4 ปีที่แล้ว

    C and C++ are relatively lucky in this manner. Higher level languages change so often everything stops working after months sometimes. It's very frustrating.

  • @FPVSlacker
    @FPVSlacker 4 ปีที่แล้ว +1

    I DESPISE Arduino for this very reason. You see a project you like and get the parts and fight with libraries and IDE versions and it's a complete nightmare.

    • @NiHaoMike64
      @NiHaoMike64 4 ปีที่แล้ว +1

      To be fair, PIC has the same problem.

  • @Tocsin-Bang
    @Tocsin-Bang 4 ปีที่แล้ว +1

    Have exactly the same issues with arduino myself, you're but a youngster, I'm 20 years older than you.

    • @noweare1
      @noweare1 4 ปีที่แล้ว

      That's great you are doing this as a hobby now. Me too.

  • @renebrsch
    @renebrsch 4 ปีที่แล้ว +4

    Haha the usual arduino struggle 😩

  • @MD4564
    @MD4564 4 ปีที่แล้ว

    Probably because the old config/old install folders still exist might be better to do fresh install with new version (kind of a pain).

  • @andrewbeasley
    @andrewbeasley 4 ปีที่แล้ว

    As my old boss said:
    Change control - change control - change control
    Without it your a**e will get bitten.
    Do not worry though - its the modern style and we all suffer for it - I got caught badly with Python and eInk libraries when the new models came out as the supplier of the driver (a certain company in a steel town) took away most of the functions my code used leaving me with a big retro update!
    Python has environments to lock down development versions and I think you can set versions in the IDE but not sure. Really glad my professional programming life is over :-)
    It could be a con to keep programmers in a job with statements like 'Boss its going to take me months to rewrite this to use the new library to give you that new user function'.

  • @vonries
    @vonries 4 ปีที่แล้ว

    That's why I feel so lost! I bought hundreds of dollars worth of components, but I struggle to do anything that works. It is so frustrating! Since I didn't understand it before I'm truly lost now. There's no way I would have figured that you could rename all of those folders and they would just recreate themselves.
    I too used to do all kinds of programming back in the day, but that day was decades ago. I think I should just consider giving up. I'm getting no where. It's super frustrating when it comes to the ESP(families) of chips. I can never seem to find the board definition that will work with either the ESP8266 or the ESP32.

  • @milenedejong1400
    @milenedejong1400 4 ปีที่แล้ว +3

    a few months ago my 82 year old neighbour asks me to check his internet. wasnt working cause of some maintenance. i told him to wait a few hours. so he asks me kindly , can you help me with another thing. he shows me a box with about 15 small digital videotapes. the minidv kind. i would like to see those on my computer he says. in the vox was his camera too. along with a video audio capture usb device. so i am thinking in the back of my head, this will take some time. though i have a similar camera and lot of tapes too. my camera has a direct usb out and both cameras had a micro firewire output. my camera always worked fine exporting video over usb. what can be the problem i thought. also i have 2 computers running macos and 3 laptops with windows 7 and windows 8.1. an old plotterserver running xp. i have the resources, the knowledge and it was almost christmas. i had some time to help him out . so i though lets be friendly. help the old man so he coukd watch his vacations on a nirmal screen. approach was simple. lets install my own software which came with my camera. run it under windows 7 in compatible mode and import the stuff. put is un a usb stick or dvd and return the stuff to the neighbour. well that didnt work. after reading two days about enforcing a driver install none of the computers recognized the camera. lets go firewire on macos then.. same problem no recognition on the mackintosh. also not through an adapter through thunderbolt. well lets get analog then , the neighbour presented the capturecard without driver cd. i was sure to find the right driver in minutes... took me 3 days ! now al you need is capture software ! i ended up with some software which only imported the video. the audio was interleaved.stuttering bs. i ended up reviving my old plotter cutter server which was laying around because the plotter wasnt supported on windows 7.( an old t shirt labeling hobby i had) . so i used that computer installed my old xp software on that. and guess what... it finally worked.. it took me a complete workweek to help the guy with his videos probable because our operating-system-creators somewhere pas 2000 had the idea of making the data path inside the operating system ‘secure’ .. if you really think about this: when i bought my camera , it was to capture these family moments with my kids. to have a digital archive just like an old skool photo book. opposite is true . i think since we have cloud and digital video and photos and cameras we are not that able to enjoy those family moments like we did with the old skool photobook. how many of you have lost digital photos because of harddisk crashes, cellphones falling in water, lost or stolen cellphones, dying cellphones. no backups made and gone it is.. i have a good understanding of computers but the story above shows how difficult it is to keep your data with you. since this happend i bought a synology network attached storage.. i am stopping all of my cloud computing and am taking control of keeping my data . nice thing is i have imported my own videos too now. and enjoyed those moments with my kids again.

  • @pulesjet
    @pulesjet 4 ปีที่แล้ว

    How did renaming the files correct the problem ? Recompiling the Code using the New er IDE corrected the issue. You Rebuilt the code That is what corrected the Code. Renaming would have done just that . Rename using the new IDE. They keep screwing with the dang IDE all the time. That's our problem. Every fix should be backwards compatible. Bad Programing on Arduino's side. So basically we have to Recompile (build) the code every time they alter the library or IDE.

    • @JulianIlett
      @JulianIlett  4 ปีที่แล้ว

      The problem is with the uninstaller. It doesn't uninstall added libraries, hardware and it doesn't remove your preferences.

  • @stevesm2010
    @stevesm2010 4 ปีที่แล้ว +1

    Oh for an Arduino you could program with Z80 Machine Code!

    • @JulianIlett
      @JulianIlett  4 ปีที่แล้ว

      I fully expected an ArduPIC after Microchip bought Atmel. But I'm led to believe the PIC is not optimised for C. ArduZ80 would be superAwesome :)

  • @xbipins
    @xbipins 4 ปีที่แล้ว +1

    you can update the boot loader to new using another arduino but in my case i didnt have so i connected it to a rpi and did through that so that would be an interesting video

  • @rimmersbryggeri
    @rimmersbryggeri 4 ปีที่แล้ว

    Could you program this microcontroller using assmbly rather than the arduino bootloader?

    • @TKomoski
      @TKomoski 4 ปีที่แล้ว

      Yes

    • @rimmersbryggeri
      @rimmersbryggeri 4 ปีที่แล้ว

      @@TKomoski So that would be a faster more efficient way to run code then like it is on a C64? Even if a not so efficient at the programming stage for a novice.

    • @TKomoski
      @TKomoski 4 ปีที่แล้ว

      @@rimmersbryggeri Look through Julian's video's and you will see he did touch on assembly with Arduino

    • @juststeve5542
      @juststeve5542 4 ปีที่แล้ว +1

      Yes you can, but you can also use hardware dependant direct pin I/O within the Arduino IDE which greatly increases I/O speed and usually avoids the need to go back to the metal as it were.

    • @juststeve5542
      @juststeve5542 4 ปีที่แล้ว

      @Rolf Jander downside is direct register coding, unless done very carefully with some cunning #ifdefs, will make you very dependant on specific hardware.
      Arduino code is supposed to be processor transparent...

  • @MalagasOnFire
    @MalagasOnFire 4 ปีที่แล้ว

    It is not only Arduino... Other targets / MCU's also may also be susceptible to changes nowadays and some provide info on how to upgrade to new compiler / IDE version . the macros #ifdef .. #endif comes handy for this situation to be compatible . As IDE on arduino use the VScode with Arduino MS extension for atmega328p only and for others the PlatformIO :P The important is make thru it :D. Like the compact sensor + OLED + Batt + Arduino combo :D

  • @SixWildKids
    @SixWildKids 4 ปีที่แล้ว

    Very typical Arduino experience. Grin and bear it ;)

  • @robputt
    @robputt 4 ปีที่แล้ว

    Hello Julian,
    Yes, lots of things change with Arduino, I have several versions of Arduino IDE on my PC as some libraries such as the LoRaWAN LMIC library only works on Arduino that's 2 major versions behind. Also, it is annoying that libraries are sometimes not versioned very well... BUT for properly versioned libraries you should look at PlatformIO. In the manifest for your project, you can pin the Arduino.h file and the library versions, which is super tasty. Also, your linker errors are probably related to the bootloader on your ATMega chip, this is an issue with the Pro Mini, as the name suggests its aimed at the pros (Arduino pros, I already recognise you as a pro in other ways) so you get all sorts of weird and wonderful behaviour and cutting edge stuff, the Uno and more hobbyist style Arduinos are much more stable in terms of bootloader version etc...
    Best Regards,
    Rob

    • @robputt
      @robputt 4 ปีที่แล้ว +1

      Ooops, sorry just watched the rest of it and realised you figured all this magic out... But seriously check out PlatformIO I think you'll like it, finally a "proper IDE" for Arduino.

  • @TheEmbeddedHobbyist
    @TheEmbeddedHobbyist 4 ปีที่แล้ว

    Libraries should be backwards compatible but I found that very few are.

  • @ArjanvanVught
    @ArjanvanVught 4 ปีที่แล้ว +3

    Why not using a proper IDE -> Eclipse CDT

  • @DogRox
    @DogRox 4 ปีที่แล้ว

    Man what a coincidence. that happened to me with all my old code that I wrote for my Arduino. when I install the new IDE to my laptop a lot of my codes didn't work. I managed to get some of them working again but a lot of them aren't. I don't know if it's the libraries or what. especially when I was using the ATTiny85

    • @DogRox
      @DogRox 4 ปีที่แล้ว

      That's pretty much why I keep older versions of IDE installed.

  • @theonlymudgel
    @theonlymudgel 4 ปีที่แล้ว +1

    I can make enough of my own mistakes. Sorry Julian, but I don’t need to watch a video of you making mistakes. Ill come back where you’re ready to teach again.

  • @darrensworkshop6783
    @darrensworkshop6783 4 ปีที่แล้ว +1

    Working on an Uno programming an SD card today..I know how you feel Julian....

  • @MarcRidders
    @MarcRidders 4 ปีที่แล้ว

    Very funny video. Like my father allways says: "If it was easy everyone could do it" :-)

    • @frostfirei
      @frostfirei 4 ปีที่แล้ว

      Some with more success, than others!

  • @jayherde0
    @jayherde0 4 ปีที่แล้ว

    ''Continuity'' doesn't mean what we thought it means - unless you are talking about the continuity of change ;-)

    • @trottx
      @trottx 4 ปีที่แล้ว

      Many years ago my employer had us read the book "Who Moved My Cheese?". That was probably the beginning of the end. I'm pretty sure my cheese is offshore now.

  • @jlucasound
    @jlucasound 4 ปีที่แล้ว

    Maybe this is why I couldn't get a "straight answer" out of one of my eBay THS's. Hmmm...

  • @nabilandadamslaboratory3422
    @nabilandadamslaboratory3422 4 ปีที่แล้ว

    Yaaaay new video!! 😊😁😁

  • @johncrunk8038
    @johncrunk8038 4 ปีที่แล้ว

    So that is one reason I graduated to VSC and PlatformIO. Even so, the libraries for these things are crap and you end up re-inventing the wheel over and over. The Arduino project is wonderful, but filled with traps and an IDE that really stinks. I guess experience is the only solution.

  • @lezbriddon
    @lezbriddon 4 ปีที่แล้ว +1

    arduino ecosystem is a mixed blessing, 1 its helping get new people in development, 2 its trash and produces slow horrible bloated code....

  • @neiltonks
    @neiltonks 4 ปีที่แล้ว

    Sounds like something you'd say on a trip to Spain . . .

  • @jparky1972
    @jparky1972 4 ปีที่แล้ว

    This is why I NEVER upgrade the IDE mid project.

  • @jack002tuber
    @jack002tuber 4 ปีที่แล้ว

    I never started with this. Now I'm not liking having to relearn it all over and over

  • @TuttleScott
    @TuttleScott 4 ปีที่แล้ว

    all those kids on your digital lawn are messing with your librarys!

  • @unperrier5998
    @unperrier5998 4 ปีที่แล้ว

    I challenge you to install Linux and find a compiler in the available packages to build your old assembly code, even if it was 8086 asm.
    Even more illustrating: take a C program that is 10 or 20 years and try to build it on the stock GCC of your latest Fedora or Mint... it won't compile!
    The reason is that even the tools have the same kind of problem that you're ranting about: new features are added, older ones are removed, in a nutshell things change. For C programs, you can (and should) check for those capabilities of the compiler (a bit like C99 for example)... but it's more true with libraries: in a proper software engineering world (which linux tends to follow, ymmv) version numbers tell if it will work or not, I mean major and minor versions have semantics that every proper software engineer will follow, and provided there's a way of specifying dependencies (for example library XYZ version 2.x) then you should be good. My experience with arduino is limited but it seems there's no such semantics in place and it's like the wild west, just more brutal :)

    • @urugulu1656
      @urugulu1656 4 ปีที่แล้ว

      it probably would compile with the right flags set

  • @christopherperry8693
    @christopherperry8693 4 ปีที่แล้ว

    A little off topic but has anyone used the MPPT off eBay for 10GBP (item 312642468438 for example) My question is IS it MPPT or PWM. It looks like some PWM's for the same price but says its 10%-30% better than PWM claiming MPPT. All replys with thanks.

  • @FilmFactry
    @FilmFactry 4 ปีที่แล้ว

    Its my understanding, if you switch to Platform.io IDE it compiles much smaller, allowing larger sketches and more free memory. Maybe give it a try. This is from the Marlin 2.0 developers.

    • @JulianIlett
      @JulianIlett  4 ปีที่แล้ว

      I'll certainly look into it - thanks :)

  • @cri24x36
    @cri24x36 4 ปีที่แล้ว

    When my Arduino project is done. I leave the Arduino in the device i created. I don't modify the code after.... No problem that way! And buying Arduino in bulk is cheap !

    • @ElmerFuddGun
      @ElmerFuddGun 4 ปีที่แล้ว

      Bulk? Where? Best I've seen (months ago) seemed to always be cheapest in single units from eBay. Yes, I know and have boughten the ICs in "bulk" but where are you buying the whole boards from?
      But don't you ever make something and then think months later that a new feature would be nice to add?

    • @cri24x36
      @cri24x36 4 ปีที่แล้ว

      @@ElmerFuddGun i buy packs of 5 on Amazon . It's like 10€ for 5. And i always put a small usb stick on each my project , as a backup, with all the useful files (wiring schematics. Code . Libraires) . It's the best solution for the long term, i think

  • @RonsonDenmark
    @RonsonDenmark 4 ปีที่แล้ว +3

    aka "Old man forgets how to properly set up the Arduino IDE"

  • @hfuy8005
    @hfuy8005 4 ปีที่แล้ว

    It's not you, and it's not really the modern world. It's mainly the wonders of the open source development paradigm. The freedom to innovate is good. The freedom to constantly break everything and exist in a constant state of complete chaos is not good. Linux as an OS (with the trivial exception of Android) is the same way, which is why I find it hard to stomach. Googling for error messages and having to ask a guy is the new normal, and it is not good.