Where's a good place to start with modern digial stuff ?

Thread Starter

DarthVolta

Joined Jan 27, 2015
150
I know a lot of 1st/2nd year EE, and some basics of digital electronics. I have an ardunio, but don't really know any programming. What's an earlier, more basic point to start with ? Should I play around with 1980's EEPROM's ?? Should I try some more 1st year CS lectures? Or is an Arduino a great place to really dive in, I rather know more basics/legacy stuff tho ?
 

Yaakov

Joined Jan 27, 2019
1,601
I know a lot of 1st/2nd year EE, and some basics of digital electronics. I have an ardunio, but don't really know any programming. What's an earlier, more basic point to start with ? Should I play around with 1980's EEPROM's ?? Should I try some more 1st year CS lectures? Or is an Arduino a great place to really dive in, I rather know more basics/legacy stuff tho ?
As in many cases, starting with something compound as in the case of the Arduino makes a lot of sense. This is because if you tried to start with lower level components you will find yourself accomplishing little for a very long time, but...

While the Arduino allows you to make useful things immediately without knowing the vast housekeeping requirements of the software aNd hardware, it offers a ”high ground” perspective and allows you to iterate to higher and lower levels.

That is to say, you can start with the Arduino, and then, if oyu are inclined, use basic components with it as a platform, or more sophisticated devices with it as a platform.

So, my advice is, go through a good Arduino tutorial, get a solid foundation in how to make it do what you want, then pursue interfacing with components at a lower (or higher) level to it.

If you are inclined, after you have some idea how to make the Arduino do useful things (or even as you are learning it) investigate and master the lower level components and systems (hard

EDIT:

...(hardware and software) of the Arduino itself, there is a LOT to learn there.

(Sorry, something messed up during the original post and the editing of the whole thing is a bit off, and the end was missing.)
 
Last edited:

jpanhalt

Joined Jan 18, 2008
8,079
I have an ardunio, but don't really know any programming. What's an earlier, more basic point to start with ? Should I play around with 1980's EEPROM's ?? Should I try some more 1st year CS lectures? Or is an Arduino a great place to really dive in, I rather know more basics/legacy stuff tho ?
Second part first, I do not think starting with a legacy EEPROM would be very productive until you know some programming. Even then, I would not recommend doing that unless you have a purpose that needs it.

As for starting without knowing any programming, that is where I started. I knew nothing about microcontrollers or programming for them. (I had done some very simple stuff with the TI 99-4 and Basic many years before.)

I started with a simple chip, the PIC12F509 and had a simple project, controlling a model airplane servo. Friends suggested starting with C or a variant of which Arduino is one. To me, learning a microcontroller was one challenge, and I didn't want to add the additional challenge of learning C simultaneously. Writing with Assembly mnemonics seemed natural, not like a new language, and was like drawing a flow chart, which was something I had been doing for years as part of my job. In fact, my first program was written first as a flowchart using PIC Assembly instructions for the 12F509. As my projects expanded, so did the devices to include mid-range devices with interrupts and now enhanced mid-range devices like the 16F1829. So far,my projects have not required more, but sometimes I am tempted.

I am pretty project focused and virtually everything I have done has been with a goal, such as the servos, or as a challenge, such as "how can I do that." Learning in a vacuum from page 1, lesson 1 of a tutorial doesn't work for me. Of course, that's an exaggeration. That is where you start when you want to flash an LED, and moving a servo is not much different than doing that.

My question of you is, What do you want to do with a microcontroller?
 

AlbertHall

Joined Jun 4, 2014
8,513
I got my first job which involved writing software partly on the basis that I could write programs for the Sinclair ZX81 and Spectrum. This was functional test software mostly for Commodore 64 and Pet using IEEE48.
 

SamR

Joined Mar 19, 2019
1,295
Going back and learning TTL may be interesting but is now antiquated technology. Look at what uPs today use and go for it. Arduino is a sort of hobby approach but will introduce you to some basic concepts and the heart of the Arduino is an AVR family uP and the Arduino IDE can be used with all AVR family devices. One big thing in Arduino's favor is price. The boards are cheap and the IDE is free. Since you already have the Arduino look at this book: Sams Teach Yourself "Arduino Programming in 24 Hours". 24 ~hour long chapters with exercises. This is not a beginner's book but once you have the basics down it fills in the gaps with very pertinent details.
 

dl324

Joined Mar 30, 2015
9,121
I have an ardunio, but don't really know any programming. What's an earlier, more basic point to start with ?
What is your background (education)? I graduated from high school in the early 70's and had learned BASIC and FORTRAN by then. Learning how to program was more important than learning programming languages.

Should I play around with 1980's EEPROM's ??
Do you have a use for nonvolatile memories in any circuits? EEPROM is slightly easier to use than FLASH. I have EPROM, NVRAM, EEPROM, PROM, and FLASH in my parts inventory so I can pick whatever I think is most convenient for the project at hand.
Should I try some more 1st year CS lectures?
Do you already know how to program? If not, I'd attend a class for that. If you already have some CS background, you can find free lectures on-line (I've gone through some from MIT).
Or is an Arduino a great place to really dive in, I rather know more basics/legacy stuff tho ?
If you can program in C or C++ and know some electronics, Arduino is easy. Most of the tedious stuff has already been done and is made available in libraries. The thing I like about Arduino over RPi is that you have no OS overhead and the I/O's are 5V, so interface to 5V logic is more straightforward. The I/O's can also sink up to 20mA where the RPi I/O's are 3.3V and rather wimpy.

There's a forum for Arduino, but I've found the site to be difficult to use (you have to jump through a lot of hoops just to post a picture) and I found many of the high post count members to be unwelcoming.

I just started using Arduino last summer and found it straightforward to use. Before that I used some ARM based microcontrollers that run Debian Linux (C.H.I.P. and RPi). Each has its advantages and disadvantages. I like Chip more, but it's no longer available. I chose it over Rpi because I was just starting and it was new at the time.
 

Thread Starter

DarthVolta

Joined Jan 27, 2015
150
Ok I don't have any projects in mind or anything, I'm doing all this as a hobby but with the hopes of maybe going back to school or getting a job somehow related to EE/CS someday.


So maybe I should start delving into C and/or python again (I did a few classes online, but don't remember any of it). I'll check the Sams Teach Yourself "Arduino Programming in 24 Hours" too.

When I tried ardiuno 2-3yrs ago, it did get the lights blinking, but gave up. Back then I only knew Ohm's law really, and not much else I guess. I'd like to try making some basic motorized things, like a 2D drilling machine, and try making copper clad boards designs, for RF hobby projects. I've scrapped pronters and stuff over the years, but never used the motors or sensors for anything yet, so it's about time I learn them too. I have lots of little copper clad boards, time to start using them.

I'm sure I've seen people take 2 CD drive beds, and make a 2D printer, controlling it with ardiuno, so I'd try to make something like that, a 2D drill/groover, for dead bug design's with the copper clad. That's a long term goal I guess
 
Last edited:

dl324

Joined Mar 30, 2015
9,121
When I tried ardiuno 2-3yrs ago, it did get the lights blinking, but gave up.
Don't limit yourself to just Arduino. Arduino is more appropriate for some things, but not all. With RPi, you have a Linux "computer" and you can use whatever language you want (as long as it's supported). With a WiFi connection, you can make self-setting clocks.

I made a 4x4x4 LED cube and run it on C.H.I.P. There's an occasional blip when the OS needs time to do something else, but I don't care. It's a lot easier to be able to control the display features from the command line. Same for the scrolling LED matrix clocks I made. It's easier to enter strings I want to display from the command line vs. trying to compose messages using buttons to cycle through letters.
 

danadak

Joined Mar 10, 2018
3,609
Take a look at block programming languages, fast way to do somethjing,
and you can see the Arduino C code generated as a way of bridging easy
programming and C.

An example using Ardublock - https://forum.allaboutcircuits.com/threads/flexible-pulse-sequence-generator.156863/

Here is an arduino approach that converts analog V to PWM output using mBlock -

1574249592397.png

Another block language allows you to use PC to talk, like a talking voltmeter....

https://forum.allaboutcircuits.com/threads/talking-arduino.161537/
In all above you drag and drop blocks, configure them, and tool generates the Arduino C code
for you.


Regards, Dana.
 
Top