Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Needing some guidance on getting into Electrical Engineering as a hobby

  1. May 23, 2012 #1
    Greetings Everyone!

    I'm new to the forum, it was one of the only forums I found with an Electrical Engineering forum.

    I've been toying with getting into Electrical Engineering as a hobby and I figure now is as good as time as any to get into it. This is just for fun, it's not for any school work.. I'm just a big nerd that gets excited about this stuff. My goal is to eventually like to get to the point where I could build gaming consoles and computers from scratch based off of ARM or MIPS CPU's.

    What would it take for me to start? What kind of Math would I need to brush up on? What would be the best projects for me to start with to learn and understand microprocessors, DSPs, video circuitry, etc? What kind of tools would I need to invest in? What books should I read?

    I know I need to crawl before I can walk.. Time is something that I've got.

    I'm starting ALMOST from scratch here, so please be gentle!.. (P.S: I do have a BS in Computer Science if that helps) :-)

  2. jcsd
  3. May 23, 2012 #2
    I'm going to tell you my opinion with your end goal that you mentioned in mind. With a CS degree, I'll assume you should already have the skills to fulfill game creation - programming - and any of the graphics math that you need to use in software.

    The hardware math doesn't need to get any worse than that for your goal. Its mostly algebra and maybe a little trig. You probably already know boolean algebra and binary, and this is necessary for understanding digital circuits.

    I would suggest buying a hardware engineering or computer architecture book and buy an atxmega 32 bit microcontroller dev kit and program it with little projects. Also buy a digital electronics/digital design book. Besides knowing KVL, ohm's law, gaming hardware takes little actual electronics knowledge to put together. Understanding digital timing will be much more important than the details of circuitry. Your main concerns are that you don't violate any of the components datasheets rules (give it its operating voltage, make sure the pins are driving the correct logic levels, etc.). Practice lighting up LEDs or 7-segment displays. Make a program that talks to your com terminal on a computer with RS-232. These are not so hard from a programming perspective, but it helps you to learn about the hardware and the relationship it has to software.

    Once you get the hang of programming a dev kit and using all of the hardware peripherals on the microcontroller, start studying the board and schematic of the dev kit more closely. As your projects get more ambitious you will start to expand your dev kit, and then you can begin entering the realm of hardware engineering. There are lots of different chips you use to do the different things. Touch screen controllers, USARTs, etc. all have basic requirements and if you meet these, they will work without needing to know how.

    Component level design in digital systems is very easy, and you don't need to do much circuit analysis. Look at reference designs for small gaming devices, and then find every part on the schematic and download its datasheet. You will want to understand as much as you can from the datasheets, as these tell you how to interface your components together. This is probably the most important part.

    The only areas you will really be lacking on are:
    - PCB design
    - Analog design

    PCB design is easy and there are lots of guides and free software to do it. They don't even teach this in EE school.

    Analog design is tricky, and for you to design power supplies beyond simple LDOs will be more of a challenge than anything above. You can use designs someone else came up with or do as datasheets/application notes suggest to get the hang of it. Again, the important thing to remember is that it must fulfill all of the datasheet requirements of the parts in your system. It has to provide enough current at a determined voltage to all of the parts. If you are going to design a SMPS or some other regulator, you will then need to go back to your physics book, EE electronics books, and other sources to really know what you're doing. Also, you may need to use transistors for switch functions, and so knowing how to make them act like a switch will be useful.

    So, you really don't need to know much EE to design a gaming system (or many embedded systems for that matter). To understand how/why all of the components work takes more fundamental EE knowledge, so if that's your true goal then my advice is not as effective. If you are going to make a gaming system that implements wifi or high speed signals, then your job gets harder, but that is well beyond the baby steps we're talking about.
    Last edited: May 23, 2012
  4. May 23, 2012 #3
    Thank you very much for your reply, DragonPetter.

    I'm looking not only looking to know how to build a game console, but to also understand what the pieces do. Building a game console will be fun enough, it's something I've always wondered about since I was a kid.

    What do you suggest as a first ATXMEGA 32bit microcontroller?
  5. May 23, 2012 #4
    "Also buy a digital electronics/digital design book" -- What do you suggest for this as well?
  6. May 23, 2012 #5
    In that case, you should study circuit analysis. You should also study microelectronics to understand transistors/FETs. Also, intro physics books do a good job of explaining how resistors, caps, and inductors work. If you get that far, you will have a better idea of what else there is that you want to study.

    I used a STK6000 recently, and it was fine. I also bought a cheap $20 USB programmable one recently. There are so many out there. You might want to buy a debugger with it, but its not necessary. There are other dev kits that provide a lot more peripherals, like a VGA port and other stuff, so its good to just look around. I used an ATXMEGA128A1 and its not much different from programming lesser chips. Have you seen the raspberry pi? That would be useful if you plan to use an operating system in your microcontroller.

    I don't really know of many books personally. I use "digital design essentials" by Sandige and I like it a lot. It has everything you need to get the fundamentals for understanding modern digital components.
  7. May 23, 2012 #6
    thank you for the responses!

    I've found quite a bit of microcontroller starter kits online. One of them was a pic32 available from microchipdirect.com, I've also seen the a few ARM Cortex3 based starter boards available from Digi-key and Silicon Labs. There was the ATMega line of boards as well.

    Which would be the best to start with? I'm leaning towards the PIC32, but the ARM Cortex3 doesn't seem that bad either.. Nor does the ATMega.

    I have looked at the Raspberry-pi, funny you should ask, I'm on the reservation list... Still waiting. :-) The thing is that the Raspberry-pi seems too polished and too finished of a product. I'd like to learn video hardware and sound hardware, which look to be already integrated into the Raspberry-pi.

    It would be, as you said, a great platform to develop an OS.
  8. May 23, 2012 #7
    Another thing I'd like to ask..

    When looking at people's projects on youtube, I see a lot of FPGA units. What are those units and what are the difference between those and microcontrollers?
  9. May 24, 2012 #8
    I would go with the pic or atxmega. I think ARMs are more complex usually.

    FPGAs are ICs that can fill the role of a microcontroller, but they are very hardware oriented because you program them as if you were building things with logic chips. They can do a lot that a microcontroller can do, and you can even burn soft-cores into them that run C code. You can design them to be highly parallel which is advantageous for some tasks. They are programmed with VHDL or verilog. This would be a good dev kit to learn digital electronics. The digital design book I mentioned has some good information on them and programming with VHDL.
  10. May 27, 2012 #9
    Thank you very much!

    I think I decided on the PIC32 series of CPUs. I'm still asking about on what a good starter setup would be and some good development books on the PIC32.

    I looked up the book you suggested, I think that will be another purchase. :-)

    Thank you very much for your suggestions! They have really helped!

  11. Dec 22, 2012 #10
    I recommend The Art of Electronics by Horowitz and Hill for general EE. Its one of my favorite books of all time. It spans really basic intro stuff, analog electronics, digital and mixed signals, all the way to microcontrollers and pcb design. The latter two items are probably pretty dated by now, I always use online sources for that info.

    I've programmed ATMegas and ARM cortex M-3s. ATMegas are super easy, but ARMs are waaay more powerful. I think PIC is closer to ATMega, but i wouldn't know for certain.

    Here is an ARM development board that I covet. I had one with an LCD touchscreen that plugs into it at my old job but never got a chance to play with it before I left. Its insanely powerful with a 120MHz core, external memory, onboard LCD controller, audio input and output, etc. With something like that, you could really go straight into game programming with video and buttons, theres even a little joystick.

    The PIC is a great starter so i hear and a much more realistic choice.

    Have you seen this? It seems perfect for you.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook