"Don't worry about what anybody else is going to do… The best way to predict the future is to invent it. Really smart people with reasonable funding can do just about anything that doesn't violate too many of Newton's Laws!"
Filter design is one of the most interesting aspects of electrical engineering. This is in no small part due to the wide variety of topologies and configurations available for each kind of filter. In the early days, filters were passive — made exclusively of resistors, caps and inductors — but since the advent of low-cost, low-distortion op-amps, active filters have become much more prominent. One of the greatest benefits of active filters is that they don’t require inductors, so size and weight are kept to a minimum.
App note 1762 from Maxim is a good survey of common active filter topos, and explains the strengths and weaknesses of each one. The basic topologies can be extended with more advanced techniques, such as voltage control or switched capacitors, but the underlying configurations are the same.
If you ever have to move from a single prototype to machine assembly using automatic pick and place machines, you’re most likely going to have to deal with panelizing your PCBs. This just means taking your basic PCB design, and multiplying it a certain numbers of time in an X/Y pattern. What happens is the machine operator will program one board in, and they can simply step and repeat across all the other boards on the panel, significantly speeding up assembly since solder paste can be applied to many boards at once, and minimizing time lost shifting boards in and out of the pick and place. While there’s some information out there on the panelization process, it’s not spoken about nearly as much as it could be, which is why I was glad to come across this article (from the very read worthy Printed Circuit Design & Fab): The PCB Array, and Why We Use It. Definately do some more digging around on that site if you’re into PCB design, since there’s a lot of great stuff and you can browse back issues online for free!
If you’ve ever been curious about how to properly define BGA footprints or what patterns to use for BGA ‘fan-out’ (breaking the signals out from underneath the chip), AN10778 from NXP provides a lot of helpful information on some common BGA packages. 1.0mm and 0.8mm pitch BGA actually aren’t that bad to work with and you don’t need to pay for super-exotic tolerances from your board house, plus bridges underneath are reasonably rare if you have a good paste layer and footprint. It does get a lot more challenging and expensive from 0.65mm and lower, but NXP provides some good suggestions and clear numbers on how to handle both situations.
This is one of those things that just seems to be so stunningly obvious that you should have thought of it yourself every time you make a dense footprint (say 0.65mm BGA or less) … but I’m ashamed to say it never even crossed mine, despite having made several BGA and CSP footprints and boards. Trying to make some tight BGA pads with a specific diameter? 0.3mm in Eagle may not turn out to be the 0.3mm you’re expecting on your PCB, and Andrew Zonenberg explains why in PCB Fab Characterization on his excellent blog Silicon Exposed.
I came across this presentation from Embedded World today that gives a brief summary of the various ARM Cortex chips (and there are a lot of them in the Cortex M, R and A families!), but specifically the ARM Cortex M series. One of the biggest advantages of using ARM is that everything tends to be forward compatible, meaning that every instruction in the teeny-tiny Cortex-M0 core is supported in the larger Cortex-M3, and all the M3 instructions are included in the even larger M4 (which adds single-precision floating point acceleration, and some basic DSP-type commands), and so on. If ARM has really taken off in recent years, this easy migration and transfer of knowledge is a big part of it, combined with the huge number of chips available from a half-dozen manufacturers (TI, NXP, Atmel, ST, Freescale, Energy Micro, etc., etc.).
I’m kind of curious how much interest there really is in low-end ARM chips though — essentially the Cortex M family, since the A-series is far more complicated to work with and isn’t aimed at solving the kinds of problems most hobbyists are working on. I learned embedded development on ARM and it’s what I’ve always used, so I always have a hard time judging how accessible people find it, and what they’re looking to learn to get started with ARM. I’m convinced the low-end ARM chips are the best value on the market right now — just look at the specs for dirt-cheap chips like the Cortex-M0 LPC1114 at $1 (50MHz, 32kB flash, 8kB SRAM) or the Cortex-M3 LPC1343 (72MHz, USB, faster code execution thanks to three pipeline architecture versus single-pipeline on the M0).
Let me know in the comments below what you’d like to see with ARM, or if you’d rather see things focused in a different direction (like focusing EE Bookshelf more on PCB and HW design, or general embedded SW development best-practices). I’m all out of favorite datasheets and books, and wondering what people want to see more of moving forward!
It’s admittedly pretty specialized, but there’s very little accessible information out there about ARM assembly in general (documentation from ARM always feels sadly neglected and half-hearted to me), but I came across this wonderfully precise and accessible summary of inline ARM assembly with GCC that really surprised me. It’s not something you’ll use all the time even if you do a fair amount of development on ARM, but it’s a treasure chest of information if you’re trying to figure out how to optimize some particularly picky function: ARM GCC Inline Assembler Cookbook.
While trying to reduce the overall noise level on some boards I’ve been working with, I was looking for a reliable way to first measure the noise level and figure out how best to address the problem. If you can’t measure or visualize it, it’s hard to fully understand it and reliably fix it! Looking for a solution to measure the quality of the GND planes, etc., I came across this helpful appnote from Analog Devices: Measuring Ground Noise. They present a relatively straight-forward setup based on an AD620 instrumentation amplifier that can be used to characterize the GND plane on your boards. The article is worth reading simply because it brings up something a lot of people don’t think about doing boards design: GND. Particularly with high-speed design (anything greater than a few MHz), or with switching-mode power supplies, etc., it’s important to think about the return paths on your boards in addition to the signal transmission lines and part placement. Howard Johnson’s High Speed Digital Design is probably the best book (that I know of!) on the subject, but I haven’t seen very many circuits showing how you can measure noise on the gnd plane, so I thought it was worth sharing the above PDF.
I’ve been doing a lot of power supply testing lately, using both switching a linear supplies. Since it’s not something I’ve had to do often in the past (I’m an apps person, not so much a test engineer) … I thought it was worthwhile to spend a bit of time digging around for app notes on accurately characterising linear and switching supplies. Long story short: AN 372-1 from Agilent was one of the more useful ones I found (though I’m sure there are dozens out there). Short story long: read on … (more…)
Having a hard time trying to figure out whether that FET can handle enough current for your project? AN11158 from NXP might help clarify some of the many parameters that you need to take into account that are often overlooked. The Safe operating area, for example, is an important one that often gets skipped and people just look at the best-case scenario marketing numbers on the front page of the datasheet: “The Safe Operating Area (SOA) curves are some of the most important on the data sheet. The SOA curves show the voltage allowed, the current and time envelope of operation for the MOSFET. These values are for an initial Tmb of 25°C and a single current pulse. This is a complex subject which is further discussed in the appendix (Section 3.1).”
It’s pretty rare that I come across a free book with so much good information in it, but Analog SEEKrets is definately worth a few days of any budding young engineers time. Written by someone who clearly has enough years experience behind them to know what they’re talking about, this book — freely downloadable in PDF format — contains a lot of excellent real-world information that anyone working in the commercial world will either recognize or appreciate. Some of the practical things I liked in the book were checklists you can give to any new team member, such as the Pre-Supervisor Checklist (p.19) to make sure someone did their homework before pushing problems up the food-chain. (Helpful Hint: If you want to fit in well in any engineering team and get the help you want when you need it, it’s important to make sure you’re not asking questions you could easily have solved yourself, or at least be able to demonstrate that you’ve clearly made some effort first. I wish I would have thought of making a list like this myself working with interns, etc., as they tried to learn the ropes to make sure everyone is getting the most out of the time available in the average working day.)
There’s a lot of excellent information in this book whatever your experience level, and it’s well worth downloading and reading. If you find it valuable, definately consider making a contribution to the author to thank him for making the book freely available online now that it’s no longer in print.
Have you ever wondered how complex ICs are really made, and how you get from raw silicon to finished chips? I was lucky enough to spend a short but happy part of my career working at a fairly large chip fab (though as an apps engineer, nothing to do with manufacturing), but still find myself with more questions than answers on the gritty details of it all. It was an amazing eye-opener for me to see first-hand the kind of mastery and machinery that it takes to produce finished chips, going through design, processing, testing, packaging, characterization, etc. I think the only thing as humbling has to be seeing something like the space programs at NASA or something similar. You can only be in awe of the level of mastery required across so many disciplines to pull something like this off.
Unfortunately, most of the technical documentation out there on this stuff is understandably written for and by people who are hopelessly above my pay grade, and I don’t understand a fraction of it (and I’m happy to admit it!). If you’re really curious about getting an accessible look into chip design without the need for 10 years of training in semiconductor physics, though, Demystifying Chipmaking by Yanda, Heynes and Miller (published by Newnes) is an unusually accessible introduction to the topic. (You can even get the first three chapters free in a preview off Amazon if you have a Kindle or download the Kindle SW.) It’s an old book, but it’s still relevant today since it’s focused on CMOS, and even if they only talk a bit about the <100nm processes that are common today, the basics still apply. Have a look at the free chapters, and see if the rest interests you!
Today’s bookshelf isn’t a datasheet or a book. It’s actually just a webpage (which I suppose would make it an ‘EE bookmark‘), but it’s one that I like a lot, so I figured I’d share it.
Which capacitors sound better than others? Or perhaps, which ones distort the least? This is a contentious topic among audiophiles, musicians, DIY synth builders and occasionally HAMs as well. I don’t actually want to wade into this argument. My main purpose in writing this post is to share with you this excellent webpage over at greygum.net. I keep this one near the top of my bookmarks folder, and make sure it stays there when I migrate to a new computer.
This page dates from 1999, but the information is still good. It’s also a great example of an awesome late-90′s webpage.
The author, Steve, performed some tests to find the D-E curve of various types of capacitors (his test set-up is described at the bottom of the page). The results can be eye-opening.
The two worst performers on that page were electrolytics (which exhibit marked hysteresis, particularly the tantalum, above), and ceramic monolithics, which have very noticeable distortion. The one thing both electrolytics and monolithics have in common is their relatively compact size, achieved in part by use of a very thin dielectric. It’s interesting to see that the high-voltage monolithic has less distortion than it’s low-voltage counterpart, perhaps in part because the HV version has a thicker and/or different dielectric.
While I had known from long-time experience that ceramic and electrolytic caps can muck up the signal path, I never had any data (visual or otherwise) to back it up — until I read about Steve’s experiment a few years ago. As such, I tend to relegate these caps to decoupling and bypassing, and use something else for anything that touches signal, usually polypropylene film.
Admittedly, Interconnecting Smart Objects with IP [ISBN: 0123751659] by Jean-Philippe Vasseur and Adam Dunkels (of lwip and Contiki fame) deservedly made the rounds a while back, so we might seem a bit late on the draw pointing it out again here. But while I haven’t been doing anything with wireless lately myself — that’s much more the domain of the always knowledgable Akiba over at Freaklabs, who I’m always happy to defer to – I pulled this book out again this month for something else. It goes into a lot of valuable detail on what it takes to implement a complete wireless sensor network infrastructure and it’s well worth the investment if you have any interest in WSNs, but an unexpected bonus for me the first time I read the book is that it also gives you an excellent overview of all the little pieces that fit into IP-based networking of any type … and there are a lot of pieces in that puzzle! If you’re interested in getting started with IPv4 or IPv6 and Ethernet, there is a lot of information out there, but I was surprised to find Vasseur and Dunkels’ summary one of the most readable and accessible introductions that I’ve encountered, giving you a good understanding of the glue that holds everything together. Trying to add wireless OR wired network connectivity to your next great idea of project? You could do worse than spend an evening with this book and a good highlighter.
Alright … I admit the title sounds repulsive and makes you want to click away, but being someone interested in design as well as engineering, I sometimes look at sites like smashingmagazine just to see if there’s anything worth procrastinating over for a few minutes. The article above is well worth a read.
Why am I posting this here on Adafruit under EEBookshelf, though? Because I see a lot of questions about how to run your own kit business, and in my opinion — and I know Phil and Limor share it — good, precise, expert information is the best marketing you can ever provide. Give people the information they want in a regular, concise and accessible way, and as long as your products are aligned with people’s needs and expectations, the customers will inevitably come to you. Good information is, in my opinion, the key to running a successful business, though it’s obviously more complicated than that. Why was I an Adafruit customer long before I was an Adafruit employee? Because they also treat their customers, their employees and their business partners fairly, and they play by the unspoken rules that reflect the best of what open source hardware should be.
Working in the kit business is exceptionally hard. The support, shipping, sourcing and stock maintenance, site development, and a lot of other S’s make for long days, but if you’re serious about getting started, the best thing you can do is focus on a specific area that isn’t being treated well, and provide the kind of expert information that makes people want to come to you. There are some huge gaps in knowledge out there, and people are thirsty for information … the best way to succeed online is to feed that need in a regular, readable format. This article from smashing makes some good points about getting started doing it well from day one.
If you’ve ever had any questions about how to efficiently add CRC (Cyclical Redundancy Check) to your code, this PDF from the author behind the excellent Hacker’s Delight (Henry S. Warren) is a great start. If you’re interested in writing efficient code, the rest of the site is worth a browse as well: http://www.hackersdelight.org/