Why I’m switching over from the awesome Arduino IDE to Atmel Studio.

  Рет қаралды 192,333

Joop Brokking

Joop Brokking

Күн бұрын

Пікірлер: 402
@Popugaj4ik
@Popugaj4ik 5 жыл бұрын
As for me, Arduino IDE - for prototyping, Atmel studio - to make an end product.
@1828fernando
@1828fernando Жыл бұрын
Agreeeee!!!
@JoshuaAugustusBacigalupi
@JoshuaAugustusBacigalupi 6 жыл бұрын
I've been trying to find the right path of action for my specific time-sensitive application for weeks now. In 9 minutes you not only clearly and completely answered exactly why I need to move beyond the Arduino IDE, but gave honest assessment of the task before me to achieve my goals. Thank you.
@Joop_Brokking
@Joop_Brokking 8 жыл бұрын
Thank you for all the positive reactions. I appreciate every single one of them!
@vitaliyd193
@vitaliyd193 7 жыл бұрын
Great! I am fascinated! Thank you! Please keep up with examples in AtmelStudio. (i.e. operations with strings, serial monitor, AND HOW TO USE REGULAR ARDUINO libraries)
@AndreasAndrik0s
@AndreasAndrik0s 7 жыл бұрын
Very good and helpful explanations, keep the good work.
@nchaconn79
@nchaconn79 7 жыл бұрын
thank you so much for this informative video, I was going crazy trying to figure out why the arduino's serial port was displaying slightly different voltage values than what my digital multi meter was showing, thanks again.
@billfusionenterprise
@billfusionenterprise 5 жыл бұрын
good tech desciptions are hard to find, you do it good
@TheKetsa
@TheKetsa 8 жыл бұрын
Yes, we like details.
@robertparenton7470
@robertparenton7470 3 жыл бұрын
Thank You! I have bought all the parts to build your drone. Your videos are very inspirational and fun. Frisco, TX
@waynet8953
@waynet8953 6 жыл бұрын
You can access the PWM timer control codes directly from C because the PWM registers are just memory locations. So bit memory manipulation will allow direct PWM control without any compiler overhead. That's the only way to have tight control of the timing and minimum processing overhead.
@donaldwright2426
@donaldwright2426 3 жыл бұрын
Even after almost 5 years, this simple code example still not outdated and, very instructive.Thanks!
@MilanKarakas
@MilanKarakas 8 жыл бұрын
One side note: instead "DDRB |= B00100000", to me - it is easier to remember "DDRB |= (1
@IGBeTix-Electronique
@IGBeTix-Electronique 8 жыл бұрын
It's exact. The register names are known normaly.
@stephanesonneville
@stephanesonneville 7 жыл бұрын
Use macro #define set_bit(byte, bit) (byte = byte | (1
@hbirtt
@hbirtt 7 жыл бұрын
@stephane sonneveille: Great tip. It's funny how working in a different environment makes you think different. If I'm writing PC software, I use macros more than I probably should. I've used macros just to make a single line look better, or be more descriptive, even if I only use them once. However, I never once considered using macros for this until I read your comment. Thank you.
@joshuavincent7884
@joshuavincent7884 4 жыл бұрын
Cool. Nice and efficient bit shifting operations
@MrPnew1
@MrPnew1 8 жыл бұрын
Personally I loved your in depth analysis of the limitations and solutions to fix the timing errors caused by the overlay of the Arduino IDE. I was aware that this IDE can complicate the micro controllers operation in the task of making the setting of the registers more user friendly for the lay person who just wants to get things done with a micro controller but at the expense of simplicity. The way you showed the underlying cause of the timing inaccuracy and variability and how to rectify it was excellent Thank you again Joop for another great job
@WPeee
@WPeee 7 жыл бұрын
Joop your video is EXCELLENT. The information is well presented (both visually & verbally ) and covers the TIMING concerns many of us have had to deal with on the dark side. While we am not looking to change away from the ease and comfort of the Arduino IDE, your presentation shines the light on an area of darkness for many of us --- THANK YOU, keep up the great work.
@thehkrgeek
@thehkrgeek 8 жыл бұрын
Yes, an indepth info video would be much appreciated. A video on Atmel studio for beginners will be helpful.
@asincich
@asincich 4 жыл бұрын
Something better: Oshonsoft AVR Simulator IDE/PIC Simulator IDE (just Basic code!)
@vmstanford
@vmstanford 6 жыл бұрын
Thank you Joop! This is just the kind of information we need to actually understand the timing on the Arduino using the IDE code. As you say, it takes many hours to find this stuff out form data sheets and documentation. Well done!
@tommcqueary7831
@tommcqueary7831 7 жыл бұрын
Being a long time ago embedded assembly language programmer (back in the 80s) and current day C/C++ programmer, I was delighted to learn I can use low level register programming for the Arduino to enhance performance. Another plus is the use of standard C programs using the Atmel Studio. These tools and techniques raise the Arduino platform from the hobby-oriented entry-level audience to the professional-level audience. As an old timer, I am amazed at what can be accomplished these days with relatively inexpensive tools and parts. And of course, this wonderful sharing of knowledge makes things much easier than in the old days. Thanks for your videos.
@Joop_Brokking
@Joop_Brokking 7 жыл бұрын
Thank you for writing this message.
@noweare1
@noweare1 7 жыл бұрын
You can use all that in the Arduino environment also.
@GelFireQueensland
@GelFireQueensland 3 жыл бұрын
Thankyou. I'm Getting an SMD board produced and the Engineer said we'll go from IDE to Studio at that stage. Now I'm looking into it, so I can change the Code accordingly.
@RobertoColi
@RobertoColi 6 жыл бұрын
WOW ! Extremely useful. I just heard about this topic, but I have never seen a so clear demostration.
@bayliner4387
@bayliner4387 3 жыл бұрын
I'm amazed that you could tweek that down. I didn't think the Arduinino platform was fast enough to trim to that level of accuracy. Great work
@noweare1
@noweare1 7 жыл бұрын
There is an add-on called "visual micro" that lets you program an arduino as an arduino with library support as in the arduino IDE. The add on works with Atmel Studio. I like the Atmel Studio code completion and has all the features of a professional programming editor unlike Arduino IDE
@peace4world
@peace4world 7 жыл бұрын
Thank you Joey Mac. Due to your comment, I searched Visual Micro and found that they suggest Microsoft Visual Studio over Atmel Studio (www.visualmicro.com/page/User-Guide.aspx?doc=Getting-started-which-IDE.html). Any comments?
@RobertShaverOfAustin
@RobertShaverOfAustin 7 жыл бұрын
For one thing Atmel Studio 7 is free and Microsoft Visual Studio is $499. (correct me if I got this wrong) *EDIT:* Oh, I saw some lower prices for Visual Studio. Do they have a free version?
@Dr.Stein99
@Dr.Stein99 6 жыл бұрын
I use Visual Studio with Visual micro. Community Visual studio is free, and you can use it without feeling you are at a strip club and being asked for money each time, unlike Visual Micro - which actually begs you to pay for it pretty much every day you start the application. It is petty. I do not know any programmers who pay for software to write software.
@chuckwilcox6997
@chuckwilcox6997 4 жыл бұрын
Great example description, as to why it maybe necessary to move from Arduino IDE to Atmel Studio. Thank you for taking the time to put this video together and the depth of information was great. Brilliant work.
@aakashvishwakarma614
@aakashvishwakarma614 7 жыл бұрын
Looking through comments made my day :D For people who are interested in building the end application, who don't care what the code looks like or how accurate it works and want to get it done as fast as possible will be happy to choose the so called Arduino as its famous for its vast support and tons of libraries developed by all other users of Arduino, but for people who are serious into learning how things work, how every individual bits work, so that they can have better control/knowledge of what's going on should go with the plain Micro-controller with its own IDE and program in ASM/C. Now of course it doesn't look friendly at all in the beginning, but it gets very easy once you continue to work on it. And besides your code will be the most optimized code for your required application than having unnecessary piece of useless crap running which you would not even know using IDE's like Arduino.
@stratman1234
@stratman1234 4 жыл бұрын
I can appreciate both IDEs. It's the same argument for choosing between, for example, C and assembly. Ease vs control.
@anthonybonney8224
@anthonybonney8224 2 жыл бұрын
Clear, concise and informative. Good background information as to what the problem was and how to overcome it. And why in this case Atmel was a better IDE. Will now keep this information close to hand. Well done.
@MrKeksdoserl
@MrKeksdoserl 8 жыл бұрын
I don't comment often on youtube videos, but your video series is absolutely amazing and without it i couldn't build my own quadcopter. I also switched from Arduino IDE to Microsoft Visual Studio with Visualmicro plugin and eventually to Atmel Studio for the same reasons you listed in this video. Keep this work up !
@boonedockjourneyman7979
@boonedockjourneyman7979 5 жыл бұрын
As a general rule, always use the dev enviro from the manufacturer. As an opinion, work in a C variant and be able to understand in-line assembly code. Those two things are required to solve all timing issues.
@ArcaneMachine
@ArcaneMachine 4 жыл бұрын
Fantastic video. Clear, well-explained, well-integrated audio and video. Worth every second!
@AndresLeonSalas
@AndresLeonSalas 6 жыл бұрын
Wow, thanks a million for this invaluable in-depth explanation! I few months ago I made a project involving (needing) very precise timing for pulses, and I was very frustrated while programming over the Arduino IDE. I wish I would have seen this explanation right before starting that project. Thanks again sir.
@thomaskinsman8662
@thomaskinsman8662 6 жыл бұрын
Any good engineer would ask themselves, "This works, but how does it work?" Or, "What is going on under the covers?" I agree with you that the answers are not easy to find. Thank you for your insights.
@migfer7
@migfer7 4 жыл бұрын
Thanks for this video ,I work with microchip microcontrollers for almost two decades and now I was starting to try some projects with Arduino and Esp32 and not understanding why I had so many troubles .
@KaspersMC
@KaspersMC 8 жыл бұрын
YAY Now i Hope you will start make some(Alot) of video about Atmel Studio ( code for Arduino ) yes ofc. we love the in depth info ( it is why i am here ) ( + inline assembler ) Thanks :)
@IGBeTix-Electronique
@IGBeTix-Electronique 7 жыл бұрын
Inline assembler is not necessary in general. C or C++ are sufficient.
@sangkang6294
@sangkang6294 4 жыл бұрын
This video was really useful. I was outputting a series of pulses in exact pulse width and kept getting wider values under the scope, fluctuating, and was scratching my head. For a whole month, I fiddle with the pulse width to get the results I needed but it always bothered me that I had to reduce the pulse size on the code to fit the width on the scope.
@edexnorth123
@edexnorth123 7 жыл бұрын
*I'm happy that I find this channel these tips are gold.*
@mikecurley69
@mikecurley69 5 жыл бұрын
Your explanation of how you solved those two problems was clear and easy to follow. I would never count on a function like DelayMicroseconds() embedded in code to generate a consistent and accurate output signal as you have described here. I would probably use a hardware timer and/or an interrupt routine. Thanks again for your lesson. Very informative!
@everythingquads
@everythingquads 8 жыл бұрын
I started with the Arduino IDE, It was a great introduction to micro controllers. I switched to Atmel Studio for the same reason as you, as I wanted more control over resources, and more efficient code. I have had many hurdles along the way, but it has been a very educational journey, and I now feel comfortable writing very precises timing routines and using interrupt vectors. My knowledge of programming in C and using bit wise operators means I can also use my programming experience to write windows and Linux console applications. Good video, very well explained. I would highly recommend getting a programmer such as the AVR dragon, as you can debug code in real time on any AVR micro's. Great video, and a good reason to develop skills at a higher level.
@Joop_Brokking
@Joop_Brokking 8 жыл бұрын
Thank you for sharing your experience. The debugger tool is indeed a very useful tool as I show in this video: kzbin.info/www/bejne/pWTHlKClYs2Vh9k
@JohnHansknecht
@JohnHansknecht 7 жыл бұрын
You are a very good instructor. I hope you are using this skill to teach locally as well as online. You were crystal clear. I have been using PIC microcontrollers for years and MikroC programming, but I'm researching a switch over to Atmel Studio.
@Debraj1978
@Debraj1978 6 жыл бұрын
If you want time critical events (like sampling of analog signals), use interrupt. Even for interrupt, there are settings, which caries latency due to how many registers need to push to stack and later pop from stack (context saving). These were basic fundamentals taught during graduation engineering class. Sadly, most students now join the Arduino bandwagon and forget these basics. Later, they realize the shortcoming of Arduino and then make a video out of their learning.
@djnor1979
@djnor1979 Жыл бұрын
You are absolutely correct, I as well used interrupt in the past to make timing. This way the 50ms will be really 50ms, not 50.125 ...
@georgeorwell7607
@georgeorwell7607 6 жыл бұрын
Caveat Emptor: wonderful explanation, by pointing out the pitfalls of using digitalWrite(), and timer/counter(0) overflow interrupt.
@AlJay0032
@AlJay0032 4 жыл бұрын
I had the same experience, Arduino did some stuff under the hood which caused me great frustration and many hours of debugging. It doesn't tell you what initialization and so on it is doing. That is why I prefer the use the bare bones gcc cross compiler and tools to flash the micro controller. Then I know exactly what is going on.
@Ghost572
@Ghost572 4 жыл бұрын
Thanks for the video, really handy having people who understand things a bit better giving out valueable information like this.
@twotires
@twotires 8 жыл бұрын
Another amazing video, Joop. I very rarely comment, but I sincerely hope you will keep making these informative and easy to watch videos.
@johnlucas5201
@johnlucas5201 7 жыл бұрын
I had been wondering what I was missing on the backside of Arduino and now I know. Thank you very much. This is excellent information for beginners like myself to use in making IDE decisions.
@RobertShaverOfAustin
@RobertShaverOfAustin 7 жыл бұрын
I agree. Arduino IDE may be good for people just getting started but sometimes I prefer to program right down to the bare metal.
@donsmith1224
@donsmith1224 7 жыл бұрын
you my friend are a great teacher , explained well for anyone who has the tech to understand what your talking about.
@immortalsofar5314
@immortalsofar5314 5 жыл бұрын
Thanks for this. I won't be able to use Atmel studio myself (as I'm a Linux user) but it certainly makes me think twice about using the Arduino IDE. Back in my day (the early 80s), we programmed in assembler to bypass these things or hooked in timer ICs to get a reliable timer source (including soldering a wire to the IRQ pin of the PCI board to synchronize the timing).
@Bengadeer
@Bengadeer 7 жыл бұрын
Thanks for the enlightenment. I'm aware of turning on certain bits via AVR commands, but did not realize these timing issues. If multi-tasking scheduling is important, and should be in any machine control operations, it sounds like working around the Arduino IDE limitations is a must.
@paollamota
@paollamota 7 жыл бұрын
Hey there! Just have to thank you for all of the detailed information about Arduino and I also wanna congratulate you for the great content of your channel! It complemented my humble Arduino knowledge I got from the internet :D Hope you continue producing these great videos for us!
@ryanbusch4015
@ryanbusch4015 6 жыл бұрын
your videos are fantastic, great details and extremely informative. just found your Chanel recently and i am considering doing the drone project.. i have seen a lot of DIY quad copter projects but yours seems to be the most refined for entry level people, mostly because you take the time to explain the code in great detail. and provide cheap resources for the home gamer. Ive also learned how the Arduino which is so popular and accessible is both powerful and limited based on code efficiency. i didn't even think it was possible to control a quad copter with and Arduino uno. im sure there are as cheap and more powerful micros now but still seems like a great entry level fun project. thanks again!
@roidroid
@roidroid 8 жыл бұрын
Oh yes, i absolutely loved the indepth arduino info, so much so that i Faved the video. It's right up my alley. I especially loved how you showed howto write Arduino code which bypasses/disables those limitations. That sortof thing is exactly what i love to see: Howto modify the most commonly used & accessible tools (like the Arduino environment), to squeeze more outof them when needed.
@KennyLong1
@KennyLong1 6 жыл бұрын
This was a fantastic video! I am an experienced software develop, just getting started with Arduino. I will be doing some time critical processing, so this information is extremely valuable. Thank you for taking the time to create this video. I would love to see more of these advanced videos.
@miloradowicz
@miloradowicz 3 жыл бұрын
Used Arduino IDE for exactly one day and switched to VSCode + PlatformIO, simply because Arduino UX was much less responsive and used to take minutes to pass through communication errors whenever my knock-off CH340-based Arduino would disconnect on verification stage.
@bgable7707
@bgable7707 6 жыл бұрын
great review and demonstration!
@TheCrunchbird
@TheCrunchbird 6 жыл бұрын
Great video. I had a problem generating some timing that was very close to your example. The jitter caused me a huge headache. I had to resort to using assembly language to fix the problem.
@DrenImeraj
@DrenImeraj 8 жыл бұрын
I have been planning to fully move to Atmel Studio a while back, and I did for some personal projects. The problem is that the Atmel Studio is not cross-platform since it's based around Visual Studio, which makes it unsuitable for community projects. Microchip did a better job building their development environment around NetBeans, which is cross-platform.
@kenwallace6493
@kenwallace6493 6 жыл бұрын
This is exactly why the hobby development systems are so frustrating to real-time control applications. For my specialty, power conditioning, the unpredictable delays/anomalies are a disaster. I would suggest development board vendors provide direct register access options for critical functions like ADC read to PWM compare register updates, etc. Often these are done via PWM timer compare or TOP interrupts and are on a very tight schedule.
@ng4559
@ng4559 8 жыл бұрын
This is best way to explain some difficult things. You just did a great work. keep it up.
@wmd5645
@wmd5645 7 жыл бұрын
894 down to 492 down to 506 finally at 164 bytes, good work! On the fix as well as the explanation of what was going wrong! These are examples that should be in textbooks on debugging software and hardware, thanks Joop! Clean, efficient, and informative work!
@llothar68
@llothar68 7 жыл бұрын
You could use FORTH and get it down to the bare minimum. Don't understand why people aren't using FORTH anymore, it was the microcontroller solution of the day when i was young (35 years ago).
@wmd5645
@wmd5645 7 жыл бұрын
I'll check that out, thanks Lothar.
@gizmoguyar
@gizmoguyar 6 жыл бұрын
I can definitely appreciate the sentiments in this video. And it's true that the Arduino core does add lots of overhead to your code. But I feel like there's nothing wrong with that. The Arduino environment is really good for people learning embedded systems or simple robotics, It's really not made for people like you who have moved beyond the basic use cases. I don't think it's appropriate to throw a newbie into the deep end and make them start off with direct port manipulation. At the other end of the spectrum, for advanced, users. I feel like it's our responsibility to fully understand the capabilities, strengths, and weaknesses, of different micro controllers, and make an educated choice on which one is best suited for our specific project. There are some projects I do that don't require high speed or accuracy. In these cases I'm happy to use the AVR micro controllers, as I thoroughly understand all the registers inside and out (side note: reading through the entire data sheet is very useful for advanced users). For other projects I need high speed, or maybe more memory, and I choose a different controller that is more suited for the task. Often times I strike a balance, where I can use an AVR controller, but specific pieces of code need to be very accurately timed, or highly efficient. In this case I may simply use direct port manipulation for that portion only.
@la7yka
@la7yka 8 жыл бұрын
Thanks for a great in-depth discussion of the compiler handling.
@steamenggine6234
@steamenggine6234 2 жыл бұрын
well said, you are expert
@cepwin
@cepwin 6 жыл бұрын
Very interesting.....your arguments make a lot of sense. Pointing out the difference between the chip ports and the Arduino ports is definitely helpful. I will be looking into atmel studio and subscribing to your channel. Thanks again!
@1st_ProCactus
@1st_ProCactus 7 жыл бұрын
Why do people use such high resolutions and such small font. Could anyone actually read the text at 480p and not struggle ? Almost 85% of the screen was just white for no reason.
@ciprianciprian5228
@ciprianciprian5228 7 жыл бұрын
Actually, that can be solved by using a screen with lower pixel density. Probably, your screen has high resolution with relatively low screen size
@1st_ProCactus
@1st_ProCactus 7 жыл бұрын
That wont help at all.
@Swanicorn
@Swanicorn 6 жыл бұрын
@@1st_ProCactus I have a 1080p screen and 768p laptop and I could read it with not much difficulty. The video is itself in 1080p so IDK why you were watching in 480p and there wasn't even much to read, it was just about the concept which is visible in the DSO part of the video. KZbin heavily compresses videos and it's not like the creator uploaded in all those resolutions, google automatically made those down-converted resolutions and it might have done a bad job. It is difficult to know unless you make a video cuz this stuff is presumably clearly visible for the content creator on his PC. I think my Arduino is set to the default font size as well and I can read it with no problem at all. I honestly didn't even know that the font size could be changed since I never felt the need for it.
@1st_ProCactus
@1st_ProCactus 6 жыл бұрын
Omg, it's just too small for no good reason
@chrisw1462
@chrisw1462 6 жыл бұрын
In his defense, screen capture software that has a zoom function is kind of expensive. Video editors that have a decent crop and stretch function are likewise. He would have had to enlarge the fonts or, easier, drop the screen resolution just for the video. Not only do few people know how to do that, fewer want to, and in some cases the IDE window elements would take up a lot of the screen. If you know of a good, cheap (< $100 US) screen capture and/or video editor that does this well, Please post!!!
@rondlh20
@rondlh20 8 жыл бұрын
Thanks, very useful info. I would be interested in more examples like this if there are any.
@Joop_Brokking
@Joop_Brokking 8 жыл бұрын
Check this video: kzbin.info/www/bejne/n5O8cmVobrpjbtk
@rafaelcabelo6616
@rafaelcabelo6616 8 жыл бұрын
Excellent video! I just need point out that you used Arduino IDE 1.0.x. If you use IDE 1.6.x that have better compiler, the program size will not be so difference of Atmel Studio.
@margatrains
@margatrains 6 жыл бұрын
I agree with you, some programmers are stucked on the Arduino comfortabilities, so they no longer pay attention to how a program runs on a microcontroller and how to optimize it's performance.
@plaije
@plaije 8 жыл бұрын
Thank you for the video, the details are a huge benefit.
@rafaelrabadansaiz4611
@rafaelrabadansaiz4611 7 жыл бұрын
Thanks a lot. I was suspecting this kind of potential issues and you proven it. Very useful.
@christophernetherton9389
@christophernetherton9389 8 жыл бұрын
Enjoyed the video very much. I enjoy the way you contrast the operation of the 2 environments (Arduino IDE vs Atmel Studio.)
@advancednutritioninc908
@advancednutritioninc908 8 жыл бұрын
Excellent Teaching Example!, You took a rather complicated problem and showed the 3 solutions to solve all issues and get to the solution you needed! You didn't include any fluff .. but you explained enough for us to understand what the problems and solutions were! I am old school technical, discrete transistors & IC circuits and pc's - what would you suggest as i learn coding on the arduino? what platform would be the smartest one for me to start to develop micro controller projects on? Thank You!
@Joop_Brokking
@Joop_Brokking 8 жыл бұрын
If you are new to microcontrollers I strongly recommend the Arduino platform. It is so much easier than Atmel Studio for example.
@mother-fng-bonswa3612
@mother-fng-bonswa3612 6 жыл бұрын
but , once you really understand Arduino, you start realizing things you miss, cause you want to get more out of the program but its limited. Is it by that time easier to step over to amtl or any other software program? I remember this issue from producing music and the DAW software programs. In the beginning all these programs were kinda gibberish to me. But once i started to control / master one, it was really easy to understand and control the rest of these programs. And i could by playing one day, easy tell which one was the one i liked to get comfortable with or don't. Note: I do know programming is a different world and i do not want to compare its difficulty with daw's for producing music. My question is more based on your experience, from the point you started programming. Sorry for my bad english.. I' am dutch, your name seem to be Dutch, have friends with that second and first name . haha
@thomaspatrick4564
@thomaspatrick4564 6 жыл бұрын
I started using Arduino and IDE and Amtel devices and have moved to ESP devices using Arduino IDE. I will move to Python as I can use Python for more devices.
@stevethackery9853
@stevethackery9853 7 жыл бұрын
This level of information is incredibly useful. Thank you for taking the time to express it so clearly.
@dorianmccarthy7602
@dorianmccarthy7602 6 жыл бұрын
Loved this short, accurate and easily understandable explanation. thanks muchly
@eliasgeorge8534
@eliasgeorge8534 5 жыл бұрын
Great video. I agree with all you have presented as I have just gone through an exhausting exercise in trying to use an attiny841 within the Arduino IDE. This microcontroller has 6 pwm pins of which only one worked out of the box in the Arduino IDE with analogWrite(). After coming the datasheet of the attiny841 and using register manipulation and bitmath, etc, I was able to achieve the desired outcome for my project. As the final code uses little to no Arduino specific user friendly functions, I'm better off going with the Atmel Studio to get more efficient code for this memory limited microcontroller.
@BramVdbogaerde
@BramVdbogaerde 8 жыл бұрын
great video, very interesting to see how it all works internally.
@mostafaelshafie4550
@mostafaelshafie4550 2 жыл бұрын
Can you make a video on how to set it up and make it program an arduino as well as importing libraries like the arduino library?
@billfusionenterprise
@billfusionenterprise 5 жыл бұрын
If you think this is bad , should try programming PLC (industrial computer control) where even a simple logic command can go wrong with a simple line in wrong place. If i was trying to make a very strick timing pulse , i would see about some kind of self running circuit which it is it's only function and being set by the arduino, so any code timing issue will not interfere . By the ways , I have found over the years specs and real world don't always work. Had a special video editor board that brand of RAM chips could not be changed. Diagnostics says ok but software would not run. Another was a voice mail system which did not like certain brands of video cards
@heyarno
@heyarno 7 жыл бұрын
I think this is what Arduino originally aimed for, as a stepping stone to professional development.
@Joop_Brokking
@Joop_Brokking 7 жыл бұрын
+1!
@coryglanton3380
@coryglanton3380 4 жыл бұрын
This was excellent info! As a beginner this was immensely helpful.
@gweliver
@gweliver 7 жыл бұрын
I will be looking forward to more on this subject. I do not have an Oscilloscope yet, but wondered what has been happening with some of my code when the end results were not acceptable. Maybe it has not been just the code! Thanks so, so much. I'll be watching!
@Joop_Brokking
@Joop_Brokking 7 жыл бұрын
A while ago I made a video about an oscilloscope: kzbin.info/www/bejne/n5O8cmVobrpjbtk Maybe it will help you to really see the benefit of an oscilloscope ;-)
@CXensation
@CXensation 7 жыл бұрын
Great video ! You got me started on in-depth study on the atmel processor registers.
@lurrehsinigang2073
@lurrehsinigang2073 7 жыл бұрын
You deserve way more subscribers. Thank you so much for all of these tutorials!
@fivefive2433
@fivefive2433 4 жыл бұрын
You don't have to disable timer register, you can eliminate the whole timer setting up code and free up some space. Using setup and loop lets the Arduino do its thing in setting timer and all that, you can avoid that by adding: int main() { setup(); for(;;) loop(); }
@AbishaiSingh
@AbishaiSingh 8 жыл бұрын
This video is amazing. I learned a lot of new information. Please make more of this kind of videos.
@einars899
@einars899 7 жыл бұрын
Very good explanation! What is not mentioned is the ability to use a debug tool. I just found this video, so you may have mentioned this in another. I'll go looking.
@multiHappyHacker
@multiHappyHacker 2 жыл бұрын
What is the purpose of the arduino running the overflow routine anyway?
@UpcycleElectronics
@UpcycleElectronics 6 жыл бұрын
Love the depth -Jake
@JesseD-hq6ne
@JesseD-hq6ne 2 ай бұрын
working on a project and the Arduino IDE stopped my project because it used the timer0 already, and some other stuff too...had to switch to atmel because I dont wanna fight with that code already included w/ arduino IDE
@mesuttopuzlu6248
@mesuttopuzlu6248 2 жыл бұрын
Not only for Arduino framework, it also valid for all embedded high level libs such as HAL
@AIMY-w4t
@AIMY-w4t 9 ай бұрын
I am a beginner interested in electronics, microcontrollers and learned a lot from watching your videos, hope you can explain me how to open the file inside the snippet.
@stefanivovic
@stefanivovic 8 жыл бұрын
vary nice video and yes we like details and in depth explanation of arduino and microcontrollers. and let me tell u something, its refreshing when i get explanation from someone who actually this stuff . keep up the good work
@PrinceP1025
@PrinceP1025 4 жыл бұрын
Thank you for all the information you have through this video, it’s helping a lot!
@PerchEagle
@PerchEagle 6 жыл бұрын
But how to display data on terminal window like in Arduino Serial.print function ?
@jstro-hobbytech
@jstro-hobbytech 3 жыл бұрын
Adreno is the name of the gpu Qualcomm uses in it's snapdragon soc modules
@nomoredonations5601
@nomoredonations5601 6 жыл бұрын
I appreciate your perspective. I suspect I will also have to do the same for the arduino board I recently purchased that is an adafruit cortex M4 based board. I will need tightly controlled loops to access various parts of the hardware for ADC sampling and digital input sampling and although the Arduino IDE is great for beginners, it looks like it will be a bit of a chore for people like me who have years of embedded development experience already. Great video!
@northshorepx
@northshorepx 8 жыл бұрын
Love it. Way complex but you explain it well. Thank you.
@breedj1
@breedj1 7 жыл бұрын
I think arduino is a great platform to start with when you are beginning programming uC. But after a while you come to the conclusion that it has a massive overhead. You also need to know what library uses what timer. So eventually people wil start using a IDE like Atmel Studio when you reach the speed boundries of Arduino. What I personally miss with the arduino studio is that you are not able to do debugging with breakpoints. That can also be done in Atmel studio with an extra piece of hardware. That saves a lot of time and frustration.
@Lkabouter
@Lkabouter 5 жыл бұрын
Very nice explanation ! I use the Arduino IDE a lot because of its simplicity. It is really a nice IDE, but I also saw its limitations. ATMEL Studio is sure more versatile but more difficult to use. So when programming an easy application I use Arduino IDE, but when it is more time critical or complex (or a need another microcontroller) I switch over to AtMEL IDE.
@camelCased
@camelCased 2 жыл бұрын
I like PlatformIO in Visual Studio Code better for Arduino. But that might be because I'm used to VS and VS Code in my everyday work (non-hardware) and find Arduino IDE a bit awkward at times.
@PiefacePete46
@PiefacePete46 8 жыл бұрын
Thank you Joop, clear, concise and properly reasoned as always... it makes for very useful viewing.
@pepe6666
@pepe6666 6 жыл бұрын
this video was extremely valuable. im doing timing related stuff with the arduino and yeah this is super signifficant
@chemykl
@chemykl 6 жыл бұрын
why doesn't the code just compensate for processing time by making 50 = 47, maybe because each arduino platform has a different processing time? I feel like that's a single digit value either the arduino ide or the boards themselves can easily store to still compensate
@ShaneAMC
@ShaneAMC 5 жыл бұрын
Tell what addition in Atmel Studio at you it is established that the Arduino_bootloader menu appeared? (9:00)
@Joop_Brokking
@Joop_Brokking 5 жыл бұрын
Please check this video: kzbin.info/www/bejne/sHbFhISXhq-pfqs
@Victoratguitar
@Victoratguitar 6 жыл бұрын
I programmed an arduino nano board using the atmel ice and now I cant use it netiher on arduino or atmel studio, the reset bit was unprogrammed, i read it from the uC... what could have happened?
@farmerdave7965
@farmerdave7965 7 жыл бұрын
Excellent detective work.
@hzrnbugsie
@hzrnbugsie 4 жыл бұрын
You should consider using the xmega controllers, way better and easier to program on Atmel Studio than your regular atmega controllers (Arduino chips)
Improve your Arduino programming skills - The budget oscilloscope.
16:05
How to treat Acne💉
00:31
ISSEI / いっせい
Рет қаралды 108 МЛН
Сестра обхитрила!
00:17
Victoria Portfolio
Рет қаралды 958 М.
Level Up Your Arduino Code: Registers
21:09
SparkFun Electronics
Рет қаралды 187 М.
1-Day Project: Build Your Own Arduino Uno for $5
14:23
Julian Ilett
Рет қаралды 1,6 МЛН
Arduino Uno to ATmega328 - Shrinking your Arduino Projects
37:17
DroneBot Workshop
Рет қаралды 803 М.
Arduino Event-Based Programming
26:12
BP Learning
Рет қаралды 230 М.
Pointers and floats - Improve your Arduino programming skills
14:21
Joop Brokking
Рет қаралды 67 М.
Going from Arduino to ARM
7:59
0033mer
Рет қаралды 94 М.
How to treat Acne💉
00:31
ISSEI / いっせい
Рет қаралды 108 МЛН