12

5

When working with AVR microcontrollers or Arduinos, what is something that if you had known sooner would have saved you a lot of time or frustration?

flag

16 Answers

11

For me it's the other way around: I wish I knew about Arduino's and AVR's before they tried to teach me electronics in secondary school. Learning Ohms law without ever having seen or used an actual resistor was not a pretty exercise. Back then it would be ideal to have an Arduino around to play around with.

Because of this, I would have like to have known more about basic electronics. Simple questions as: why should I care about current? (because things blow up if you don't) Why should I care about resistors? (same here and other stuff) Why should I care about caps? (all kinds of reasons)

Having the ability to play with micros (and frying them in the process) has tought me most of these things but I wish I had learned them sooner. (Classic chicken and egg problem I guess)

link|flag
Very well put, I have seen many many students who are fluent with there theory of how a diode works but cannot identify one from a bunch of components – Rick_2047 Jun 26 at 4:57
Wow... they try to teach you basic electronics without letting you play with resistors and capacitors? Did they at least use the water analogy? – Andrew Kohlsmith Aug 4 at 6:30
They probably did let us play with electronic parts but not with the ones you buy but with the special "educational" versions. I remember working with an educational "binary logic" board. All the components were visible only as symbols with connectors for patch cables. The educational value of that was no more than a computer simulation. It would have been fun to have been able to play with real components and at least get the idea that all the stuff you learned had some real application somewhere. And that components are quite cheap and readily available instead of "special and expensive". – bpijls Aug 16 at 17:35
10

I wish I'd known how much FUN it was :) If I had I would have started playing with this stuff much sooner!

link|flag
9

I wish I had known that every math class I would ever take I would use again, and more than once, and I sure as hell wish I had paid a bit more attention.

I wish I had a lot of hands on experience programming and using FPGAs. They are the new wave of embedded system development and I have only basic class experience with them.

I wish I had been taught how to use all of the modules of Microcontrollers in classes before my boss expected me to use them all.

I sure as hell wish that my university's electrical engineering department started design classes before senior year.

link|flag
+1 for the "design classes before senior year" - in retrospect, a project each year wouldn't have been a bad thing. – JustJeff Aug 5 at 2:09
yeah, it would have done me wonders. I learned more in one project then I did with any other class. – Kortuk Aug 8 at 3:21
6

I wished I'd had a clearer understanding of Fuse bits. I spent half my time early on terrified that I'd brick my mega32. Oh and ditto with regards to serial IO.

link|flag
1 
As someone who currently spends half their time terrified about bricking his mega32, I'd appreciate it if you could elaborate on this. :P – Grey Jun 28 at 19:44
6

I think of loop as being the arduino's substutitue for main in C. So I declared some variables at the top of loop. Bad idea, they get re-initialized each time around the loop. Instead declare as globals before any subroutine. Not a big deal, but it took a few minutes to figure out what was happening.

link|flag
5

I wish I'd known how useful a board vise and a really good soldering iron would be. My Panavise Jr and Aoyue soldering station cost < $100 together, but they've paid that back many times over by making it a lot more pleasant to build things.

You don't absolutely need them, but they're much much better than helping hands and $15 cheapo soldering irons.

link|flag
4

I'm with Kortuk. I wish we'd started simple design classes before final year of university, but specifically I wish we'd gotten to use an Arduino board in my classes!

We used a specially configured board designed at University of Wollongong based on an old Motorola chip, all programmed in assembler via a monitoring application. Pain in the arse!

Of course, I look up the course content for digital design now and they're all using Atmel AVR chips. sigh

I also wish I had more time to tinker with 'em, 'cause that's the best way to learn!

link|flag
3 
Yeah, We did the same Motorola work. There is a big shift towards ACVR inside the tinker/educational community at many schools, but I think the PICs from Microchip are a better starting product personally. I think they have a broader range of applications, but I will admit in Low power apps I use MSP430s created by TI. – Kortuk Nov 17 at 9:18
For our third year group project, we built a wireless electrocardiogram rig based on a PIC chip for the data collection and RS-232 reporting to a computer running the host application. The one we used was a great little unit (can't remember spec now, it's been a while) and really gave me a proper appreciation for Micro's in small, complex logic devices. :D – Sketchy Fletchy Nov 19 at 21:18
1 
Sounds like a great project for senior design. I am getting ready to change up how my school teaches PIC. I got some professional development boards and will be teaching students how to handle multiple interfaces. – Kortuk Nov 24 at 7:58
4

I wish i had arduinos and "make things talk" when i was a kid. I would have automated everything!

link|flag
4

The CAN bus communication scheme and CANOpen.

link|flag
Do you have any good links? – Johan Apr 28 at 13:52
@Johan - From my answer, you can tell I don't know a whole lot about it. At work we have a book on CANOpen that we use from canopenbook.com. The wikipedia pages don't look too bad. If your'e primarily writing higher-level software, the important thing is to realize a message has an 11-bit ID, and a 8-byte data segment. I'll be working on a CANOpen project in the upcoming days/months, perhaps I can give more links later. – sheepsimulator Apr 28 at 15:28
I'm actually slowly working on a project with the means of learning this....this would be very helpful (especially car projects) – onaclov2000 Aug 3 at 18:56
3

I have used the Arduino a fair bit and I wish I had known how difficult serial IO was on arbitrary pins. I eventually settled on a 3rd party library but it took weeks to get to that point and even then it was not rock-solid reliable.

link|flag
3

One thing I wish I knew better is analog circuit theory. 1s and 0s are easy...hook pin 1 of device A to pin 2 of device B.

A second-order band-pass Butterworth multiple-feedback filter...not so much. And then you have to worry about the characteristics of the op-amp, like whether the capacitive load on the output combined with the output impedance of the op-amp creates a pole which makes the output oscillate.

Or let's say you want to send an audio signal to headphones. You must carefully choose a DC-blocking cap, because it will combine with the impedance of the headphones to form a single-pole low-pass filter. Pick the wrong cap and you will neuter the bass frequencies.

link|flag
2

Similar to the accepted answer, I wish I had known about Arduino's sooner. There were some designs I was looking at doing around the house. I have no problem designing my own boards with uC's, but I just didn't want to pay for the PCB costs at the time and then mounting SMT chips. So, those projects fell by the way side. However, now that I know about Arduino and all the shields for it, I'm considering them once again.

link|flag
2

I wish I would have known that I could get free samples from a lot of online stores. Then I wouldn't have been forced to choose which project to get started on based on cost. And I wouldn't have been afraid to buy components that I wasn't 100% sure I could get working.

link|flag
What kind of things can you get free samples of? Any examples of parts you got from particular stores? – Grey Jun 28 at 19:51
@Grey: Well I just got a free 2X40 character LCD from Purdy Electronics. I only recently discovered this whole sample thing. Here's a place that lists quite a few suppliers that have sample programs: instructables.com/id/Free_Electronic_Samples – wallacoloo Jun 29 at 0:41
0

I wish I'd known just how easy it is to make a BSD programmer and get started. That would have saved a lot of time tool hunting. Of course I also wish I would have had the Bus Pirate sooner :)

And I still wish I knew where to get more chips cheaply (including delivery).

link|flag
0

What I wish many of my interns knew is how difficult and demoralising electronics can be. I see many non-engineer types try to add some flashing lights and sensors to a fashion project or something, not realising that they're heading for a debugging nightmare.

If I was to write a book on electronics, I'd do my best to scare people away in chapter 1. Anyone who was left would probably be able to put up with debugging.

link|flag
1 
I disagree with this quite strongly. Electronics is no more demoralizing than learning to knit or how to play a musical instrument. If you want something custom and haven't got the patience and frame of mind to LEARN instead of applying a cookie-cutter solution then yes, you're in for a bit of a rude awakening. Head over to SparkFun and grab some flasher modules if that's all you need, but be prepared to stay within the limits of what they provide. You can't have both. :-) It's like I tell my kids... most things that are worth learning are going to take practice and patience to master. – Andrew Kohlsmith Aug 4 at 6:37
No, electronics is quite different to knitting. Both of these subjects are hard because they require practice to get good at, but a wooly jumper never mysteriously stops working when you wave your hand near it. Electronics has a whole 'nother arena of 'fun' waiting for you, even if you're very experienced. I've been in the business for 17 years, and things still bite me. – Rocketmagnet Aug 4 at 19:27
0

Everything.

(Yeah, it's unrealistic)

(Also, better).

link|flag

Your Answer

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