TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: How to learn to be a self-taught hardware (EE?) engineer?

13 点作者 open大约 14 年前
In terms of technical skills, I am pretty much pure software (rather web dev). There are MASSIVE resources out there for learning how to program, base on CS tracks, or base on self-taught web development advice from people who've done it.<p>Anything from recommendations from learning Python, Ruby, PHP, to the order in which you would normally learn how to program something... HTML, CSS, Javascript and some backend language, etc...<p>Perhaps I'm a bit naive in hardware development but just exactly what topics in what order would you normally study if you were going at it solo? Yes I do realize hardware development and electrical engineering as a whole is typical an extremely difficult major as it is in college but there's got to be a few hardware hackers out there who are primarily self taught? Advice for someone with no hardware knowledge and where to start?

7 条评论

dkersten大约 14 年前
What do you mean by hardware hacker? Microcontorller programming (and building the electronic support circuits, of course)? FPGAs? Something else?<p>I recently got into microcontroller programming (using both AT90USB162 Atmel microcontrollers and PIC24H PIC microcontrollers). I use them for building/hacking/tinkering with MIDI controllers.<p>I'll give you a brief overview of how I started and what I'm doing now and then if you want to know more, you can comment or email me or whatever and I'll be happy to help, if I can.<p>I started in February, when my brother and myself decided to mod the Midifighter[1] he has. The Midifighter is interesting because, not only does it have an awesome arcade feel to it (because of its arcade buttons), but also it has been designed to be very hacker friendly: DJ Tech Tools (the guys who make it) have released the schematics under the creative commons license and the source code under the GPL. The circuit board also contains solder points for power, ground, four digital extension pins and four analog extension pins - so it is easy to extend.<p>What we did is built an extension which connects to these extension pins, giving the midifighter an additional 17 LEDs, 14 buttons and 8 analogs (4 pots/knobs, 4 faders) - actually, technically, it gave us 32 analogs, which we use for 16 buttons, 16 knobs/faders - though 10 connections are left disconnected.<p>The rest is in the firmware: shift buttons, banks, changing MIDI channel on the fly, etc. Also, the difference between the button extensions and analog extensions is purely in the firmware (and of course what we connected to them).<p>Some details for our mod can be found here[2], the modded firmware source code is on my github[3], more details, pics, videos to be put online soon.<p>This basically taught me everything I know about hardware hacking.<p>What I am doing now is working on a configuration (tool used to configure a midifighter from your desktop) as well as some awesome new firmware mods for existing Midifighter owners (eg, I already released an early prototype version of a mod which allows you to record keypresses and have it automatically play back the MIDI notes in a loop). My brother and myself are also planning our next MIDI controller hardware, which will be even more ambitious than the first.<p>So, from my experience, I would say the best way to learn is to just dive right in! Be prepared to make a few mistakes along the way (which may end up costing a few $, but its worth it for the learning experience - eg, we ordered a few of the wrong parts at first) and just experiment. The midifighter was a great way to get started because it is an open platform and a cool toy. You could just as easily start with an Arduino (a lot of people do!) or something like the Chameleon[4] (actually, the xgamestation.com website has a few cool electronic devices which may be great ways to get started!).<p>[1] <a href="http://midifighter.com/" rel="nofollow">http://midifighter.com/</a><p>[2] <a href="http://www.djtechtools.com/forum/showthread.php?t=28014" rel="nofollow">http://www.djtechtools.com/forum/showthread.php?t=28014</a><p>[3] <a href="http://github.com/dublindan/Midifighter" rel="nofollow">http://github.com/dublindan/Midifighter</a><p>[4] <a href="http://www.xgamestation.com/view_product.php?id=52" rel="nofollow">http://www.xgamestation.com/view_product.php?id=52</a>
评论 #2574598 未加载
echobase将近 14 年前
Ha, I was exactly in the same boat you're in. First, since you specifically mentioned the word 'engineer', you'll want to think like one and train yourself like one. If you haven't done so already, build up your math skills to at least a solid understanding of undergraduate calculus. This will pay massive dividends, and may very well expand your programming horizons, but that is another matter. Also important is a good grasp of the first semester or two of college physics if you don't possess this already. Physics, like math, not only blows your mind but provides the intellectual foundation you'll need to press on into the depths of EE. Use the MIT OpenCourseWare curriculum for structure and perspective. The book for the 'Circuits and Electronics' course: 'Foundations of Analog and Digital Electronic Circuits' is one of the finest textbooks I have ever read in any topic. But in addition to all this theory you'll need hands-on activities. If you're just starting out in electronics, humble yourself and read 'Make:Electronics' by O'Reilly publishing. A great practical introduction to electronics. Good luck.
评论 #2600658 未加载
billswift大约 14 年前
I did some electronic hobbyist stuff back in the late eighties and early nineties, and have been wanting to get back into it. My first suggestion is to get a electric circuits text-the kind that is used in trade schools, not an EE text. Even if you don't really care that much about the fundamentals, at minimum you are eventually going to have to look up stuff when troubleshooting. This is one example of the kind of book I meant, <a href="http://www.amazon.com/Electric-Circuits-Principles-Applications-Computer/dp/0023081112/ref=sr_ob_19?ie=UTF8&#38;qid=1306107858&#38;sr=8-19" rel="nofollow">http://www.amazon.com/Electric-Circuits-Principles-Applicati...</a><p>Next, get a couple of books of simple projects. I'm not up on the current ones, but even a lot of older ones, like Traister's <i>39 One-Evening Electronic Projects</i> (<a href="http://www.amazon.com/One-Evening-Electronic-Projects-Robert-Traister/dp/0830614923/ref=sr_1_1?ie=UTF8&#38;qid=1306108062&#38;sr=1-1-spell" rel="nofollow">http://www.amazon.com/One-Evening-Electronic-Projects-Robert...</a>) or some of Delton Horn's books, will give you a few simple things to start with.<p>Next is the classic <i>The Art of Electronics</i>, which has a new edition coming out, finally. [EDIT: Sorry, looks like a rumor. The second edition from 1989 is still current and couldn't find any actual details for a third.]<p>After that, you should have a better idea which way you want to go and what you want to do. Anything you want to do will be easier with a decent grounding in simple projects though. A lot of electronics, unless you are just plugging together pre-built modules, requires practice.
评论 #2574596 未加载
HeyLaughingBoy大约 14 年前
I'm a degreed EE, but before college I was a hardware hacker. I learned by reading everything I could find: electronics magazines, Forrest Mims Electronics Notebook, at the time Radio Shack had a few other good electronics books. Couldn't afford to buy parts, so I dumpster dived for radios and old electronics I could remove parts from.<p>The first important thing is to learn how to read simple schematics: that only takes a few hours. Then <i>build something</i>. It doesn't matter what you build, it all gives you experience. First thing I built at about age 12 was a "crystal" radio with a hand-wrapped coil and a diode and tuning capacitor removed from an old radio. Try your hand at simple kits like the ones on SparkFun or the Velleman kits.<p>The biggest mistake I see n00bs making is they bite off too much at first. helloWorld() != Facebook<p>Start small: build a headphone amplifier, get some high-power LEDs and make a little flashlight, then get a Teensy or an Arduino and start programming microcontrollers. The experience you gained from lighting LEDs and amplifying signals will pay off when you try to get a tiny micro to control things in the real world. Read the room temperature and have the micro display it by flashing Morse Code on an LED, easy stuff like that.<p>Above all, have fun!
CyberFonic将近 14 年前
EE, like programming, depends on effective modularization. With hardware whilst you can design top-down, the implementations, especially whilst you are learning, needs to be bottom-up. Like TDD, you implement and test each module before you integrate it into a larger module and test that, rinse and repeat ...<p>When designing hardware you need to keep in mind how the software will interact with it. And when designing software you might want to think about how the hardware could help you simplify the design. A general word of advice, keep the hardware as unspecialized as possible. Changing code is easier than rebuilding the board.<p>You may wish to consider starting with an Arduino kit and breadboard stuff incrementally. That way you'll get a feel for how SW and HW interact.
Tcepsa大约 14 年前
For general tinkering with basic principles, you could also keep your eyes open for kits (for example, I have an old 100-in-1 exploring electronics kit that helped me out and to which I intend to return one of these days as it had some good things for getting some familiarity with the basics). Such kits are often designed with educational purposes in mind, and as such include explanations of why the circuits work in addition to instructions for how to put them together.
swhopkins大约 14 年前
Lots of good hardware tutorials: <a href="http://www.sparkfun.com/tutorials" rel="nofollow">http://www.sparkfun.com/tutorials</a>
评论 #2574593 未加载