Ways of learning electronics

WBahn

Joined Mar 31, 2012
32,852
@MaxHeadRoom I sorta kinda hoped I could steer around assembly, but your the second guy I talked to, who told me it was a good idea to have some understanding of it. Maybe my 8 bit computer project might help with that.

@MrSoftware Yet another example of knowing low level stuff is useful :) But I don't know any coding language at all, so assembly is pure gibberish, when I look at it.
You might really enjoy working through the NAND-to-Tetris project. It will walk you through the development of an "entire" computer system starting with nothing but 2-input NAND gates and D Flip Flops. You'll build up all the hardware (albeit in emulation), develop the instruction set (consisting of all of 18 instructions), write some programs in assembly, write an assembler for it, develop a stack-based virtual machine, learn an object-oriented high-level language, write a compiler for that language, and then develop a set of operating system libraries to support the programs.

The book that guides you through this is pretty readable and the projects have been very, very carefully crafted to be doable -- the course is normally taught as a one-semester course and has been taught at the high school through the post-graduate level (the difference being mostly the amount of hand holding involved).

It does, however, assume that you have some level of comfort with a high-level language, preferably object-oriented (as that matches the project setup that they walk you through). But you can learn that at the same time, if you want.
 

ebeowulf17

Joined Aug 12, 2014
3,307
My statement is based on the projects that I have seen published in "Nuts and Volts", where almost every project could be done more simply with either analog or standard logic IC devices. And while it is certainly possible to use a microcontroller to provide the same functions as a LM339 comparator, for instance, it costs more, it takes up more space, and it requires a separate computer to create and load the code.
Besides that, the question was about how to learn ELECTRONICS, which is different than learning to write code. AND, I did offer quite a few very valid suggestions about what to learn and what resources to visit.
No argument here - my comment was directed at the dragon, not you. The dragon offers no rationale, and no helpful suggestions. You made plenty of good points and have reasons for your opinions. I may not agree precisely with you down to the letter, but I agree with a lot of what you said, and respect your opinion in the gray areas where we disagree. Sorry if you thought I was referring to you - that wasn't my intent.
 

dendad

Joined Feb 20, 2016
4,637
I for one think the Arduino is an ideal way to start into electronics, and am mystified as to why there is such a religious view against them. The whole Arduino ecosystem was designed to make it easy to get into electronics and programming. Just saying it teaches you nothing about electronics because you just follow steps applies to building any electronic kit too. Many people start into electronics by buying an amplifier kit or some other thing to build. And just follow the instructions!
The main thing is to get the interest started, and being able to build something successfully is SO important to keep that interest going.
I use a range of micros in my products, including top end PIC32 chips, but still find the Arduinos very handy.
The IDE does suck a bit, but so does MPLAB.
Still, for way less than $10, you can get an Arduino and a handful of bits to start playing. It is really hard to beat. The Arduino is just an Atmel processor on a board after all.
And they can do real work too. My 3D printers are Arduino powered.
http://www.brokking.net/ has some really interesting projects.
Is it elitist to rubbish Arduinos? I don't know. Just don't be put off by those who knock the Arduinos. And because of the Arduinos' success, we now have a great range of small boards to play with, like the ESP8266 and ESP32 and many others.
(My first processor was the Signetics 2650 so I do go back a way.)
 

crutschow

Joined Mar 14, 2008
38,512
I agree with MisterBill2.
Learning electronics and learning computer programing are two separate and largely unrelated skills.
Some knowledge of electronics is generally needed to interface the computer to the world and do useful tasks with it, but the programming requires no such knowledge.

So are you more interested in learning electronics or learning computer programming?
If you want to do both, then I would start with learning some basic electronics.
 

Thread Starter

StrongPenguin

Joined Jun 9, 2018
307
I am interested in both computer science, and electronics. That's why I've started the 8-bit computer project, to understand better how computers work. And I guess when I'm far enough into that project, I will start to expand the original design. And by then, some coding skills will probably be useful (or mandatory).

There is not so much electronics in the project, but I plan to do some electronic project "on the side". Like a voltage regulator. I just converted my ATX into a PSU, but I would also like to be able to regulate volts and amps.

And I guess I will also play with the Arduino. So much to do, so little time.

That's and awesome page there, @WBahn, but will probably have to wait. For now.
 

ArakelTheDragon

Joined Nov 18, 2016
1,366
I take your opinion into account and will give youy reasons.

First years you are programmers, you do not worry about the hardware and the lower level stuff, you just use Arduino, affer all its easy.... And that is your only reason to think its good. But easy things like only knowing how to set the auto pilot without driving the plane, will lead to a crashed plane, like we discussed in a recent thread.

Second Arduino and atmel mega are junk on the inside. Its like comparing the 100 year old wagon with a new Volkswagen. Yes, the wagon is easy, it does not need much maintenance and you can give fuel to the horse for free from any field, but it can never reach the speed of a Volkswagen. They are both wagons though. They have the same name after all.

Third all these things that Arduino hides, become a serious problem at some point. Because you do not know what that function is really doing, so you blame the hardware developer, after all his hardware does not work...And it can not be your fault, the code was working before.

Fourth, through easy and hiding, you will learn nothing, you become another one of those, which just do what they are told and they do not understand it...... It is easy to learn the instructions and just do and just say...but the difference between knowledge and intelligence is that anyone can memorize the books, become a doctor and just say, you are sick of this, but then I was wrong, you can not save them all, but not anyone can use the knowledge and really understand what's wrong with you. They will either kill you or may you pay more, because they were wrong the first time. Their pride is the highest possible though.

Arduino is not used by experts, its used by hobyists, because they do not need to know anything about electronics, they just need to flip the switch and it works... If there are transient processes and it burns, they just say its from the grid, it can not be my fault after all, I am an expert......
 
Last edited:

dendad

Joined Feb 20, 2016
4,637
The Dragon is breathing Anti Arduino fire again.
I am a professional industrial control designer of many years experience and I DO use the Arduino boards in a couple of products. The Arduino Pro Mini to be precise. I cannot buy all the parts to put on my board for the price I can get a ready made little board with the voltage reg, processor, crystal....
They are just a board with an Atmel processor after all.
The Arduino is just another component of the board, like the air pressure/temp sensor, Solar charger, FET outputs, water level sensor circuitry, cell phone comms, AND transient protection!!!!
So don't let these folks talk you out of using Arduinos. I think it is a bit elitist or something like that.
Sure, you will not learn any electronics if all you want to do is wink the on board Arduino LED, but anything past that you do learn electronics.
And one of the best ways is to start with something cheap and easy, like a $5 Arduino, because you WILL blow it up sooner or later.

By the way, I have build systems using a range of processor, including the Harris RTX2000 FORTH engine. Quite a neat device, that we used to build a high speed fruit sorter. But that was way back in 1994.
 

WBahn

Joined Mar 31, 2012
32,852
I agree with dendad. There is nothing inherently good or bad about using an Arduino as part of your journey into electronics. What matters is the attitude and approach you bring to the table. Like anything, the tools you use let you see and learn some things and make it hard to see and learn other things. The strength that something like Arduino brings to the table is that it lets you quickly do interesting and useful things, which not only lets you get a feeling for the kinds of things that are possible but can also cement your interest in learning more. Then you can start exploring electronics by building simple circuits that interact with the Arduino. Eventually (probably not too long down the road) you will naturally move away from the Arduino (not entirely, but for many things) as you delve deeper. At some point you will reach an equilibrium where you have an understanding at a deep enough level to let you do the things you want to do with the tools you know how to use.
 

Hextejas

Joined Sep 29, 2017
187
I agree with dendad. There is nothing inherently good or bad about using an Arduino as part of your journey into electronics. What matters is the attitude and approach you bring to the table. Like anything, the tools you use let you see and learn some things and make it hard to see and learn other things. The strength that something like Arduino brings to the table is that it lets you quickly do interesting and useful things, which not only lets you get a feeling for the kinds of things that are possible but can also cement your interest in learning more. Then you can start exploring electronics by building simple circuits that interact with the Arduino. Eventually (probably not too long down the road) you will naturally move away from the Arduino (not entirely, but for many things) as you delve deeper. At some point you will reach an equilibrium where you have an understanding at a deep enough level to let you do the things you want to do with the tools you know how to use.
Well said and very true. For myself, I am at the point where in have stepped away from the Arduino so as to learn some basic electronics that will interface with the Arduino.
I have spent a 40 year career designing and writing computer programs in about 8 different languages from assembler to c+ and for me electronics is far more difficult. Maybe it's my partially ossified brain but slinging code is a whole lot easier.
Good luck in your travels and I wish you a ton of fun
 

ebeowulf17

Joined Aug 12, 2014
3,307
I take your opinion into account and will give youy reasons.

First years you are programmers, you do not worry about the hardware and the lower level stuff, you just use Arduino, affer all its easy.... And that is your only reason to think its good. But easy things like only knowing how to set the auto pilot without driving the plane, will lead to a crashed plane, like we discussed in a recent thread.

Second Arduino and atmel mega are junk on the inside. Its like comparing the 100 year old wagon with a new Volkswagen. Yes, the wagon is easy, it does not need much maintenance and you can give fuel to the horse for free from any field, but it can never reach the speed of a Volkswagen. They are both wagons though. They have the same name after all.

Third all these things that Arduino hides, become a serious problem at some point. Because you do not know what that function is really doing, so you blame the hardware developer, after all his hardware does not work...And it can not be your fault, the code was working before.

Fourth, through easy and hiding, you will learn nothing, you become another one of those, which just do what they are told and they do not understand it...... It is easy to learn the instructions and just do and just say...but the difference between knowledge and intelligence is that anyone can memorize the books, become a doctor and just say, you are sick of this, but then I was wrong, you can not save them all, but not anyone can use the knowledge and really understand what's wrong with you. They will either kill you or may you pay more, because they were wrong the first time. Their pride is the highest possible though.

Arduino is not used by experts, its used by hobyists, because they do not need to know anything about electronics, they just need to flip the switch and it works... If there are transient processes and it burns, they just say its from the grid, it can not be my fault after all, I am an expert......
Thanks for taking the time to explain your preferences. Knowing your reasoning makes it easier to see the pros and cons of Arduino systems for anyone trying to decide what they want to do.

Many Arduino platforms may be underpowered by today's standards, but a lot of projects don't need fast processors or lots of RAM. A Ferrari may perform better than a Ford Taurus, but if all you're doing is driving to the grocery store it doesn't really matter.

The rest of your arguments all remind me of a fairly standard disagreement in many teaching fields - something along the lines of deciding between teaching perfect fundamentals in the right order, vs starting easy and fun and filling in the hard details later. To me, both approaches have merit.

It may be true that someone working on an electrical engineering degree needs theory and fundamentals from day one, and that an Arduino would just be a distraction. On the other hand, if you're learning for fun with no specific plans to make a career of this, getting the satisfaction of quick success may be the difference between giving up on electronics vs. maintaining interest and developing a life long hobby.

It's worth noting that starting on an Arduino doesn't prevent you from going back and learning core skills in electronics or programming. In my case, everything I learned in my first couple years was built around Arduinos, but I was learning about circuits and learning to write my own code from the very start, because the specific projects I wanted to build didn't exist yet. Having an Arduino didn't prevent me from learning about circuits, it just saved my from the hassle of having to learn EVERYTHING before I could do ANYTHING. I didn't want to spend months just blinking LEDs - I wanted to build and customize my espresso machine, so I did. Since then, I've learned tons more, but I never would've started, much less kept going, without the kick start that the Arduino and its supportive community provided.

Enough about me - I don't disagree that there are many advantages to learning things right the first time, avoiding "crutches" like the Arduino environment, but I don't think that's the only right way to approach it. I think it ultimately depends on the person's ultimate goals, and their learning style.
 

recklessrog

Joined May 23, 2013
985
I don't really know where I stand on this. For instance, when I was a child I had Meccano (erector set) and at first I made projects by following the examples in the instruction book. Once I had gained experience, I came up with my own designs by using lateral thinking.
This same scenario has very recently re-occurred for me, Electronics was also a hobby from an early age and it progressed into a lifelong interest and career. With further education, I acquired many qualifications including a degree.
This was at a time when semiconductor technology was in it's infancy, vacuum tubes ruled (OK) lol. The first transistors were very fragile and the learning/development curve was steep. Old habits died hard with many design engineers who were not able to think "outside the box" and viewed these new devices with distaste and suspicion, preferring to stick with the techniques of yesteryear.
I encountered a lot of opposition when I tried to suggest new ways of doing things with these "fangled devices", but gradually, as new transistors became available, and the old guard relented or retired, they found their way into mainstream design. From then on, there was an explosion in development and vacuum tubes were quickly phased out wherever possible.
At this point in time, specialisation in different fields of electronics began to emerge, my particular path led me into analogue and R.F development and design, but at the same time, computer technology was advancing at a steady pace.
Although I well understood the functions of the logic building blocks, I had very little hands on experience in using them and learning all their foibles and peculiarities.
Over the last twenty or so years, I became more familiar with them by building projects designed by others. Basically I was just an assembler.
Now retired, I run a small electronics club for people with social/ physical limitations, Several members here have generously donated components to us, and amongst them came a very large quantity of logic i'c's.
This encouraged me to to study them in greater detail, learning about the different "families" and "series". As a project, I decided to design from scratch, a workshop universal pulse generator for testing other logic designs.
I laid out the requirements, drew up a block diagram, and looked for i.c's to fit the bill. The old 4000 series seemed ideal as, A) we had loads, B) from what I had read, they were fairly forgiving as long as certain rules were followed.
I started my design process, breadboarding each section and testing as I went along, which all went fairly smoothly until I encountered some oddities that would not work quite as expected. Reading the data sheets and posting questions and getting assistance from this site has so far overcome the difficulties.
So, You never stop learning, no one knows it all, and as one major contributor says, "by asking, you may appear stupid, by not asking, you will remain stupid" I know what I know, what I don't, I'm never too proud to ask for help from others who do.
As for the Arduino, I bought some Uno's and a Mega for the club along with a couple of kits that go with them. Three of the members are fanatical about using them and are busy bashing out code on the club computer at every session. One year ago, NONE of them had any knowledge of programming at all. Now they leave me in the dust!!! They are making a 3D printer from mainly old printer parts and seem to be getting on well with it. The main thing is...........they are having FUN :)
 
Last edited:

bertus

Joined Apr 5, 2008
22,925
Hello,

At our home we played with LEGO.
My friend had fisher technic.

My interst in electronics started when I was about 8 years.
I got a 402 coil , a tuning capacitor , a gemanium diode and a crystal ear-peace.
So I made my first receiver using these parts and the "jongens radio" book.

Later I got the EE boxes from Philips.

They where the ones from the EE1000 series:
http://ee.old.no/

Bertus
 

olphart

Joined Sep 22, 2012
125
I'll suggest it's less important What you start with, but That you start at all.
If you're having fun, you'll put in the time for which there's no substitute.

I learned to solder at 7, and at 65, I still do a Snoopy dance on solving a tough problem.
Only thing changing is the definition of "tough". Good Hunting <<<)))
 

recklessrog

Joined May 23, 2013
985
I'll suggest it's less important What you start with, but That you start at all.
If you're having fun, you'll put in the time for which there's no substitute.

I learned to solder at 7, and at 65, I still do a Snoopy dance on solving a tough problem.
Only thing changing is the definition of "tough". Good Hunting <<<)))
Oh I thought it was just me that got over excited when solving tough problems lol
 
Top