CC271: Got Range?

As with wireless connectivity, when it comes to your engineering skills, range matters. The more you know about a variety of applicable topics, the more you’ll profit in your professional and personal engineering-related endeavors. Thus, it makes sense to educate yourself on a continual basis on the widest range of topics you can. It can be a daunting task. But no worries. We’re here to help. In this issue, we feature articles on topics as seemingly diverse as wireless technology to embedded programming to open-source development. Let’s take a closer look.

Consider starting with Catarina Mota and Marcin Jakubowski’s Tech the Future essay, “Open-Source Hardware for the Efficient Economy” (p. 80). They are thoughtful visionaries at the forefront of a global open-source hardware project. You’ll find their work exciting and inspirational.

Stuart Ball’s Dip Meter

On page 20, Stuart Ball describes the process of designing a digital dip meter. It’s a go-to tool for checking a device’s resonant frequency, or you can use it as a signal source to tune receivers. Ball used a microcontroller to digitize the dip meter’s display.

Interested in 3-D technology? William Meyers and Guo Jie Chin’s 3-D Paint project (p. 26) is a complete hardware and software package that uses free space as a canvas and enables you to draw in 3-D by measuring ultrasonic delays. They used a PC and MATLAB to capture movements and return them in real time.

This month we’re running the third article in Richard Lord’s series, “Digital Camera Controller” (p. 32). He covers the process of building a generic front-panel controller for the Photo-Pal flash-trigger camera controller project.

Richard Lord’s front panel CPU

Turn to page 37 for the fifth article in Bob Japenga’s series on concurrency in embedded systems. He covers the portable operating system interface (POSIX), mutex, semaphores, and more.

Check out the interview on page 41 for insight into the interests and work of electrical engineer and graduate student Colin O’Flynn. He describes some of his previous work, as well as his Binary Explorer Board, which he designed in 2012.

Colin O’Flynn’s Binary Explorer Board

In Circuit Cellar 270, George Novacek tackled the topic of failure mode and criticality analysis (FMECA). This month he focuses on fault-tree analysis (p. 46).

Arduino is clearly one of the hottest design platforms around. But how can you use it in a professional-level design? Check out Ed Nisley’s “Arduino Survival Guide” (p. 49).

Standing waves are notoriously difficult to understand. Fortunately, Robert Lacoste prepared an article on the topic that covers an experimental platform and measurements (p. 54).

This month’s article from the archives relates directly to the issue’s wireless technology theme. On page 60 is Roy Franz’s 2003 article about his WiFi SniFi design, which can locate wireless networks and then display “captured” packet information.

If you like this issue’s cover, you’ll have to check out Jeff Bachiochi’s article on QR coding (p. 68). He provides an excellent analysis of the technology from a pro engineer’s point of view.

Circuit Cellar 271 is now available.

CC25 Is Now Available

Ready to take a look at the past, present, and future of embedded technology, microcomputer programming, and electrical engineering? CC25 is now available.

Check out the issue preview.

We achieved three main goals by putting together this issue. One, we properly documented the history of Circuit Cellar from its launch in 1988 as a bi-monthly magazine
about microcomputer applications to the present day. Two, we gathered immediately applicable tips and tricks from professional engineers about designing, programming, and completing electronics projects. Three, we recorded the thoughts of innovative engineers, academics, and industry leaders on the future of embedded technologies ranging from
rapid prototyping platforms to 8-bit chips to FPGAs.

The issue’s content is gathered in three main sections. Each section comprises essays, project information, and interviews. In the Past section, we feature essays on the early days of Circuit Cellar, the thoughts of long-time readers about their first MCU-based projects, and more. For instance, Circuit Cellar‘s founder Steve Ciarcia writes about his early projects and the magazine’s launch in 1988. Long-time editor/contributor Dave Tweed documents some of his favorite projects from the past 25 years.

The Present section features advice from working hardware and software engineers. Examples include a review of embedded security risks and design tips for ensuring system reliability. We also include short interviews with professionals about their preferred microcontrollers, current projects, and engineering-related interests.

The Future section features essays by innovators such as Adafruit Industries founder Limor Fried, ARM engineer Simon Ford, and University of Utah professor John Regehr on topics such as the future of DIY engineering, rapid prototyping, and small-RAM devices. The section also features two different sets of interviews. In one, corporate leaders such as Microchip Technology CEO Steve Sanghi and IAR Systems CEO Stefan Skarin speculate on the future of embedded technology. In the other, engineers such as Stephen Edwards (Columbia University) offer their thoughts about the technologies that will shape our future.

As you read the issue, ask yourself the same questions we asked our contributors: What’s your take on the history of embedded technology? What can you design and program today? What do you think about the future of embedded technology? Let us know.

Electrical Engineer Crossword (Issue 271)

The answers to Circuit Cellar’s February electronics engineering crossword puzzle are now available.

Across

3.            CONFORMALCOATING—Used on PCBs intended for extreme environments [two words]

4.            LOOP—An often repetitious code sequence

7.            VUMETER—Measures program volume [two words]

8.            GALVANOMETER—An electric current identifier

10.         FACTORIAL—“n!”

11.         DIPMETER—Evaluates radio frequency circuits [two words]

13.         REEDSOLOMON—Non-binary code [two words]

16.         SHOCKLEY—One of a group of three co-inventors who, in 1956, were awarded the Nobel Prize in Physics for creating the transistor

18.         SUBSTRATE—An insulating board’s surface

19.         TELEPHONY—Concept proposed by Belgian engineer Charles Bourseul in 1856

20.         ACTUATOR—Electric motors and loudspeakers, for example

 

Down

1.            TORODIAL—A type of inductor or transformer whose windings form a closed circular tube

2.            POTENTIOMETER—May be used to control volume on audio equipment

5.            PIEZOELECTRICITY—Often used to produce and detect high voltages, sound, and electronic frequency generation

6.            OCCAMPROCESS—An electronic circuit board manufacturing method [two words]

9.            FLYWHEEL—An energy-storing device

12.         MONOBLOCK—A single-channel power amp with high current power

14.         RELIABILITY—Quality over time

15.         MICROMETER—Used to measure small objects’ thickness

17.         EISLER—Austrian engineer (1907–992) credited with inventing the printed circuit

Open-Source Hardware for the Efficient Economy

In the open-source hardware development and distribution model, designs are created collaboratively and published openly. This enables anyone to study, modify, improve, and produce the design—for one’s own use or for sale. Open-source hardware gives users full control over the products they use while unleashing innovation—compared to the limits of proprietary research and development.

This practice is transforming passive consumers of “black box” technologies into a new breed of user-producers. For consumers, open-source hardware translates into better products at a lower cost, while providing more relevant, directly applicable solutions compared to a one-size-fits-all approach. For producers, it means lower barriers to entry and a consequent democratization of production. The bottom line is a more efficient economy—one that bypasses the artificial scarcity created by exclusive rights—and instead focuses on better and faster development of appropriate technologies.

Open-source hardware is less than a decade old. It started as an informal practice in the early 2000s with fragmented cells of developers sharing instructions for producing physical objects in the spirit of open-source software. It has now become a movement with a recognized definition, specific licenses, an annual conference, and several organizations to support open practices. The expansion of open-source hardware is also visible in a proliferation of open-source plans for making just about anything, from 3-D printers, microcontrollers, and scientific equipment, to industrial machines, cars, tractors, and solar-power generators.

As the movement takes shape, the next major milestone is the development of standards for efficient development and quality documentation. The aim here is to deliver on the potential of open-source products to meet or exceed industry standards—at a much lower cost—while scaling the impact of collaborative development practices.

The Internet brought about the information revolution, but an accompanying revolution in open-source product development has yet to happen. The major blocks are the absence of uniform standards for design, documentation, and development process; accessible collaborative design platforms (CAD); and a unifying set of interface standards for module-based design—such that electronics, mechanical devices, controllers, power units, and many other types of modules could easily interface with one another.

Can unleashed collaboration catapult open-source hardware from its current multimillion dollar scale to the next trillion dollar economy?

One of the most promising scenarios for the future of open source hardware is a glocal supply chain made up of thousands of interlinked organizations in which collaboration and complementarity are the norm. In this scenario, producers at all levels—from hobbyists to commercial manufacturers—have access to transparent fabrication tools, and digital plans circulate freely, enabling them to build on each other quickly and efficiently.

The true game changers are the fabrication machines that transform designs into objects. While equipment such as laser cutters, CNC machine tools, and 3-D printers has been around for decades, the breakthrough comes from the drastically reduced cost and increased access to these tools. For example, online factories enable anyone to upload a design and receive the material object in the mail a few days later. A proliferation of open-source digital fabrication tools, hackerspaces, membership-based shops, fab labs, micro factories, and other collaborative production facilities are drastically increasing access and reducing the cost of production. It has become commonplace for a novice to gain ready access to state-of-art productive power.

On the design side, it’s now possible for 70 engineers to work in parallel with a collaborative CAD package to design the airplane wing for a Boeing 767 in 1 hour. This is a real-world proof of concept of taking development to warp speed—though achieved with proprietary tools and highly paid engineers. With a widely available, open-source collaborative CAD package and digital libraries of design for customization, it would be possible for even a novice to create advanced machines—and for a large group of novices to create advanced machines at warp speed. Complex devices, such as cars, can be modeled with an inviting set of Lego-like building blocks in a module-based CAD package. Thereafter, CNC equipment can be used to produce these designs from off-the-shelf parts and locally available materials. Efficient industrial production could soon be at anyone’s fingertips.

Sharing instructions for making things is not a novel idea. However, the formal establishment of an open-source approach to the development and production of critical technologies is a disruptive force. The potential lies in the emergence of many significant and scalable enterprises built on top of this model. If such entities collaborate openly, it becomes possible to unleash the efficiency of global development based on free information flows. This implies a shift from “business as usual” to an efficient economy in which environmental and social justice are part of the equation.

 

Catarina Mota is a New York City-based Portuguese maker and open-source advocate who cofounded the openMaterials (openMaterials.org) research project, which is focused on open-source and DIY experimentation with smart materials. She is both a PhD candidate at FCSHUNL and a visiting scholar at NYU, and she has taught workshops on topics such as hi-tech materials and simple circuitry. Catarina is a fellow of the National Science and Technology Foundation of Portugal, co-chair of the Open Hardware Summit, a TEDGlobal 2012 fellow, and member of NYC Resistor.

Marcin Jakubowski graduated from Princeton and earned a PhD Fusion Physics from the University of Wisconsin. In 2003 Marcin founded the Open Source Ecology (OpenSourceEcology.org) network of engineers, farmers, and supporters. The group is working on the Global Village Construction Set (GVCS), which is an open-source, DIY toolset of 50 different industrial machines intended for the construction of a modern civilization (http://vimeo.com/16106427).

This essay appears in Circuit Cellar 271, February 2013.

Electrical Engineer Crossword (Issue 270)

The answers to Circuit Cellar’s January electronics engineering crossword puzzle are now available.

Across

1.     ICONOSCOPE—The first widely used television camera tube

5.     INTERRUPTROUTINE—Responds to disturbances [two words]

8.     RADIXPOINT—Separates a number’s integer part from its fraction part [two words]

11.   IMPEDANCE—Bridge circuit used to measure resistance

14.   SALLENKEY—A simple filter topology used to implement second-order active filters [two words]

16.   TYNDALLEFFECT—Light scattering [two words]

17.   LADDER—A kind of passive filter

18.   INPUTOUTPUT—Microcontrollers contain these type of peripherals [two words]

19.   IDEMPOTENTLAW—The result never changes [two words]

 

Down

2.     NANDCIRCUIT—Combines two types of functions in a binary circuit with two or more inputs and one output [two words]

3.     BARDEEN—Won the Nobel Prize in Physics twice

4.     DIODE—Developed in 1904 by English engineer John Ambrose Fleming

6.     ECHOBOX—A device that receives part of a transmitted pulse and transmits it back to the receiver [two words]

7.     KARNAUGHMAP—Used to simplify algebra expressions [two words]

9.     FARADY—English scientist (1791–1867) who published the law of induction

10.   GANGED—Tuning that uses a single control to tune two or more circuits

12.   DCGENERATOR—French instrument maker Hippolyte Pixii developed a prototype for this in 1832 [two words]

13.   ILLUMINATE—What an LED does

14.   SAWTOOTH—A waveform with a slow linear rise time and a fast fall time

15.   RCSERVO—An absolute-positioning actuator that is typically limited to a 180° rotation  [two words]

Electrical Engineering Tools & Preparation (CC 25th Anniversary Issue Preview)

Electrical engineering is frequently about solving problems. Success requires a smart plan of action and the proper tools. But as all designers know, getting started can be difficult. We’re here to help.

You don’t have to procrastinate or spend a fortune on tools to start building your own electronic circuits. As engineer/columnist Jeff Bachiochi has proved countless times during the past 25 years,  there are hardware and software tools that fit any budget. In Circuit Cellar‘s 25th Anniversary issue, he offers some handy tips on building a tool set for successful electrical engineering. Bachiochi writes:

In this essay, I’ll cover the “build” portion of the design process. For instance, I’ll detail various tips for prototyping, circuit wiring, enclosure preparation, and more. I’ll also describe several of the most useful parts and tools (e.g., protoboards, scopes, and design software) for working on successful electronic design projects. When you’re finished with this essay, you’ll be well on your way to completing a successful electronic design project.

The Prototyping Process

Prototyping is an essential part of engineering. Whether you’re working on a complicated embedded system or a simple blinking LED project, building a prototype can save you a lot of time, money, and hassle in the long run. You can choose one of three basic styles of prototyping: solderless breadboard, perfboard, and manufactured PCB. Your project goals, your schedule, and your circuit’s complexity are variables that will influence your choice. (I am not including styles like flying leads and wire-wrapping.)

Prototyping Tools

The building phase of a design might include wiring up your circuit design and altering an enclosure to provide access to any I/O on the PCB. Let’s begin with some tools that you will need for circuit prototyping.

The nearby photo shows a variety of small tools that I use when wiring a perfboard or assembling a manufactured PCB. The needle-nose pliers/cutter is the most useful.

These are my smallest hand tools. With them I can poke, pinch, bend, cut, smooth, clean, and trim parts, boards, and enclosures. I can use the set of special driver tips to open almost any product that uses security screws.

Don’t skimp on this; a good pair will last many years. …

Once everything seems to be in order, you can fill up the sockets. You might need to provide some stimulus if you are building something like a filter. A small waveform generator is great for this. There are even a few hand probes that will provide outputs that can stimulate your circuitry. An oscilloscope might be the first “big ticket” item in which you invest. There are some inexpensive digital scope front ends that use an app running on a PC for display and control, but I suggest a basic analog scope (20 MHz) if you can swing it (starting at less than $500).

If the circuit doesn’t perform the expected task, you should give the wiring job a quick once over. Look to see if something is missing, such as an unconnected or misconnected wire. If you don’t find something obvious, perform a complete continuity check of all the components and their connections using an ohmmeter.

I use a few different meters. One has a transistor checker. Another has a high-current probe. For years I used a small battery-powered hand drill before purchasing the Dremel and drill press. The tweezers are actually an SMT parts measurer. Many are unmarked and impossible to identify without using this device (and the magnifier).

It usually will be a stupid mistake. To do a complete troubleshooting job, you’ll need to know how the circuit is supposed to work. Without that knowledge, you can’t be expected to know where to look and what to look for.

Make a Label

You’ll likely want to label your design… Once printed, you can protect a label by carefully covering it with a single strip of packing tape.

The label for this project came straight off a printer. Using circuit-mount parts made assembling the design a breeze.

A more expensive alternative is to use a laminating machine that puts your label between two thin plastic sheets. There are a number of ways to attach your label to an enclosure. Double-sided tape and spray adhesive (available at craft stores) are viable options.”

Ready to start innovating? There’s no time like now to begin your adventure.

Check out the upcoming anniversary issue for Bachiochi’s complete essay.

The Future of 8-Bit Chips (CC 25th Anniversary Preview)

Ever since the time when a Sony Walkman retailed for around $200, engineers of all backgrounds and skill levels have been prognosticating the imminent death of 8-bit chips. No matter your age, you’ve likely heard the “8-bit is dead” argument more than once. And you’ll likely hear it a few more times over the next several years.

Long-time Circuit Cellar contributor Tom Cantrell has been following the 8-bit saga for the last 25 years. In Circuit Cellar‘s 25th Anniversary issue, he offers his thoughts on 8-bit chips and their future. Here’s a sneak peek. Cantrell writes:

“8-bit is dead.”  Or so I was told by a colleague. In 1979. Ever since then, reports of the demise of 8-bit chips have been greatly, and repeatedly, exaggerated. And ever since then, I’ve been pointing out the folly of premature eulogizing.

I’ll concede the prediction is truer today than in 1979—mainly, because it wasn’t true at all then. Now, some 30-plus years later, let’s reconsider the prospects for our “wee” friends…

Let’s start the analysis by putting on our Biz101 hats. If you Google “Product Life Cycle” and click on “Images,” you’ll see a variety of somewhat similar graphs showing how products pass through stages of growth, maturity, and decline. Though all the graphs tell a rise-and-fall story, it’s interesting to note the variations. Some show a symmetrical life cycle that looks rather like a normal distribution. But the majority of the graphs show a “long-tail” variation in which the maturity phase lasts somewhat longer and the decline is relatively gradual.

Another noteworthy difference is how some graphs define life and death in terms of “sales” and others “profits.” It stands to reason that no business will continue to sell at a loss indefinitely, but the market knows how to fix that. Even if some suppliers wave the white flag, those that remain can raise prices and maintain profitability as long as there is still demand.

One of the more interesting life cycle variations shows that innovation, like a fountain of youth, can stave off death indefinitely. An example that comes to mind is the recent introduction of ferroelectric RAM (FRAM) MCUs. FRAM has real potential to reduce power consumption and also streamlines the supply chain because a single block of FRAM can be arbitrarily partitioned to emulate any mix of read-mostly or random access memory (see Photo 1). They may be “mature” products, but today the Texas Instruments MSP430 and Ramtron 8051 are leading the way with FRAM.

Photo 1: Ongoing innovation, such as the FRAM-based “Wolverine” MCU from Texas Instruments, continues to expand the market for mini-me MCUs. (Source: Cantrell CC25)

And “innovation” isn’t limited to just the chips themselves. For instance, consider the growing popularity of the Arduino SBC. There’s certainly nothing new about the middle-of-the-road, 8-bit Atmel AVR chip it uses. Rather, the innovations are with the “tools” (simplified IDE), “open-source community,” and “sales channel” (e.g., RadioShack). You can teach an old chip new tricks!

Check out the upcoming anniversary issue for the rest of Cantrell’s essay. Be sure to let us know what you think about the future of the 8-bit chip.

The Future of FPGAs (CC 25th Anniversary Preview)

Field-programmable gate arrays (FPGAs) have been around for more than two decades. What does the future hold for this technology? According to Halifax, Canada-based electrical engineering consultant Colin O’Flynn, current FPGA-related research and recent innovations seem to presage a coming revolution in digital system design, and this could lead to striking fast advances in several fields of engineering.

In the upcoming Circuit Cellar 25th Anniversary Issue—which is slated for publication in early 2013—O’Flynn shares his thoughts on the future of FPGA technology. He writes:

Field-programmable gate arrays (FPGAs) provide a powerful means to design digital systems (see Photo 1). Rather than writing a software program, you can design a number of hardware blocks to perform your tasks at blazing speeds…

Photo 1: Source: C. O’Flynn, CC 25th Anniversary issue

Microcontrollers have long played the peripheral game: the integration of easy-to-use dedicated peripherals onto the same physical chip as your digital core. FPGAs, it would seem, have no use for dedicated logic, since you can just design everything exactly as you desire. But dedicated logic has its advantages.

Beyond technical advantages, such as lower power consumption or smaller area with dedicated cores compared to programmable cores, dedicated cores can also reduce development effort. For example, current technology sees FPGAs with integrated high-end ARM cores, capable of running Linux on the integrated hard-core. Anyone familiar with setting up Linux on an ARM-based microprocessor can use this, without needing to learn about how one develops cores and peripherals on the FPGA itself.
Beyond integrating digital cores to simplify development, you can expect to see the integration of analog peripherals. Looking at the microcontroller market, you can find a variety of tightly integrated SoC devices with analog and digital on a single device. For instance, a variety of radio devices contain a complete RF front-end combined with a digital microcontroller. While current FPGA devices offer very limited analog peripherals (most have none), having a FPGA with an integrated high-speed ADC or DAC would be the making of a highly flexible radio-on-a-chip platform. The high development cost and lack of a current market has meant this remains only an interesting idea. To see where this market comes from, let’s look at some applications for such an FPGA.

Software-Defined Radio
Software-defined radio (SDR) takes a curious approach to receiving radio waves: digitize it all, and let software sort it out. The radio front-end is simple. Typically, the center frequency of interest is just downshifted to the baseband, everything else is filtered out, and a high-speed ADC digitizes it. All the demodulation and decoding then can be down in software. Naturally, this can require some fast sampling speeds. Anything from 20 to 500 MSps is fairly typical for these systems. Dealing with this much data is suited to FPGAs, since one can generate blocks to perform all the different functions that operate simultaneously…

Circuit Cellar’s Circuit Cellar 25th Anniversary Issue will be available in early 2013. Stay tuned for more updates on the issue’s content.

Do Small-RAM Devices Have a Future? (CC 25th Anniversary Preview)

What does the future hold for small-RAM microcontrollers? Will there be any reason to put up with the constraints of parts that have little RAM, no floating point, and 8-bit registers? The answer matters to engineers who have spent years programming small-RAM MCUs. It also matters to designers who are hoping to keep their skills relevant as their careers progress in the 21st century.

In the upcoming Circuit Cellar 25th Anniversary Issue—which is slated for publication in early 2013—University of Utah professor John Regehr shares his thoughts on the future of small-RAM devices. He writes:

For the last several decades, the role of small-RAM microcontrollers has been clear: they are used to perform fixed (though sometimes very sophisticated) functionality in environments where cost, power consumption, and size need to be minimized. They exploit the low marginal cost of additional transistors to integrate volatile RAM, nonvolatile RAM, and numerous peripherals into the same package as the processor core, providing a huge amount of functionality in a small, cheap package. Something that is less clear is the future of small-RAM microcontrollers. The same fabrication economics that make it possible to put numerous peripherals on a single die also permit RAM to be added at little cost. This was brought home to me recently when I started using Raspberry Pi boards in my embedded software class at the University of Utah. These cost $25 to $35 and run a full-sized Linux distribution including GCC, X Windows, Python, and everything else—all on a system-on-chip with 256 MB of RAM that probably costs a few dollars in quantity.

We might ask: Given that it is already the case that a Raspberry Pi costs about the same as an Arduino board, in the future will there be any reason to put up with the constraints of an architecture like Atmel’s AVR, where we have little RAM, no floating point, and 8-bit registers? The answer matters to those of us who enjoy programming small-RAM MCUs and who have spent years fine-tuning our skills to do so. It also matters to those of us who hope to keep our skills relevant through the middle of the 21st century. Can we keep writing C code, or do we need to start learning Java, Python, and Haskell? Can we keep writing stand-alone “while (true)” loops, or will every little MCU support a pile of virtual machines, each with its own OS?

Long & Short Term

In the short term, it is clear that inertia will keep the small-RAM parts around, though increasingly they will be of the more compiler-friendly varieties, such as AVR and MSP430, as opposed to earlier instruction sets like Z80, HC11, and their descendants. But will small-RAM microcontrollers exist in the longer term (e.g., 25 or 50 years)? I’ll attempt to tackle this question by separately discussing the two things that make small-RAM parts attractive today: their low cost and their simplicity.

If we assume a cost model where packaging and soldering costs are fixed but the marginal cost of a transistor (not only in terms of fabrication, but also in terms of power consumption) continues to drop, then small-RAM parts will eventually disappear. In this case, several decades from now even the lowliest eight-pin package, costing a few pennies, will contain a massive amount of RAM and will be capable of running a code base containing billions of lines…

Circuit Cellar’s Circuit Cellar 25th Anniversary Issue will be available in early 2013. Stay tuned for more updates on the issue’s content.

Electrical Engineer Crossword (Issue 269)

The answers to Circuit Cellar’s December electronics engineering crossword puzzle are now available.

Across

1.     MOSFET—According to Ed Nisley in his Circuit Cellar 265  2012 article, this type of tester characterizes a transistor’s behavior by computing the drain resistance at each combination of measured voltage and current

5.     LORENTZ—Type of force on a charged particle caused by electromagnetic fields

9.     TWEED—Tests your engineering know-how in every issue of Circuit Cellar

10.   HOMECONTROL—In last month’s “Task Manager,” Circuit Cellar Editor-in-Chief C. J. Abate mentioned that this was one of the hottest topics in the magazine’s earliest issues [two words]

12.   TASK—In his article in this issue, Bob Japenga defines this as an instance of a software program that is utilizing CPU resources to accomplish some purpose

14.   WIRTH—Swiss computer scientist who designed the Pascal programming language

16.   ILLUMINATION—An LED’s purpose

18.   CALLBACK—Enables a lower-level software layer to request a higher-level-defined subroutine

19.   ELECTRICALRESISTANCE—German physicist Georg Ohm 1789 – 6 July 1854 first introduced this concept [two words]

Down

2.     SHANNON—Cryptographer known as the “father of information theory”

3.     AUTONOMOUSROBOT—Does not rely on human interaction [two words]

4.     BODEPLOT—Represents a system’s gain and phase as a frequency function  [two words]

6.     EAGLE—Commonly used for PCB design

7.     TACHOMETER—A device that can help you determine revolutions per minute

8.     PROGRAMMABLELOGIC—These types of projects utilize FPGAs, PLDs, and other chips [two words]

11.   THERMOELECTRIC—Type of cooling that relies on the Peltier effect to alter heat between two types of materials

13.   MAGNETOMETER—Used to measure magnetic fields’ strength and intensity

15.   GREENENERGY—Focus of Renesas’s 2012 design challenge [two words]

17.   NONCE—Available for a limited time

 

Electronic Engineering Crossword (Issue 268)

The answers to Circuit Cellar’s November electronics engineering crossword puzzle are now available.

Across

2.     FLOWCODE—Columnist Jeff Bachiochi taught readers how to use this graphical programming language in his recent article about flowcharting (Circuit Cellar 266, 2012)

7.     LAPLACE—This type of transform is similar to Fourier, but expresses functions into moments as opposed of vibration

11.   RACEWAY—Channel to hold wires, cables, etc.

12.   SENSORSCircuit Cellar’s 250th issue (2011) focused on Measurement and this other topic

13.   LANDS—A metallic contact area

14.   BITTI—Interviewee (Circuit Cellar 253, 2011) who designed the “Witness Camera,” a self-recording surveillance camera

17.   DARLINGTON—This type of pair can be produced using individual transistors or purchased as a single device, as in a 2N6301

18.   WAFER—A slice of semiconductor material upon which monolithic ICs are produced

19.   DIELECTRICCORE—The insulating material that makes up the center of the cable through which the conductors are run [two words]

20.   THERMOPLASTIC—A synthetic, flexible mixture of rosins used as an insulting material

Down

1.     ROUNDKEYS—In his article “Hardware-Accelerated Encryption” (Circuit Cellar 266, 2012) Patrick Schaumont said AES encryption’s real secrecy comes from the periodic additions of these

3.     OILCAN—A type of planar tube, similar to the lighthouse tube, which has cooling fins

4.     VECTORGRAPHICS—In the 1970s, Circuit Cellar founder Steve Ciarcia wrote his first article for BYTE about this topic

5.     VOLTAGECONTROLLED—An oscillator controlled by voltage input; there are usually two types: harmonic and relaxation [two words]

6.     TEMPEST—Describes compromising emanations

8.     ACQUISITIONTIME—In a communications system, the time interval required to attain synchronism [two words]

9.     INTEL—Company credited with making the first single-chip microprocessor

10.   HANDSHAKING—How one device communicates with one or more other devices, at a predetermined speed

15.   VARACTOR—Used as a capacitor to control voltage

16.   SALLENKEY—Active filer, two-pole [two words]

 

CC269: Break Through Designer’s Block

Are you experiencing designer’s block? Having a hard time starting a new project? You aren’t alone. After more than 11 months of designing and programming (which invariably involved numerous successes and failures), many engineers are simply spent. But don’t worry. Just like every other year, new projects are just around the corner. Sooner or later you’ll regain your energy and find yourself back in action. Plus, we’re here to give you a boost. The December issue (Circuit Cellar 269) is packed with projects that are sure to inspire your next flurry of innovation.

Turn to page 16 to learn how Dan Karmann built the “EBikeMeter” Atmel ATmega328-P-based bicycle computer. He details the hardware and firmware, as well as the assembly process. The monitoring/logging system can acquire and display data such as Speed/Distance, Power, and Recent Log Files.

The Atmel ATmega328-P-based “EBikeMeter” is mounted on the bike’s handlebar.

Another  interesting project is Joe Pfeiffer’s bell ringer system (p. 26). Although the design is intended for generating sound effects in a theater, you can build a similar system for any number of other uses.

You probably don’t have to be coerced into getting excited about a home control project. Most engineers love them. Check out Scott Weber’s garage door control system (p. 34), which features a MikroElektronika RFid Reader. He built it around a Microchip Technology PIC18F2221.

The reader is connected to a breadboard that reads the data and clock signals. It’s built with two chips—the Microchip 28-pin PIC and the eight-pin DS1487 driver shown above it—to connect it to the network for testing. (Source: S. Weber, CC269)

Once considered a hobby part, Arduino is now implemented in countless innovative ways by professional engineers like Ed Nisley. Read Ed’s article before you start your next Arduino-related project (p. 44). He covers the essential, but often overlooked, topic of the Arduino’s built-in power supply.

A heatsink epoxied atop the linear regulator on this Arduino MEGA board helped reduce the operating temperature to a comfortable level. This is certainly not recommended engineering practice, but it’s an acceptable hack. (Source: E. Nisley, CC269)

Need to extract a signal in a noisy environment? Consider a lock-in amplifier. On page 50, Robert Lacoste describes synchronous detection, which is a useful way to extract a signal.

This month, Bob Japenga continues his series, “Concurrency in Embedded Systems” (p. 58). He covers “the mechanisms to create concurrently in your software through processes and threads.”

On page 64, George Novacek presents the second article in his series, “Product Reliability.” He explains the importance of failure rate data and how to use the information.

Jeff Bachiochi wraps up the issue with a article about using heat to power up electronic devices (p. 68). Fire and a Peltier device can save the day when you need to charge a cell phone!

Set aside time to carefully study the prize-winning projects from the Reneas RL78 Green Energy Challenge (p. 30). Among the noteworthy designs are an electrostatic cleaning robot and a solar energy-harvesting system.

Lastly, I want to take the opportunity to thank Steve Ciarcia for bringing the electrical engineering community 25 years of innovative projects, essential content, and industry insight. Since 1988, he’s devoted himself to the pursuit of EE innovation and publishing excellence, and we’re all better off for it. I encourage you to read Steve’s final “Priority Interrupt” editorial on page 80. I’m sure you’ll agree that there’s no better way to begin the next 25 years of innovation than by taking a moment to understand and celebrate our past. Thanks, Steve.

Microcontroller-Based Markov Music Box

Check out the spectrogram for two FM notes produced by FM modulation. Red indicates higher energy at a given time and frequency.

Cornell University senior lecturer Bruce Land had two reasons for developing an Atmel AVR micrcontroller-based music box. One, he wanted to present synthesis/sequencing algorithms to his students. And two, he wanted the challenge of creating an interactive music box. Interactive audio is becoming an increasingly popular topic among engineers and designers, as we recently reported.

Land writes:

Traditional music boxes play one or two tunes very well, but are not very interactive. Put differently, they have a high quality of synthesis, but a fixed-pattern note sequencer and fixed tonal quality. I wanted to build a device which would play an interesting music-like note sequence, which constantly changed and evolved, with settable timbre, tempo, and beat… To synthesize nice sounding musical notes you need to control spectral content of the note, the rise time (attack), fall time (decay), and the change in spectral content during attack and decay.  Also it is nice to have at least two independent musical voices. And all of this has to be done using the modest arithmetic capability of an 8-bit microcontroller.

Land’s students subsequently used the music box for other projects, such as an auto-composing piano, as shown in the following video.

In early 2013 Circuit Cellar will run Land’s in-depth article on the Markov music box project. Stay tuned for more information.

Principles of Embedded System Design (CC 25th Anniversary Preview)

You have an idea an idea for an innovative microcontroller-based design? Once you start start soldering and wiring, you might want to keep an eye on Bob Japenga’s checklist of essential embedded system design principle. His complete list will appear in Circuit Cellar‘s 25th Anniversary issue, which will be available in early 2013. But since many of you will be attempting to complete projects before January 1, we’re giving you a sneak peek.

Japenga writes:

We all know that old adage: “If you don’t have time to do it right the first time, where do you find the time to do it right the second?” But this is the nature of developing robust embedded systems. There are literally thousands of little decisions that we make even in the simplest of projects. How can we minimize repeating mistakes?

So my goal in this article is twofold: to celebrate with Circuit Cellar 25 years of great service to us engineers and to hammer home some of those principles that we so often forget. I will divide the essentials into four categories: general essentials, essentials that exist because things (i.e., us and our designs) fail, essentials about testing, and essentials about memory use.

General Essentials

KISS & No Simpler“Keep it simple stupid (KISS).” How often do I need to hear this? I like the saying about KISS that’s often attributed to Albert Einstein but was actually Roger Session’s paraphrase: “Make things as simple as possible, but no simpler.” I am counting these as our first and second essentials.  Keep it simple is number one and no simpler is the second. I find this an immense challenge. When we are faced with schedule deadlines and tight budgets, it is costly to make a design simple. Some people have a gift at taking a problem and abstracting an elegant and simple solution. I remember giving a design specification to one of my employees a number of years ago when I worked for an aerospace company. After several days he came back with over 20 pages of algorithms and charts defining how the specification should be met in software. I wasn’t smart enough to know why it was too complex, but my gut feeling was: “This is too complex. Make it simpler.” Later, I turned it over to another young man who returned with an elegant two-page algorithm that worked perfectly.

How do we do that? “As simple as possible” can get us in trouble if we make it too simple. For example, just recently we were designing a multi-drop serial interface to be incorporated into a medical device. A strong case could be made for the simplicity of using a single-ended interface. But experience tells us that a differential interface will be more robust in the face of defibrillators and all the various noisy electronic instruments it will to play with. Which meets the KISS principle? The same tough decision comes when you’re trying to decide whether to go with a two-wire or a four-wire interface. Two wires has less cabling, but it’s more complex in the interface and forces single-duplex operation. Again, which meets the principle?

Sometimes the trade-off can come down to what you already have in the house. If you have well-debugged libraries for handling the two-wire 485 protocols, the reduced number of wires reduces the overall system complexity even though the software will in fact be more complex.

Sometimes when dealing with algorithm development, the KISS principle can also present ambiguous alternatives. At times, a straightforward linear programming approach can be many times more lines of code and more complex than an elegant algorithm. But the elegant algorithm may be obscure, difficult to maintain, or take too long to come up with. Therein lies the challenge to Keep It Simple Stupid but No Simpler.

Define the Problem/Create Clear SpecsHaving a clear set of specs is essential to every part of a design. We all know this and we always belly ache about how we don’t have perfect specifications. But get with it. You won’t always have perfect specs from your customer. But it is essential that you make them as good as possible. And in writing. If your customer is willing, keep pushing back and keep writing it down and refining it as you go.

I’ve found that essential for every phase of a project. Whether it is hardware or software, writing out the spec (on the schematic or in the code) is a wonderful act of discipline. Write out the spec for the module. Write out the spec for the algorithm. Write out the spec for the circuit. Writing it out forces you to think it through. End the belly-aching about the lack of good specs. Start creating them.

Don’t Skimp on the ToolsTools are our life blood. If you are a manager and your designers don’t have the best tools, you are wasting your money on their salaries. That said, we are not talking about buying tools you don’t use, tools that don’t pay for themselves, or tools that you can rent more cost effectively. Last week we were discussing a problem where one of our cell modem designs exceeded the limit for the second harmonic in spurious emissions. In talking over the problem with the test lab, I discovered that they had a tool that they brought inside the anechoic chamber that could tell the cell modem to transmit on such and such a frequency at maximum power. Naively, I asked, “Shouldn’t we have such a tool?” Someone responded: “Yes, but they cost almost a million dollars.” Oh. But we found we could rent one for $1,000 a day. So, I am not talking about being unwise with our money.

Many years ago while at the aerospace company, I was recommending an HP64000 system that appeared to be a very powerful tool for our software development team. I wrote up the proposal and presented it to the vice president of engineering. His question has haunted me ever since. “Would you buy it if it were your money?” I said then, and continue to say now, “Get the best tools that will allow you to do the job as quickly as possible. If a 200-man-hour job can be done for 100 hours with a $10,000 instrument, is it worth it. Absolutely.”

Read the DocumentationLast year we had a problem that showed up only after we started making the product in 1,000-piece runs. The problem was that some builds of the system took a very long time to power up. We had built about 10 prototypes, tested the design over thousands of power ups, and it tested just fine (thanks to POC-IT). Then the 1,000-piece run uncovered about a half-dozen units that had variable power-up times—ranging from a few seconds to more than an hour! Replacing the watchdog chip that controlled the RESET line to an ARM9 processor fixed the problem. But why did these half dozen fail? Many hours into the analysis we discovered that the RESET line out of the watchdog chip on the failed units would pulse but stay low for long periods of time. A shot of cold air instantly caused the chip to release the RESET. Was it a faulty chip lot? Nope. Upon a closer read of the documentation, we found that you cannot have a pull-up resister on the RESET line. For years we always had pull-ups on RESET lines. We’d missed that in the documentation.

Like it or not, we have to pour over the documentation of the chips and software library calls we use. We have to digest the content carefully. We cannot rely on what is intuitive.

Finally, and this is much more necessary than in years past, we have to pour over the errata sheets. And we need to do it before we commit the design. A number of years ago, a customer designed a major new product line around an Atmel ARM9. This ARM9 had the capability of directly addressing NOR memory up to 128 MB.  Except for the fact that the errata said that due to a bug it could only address 16 MB.  Ouch! Later we had problems with the I2C bus in the same chip. At times, the bus would lock up and nothing except a power cycle would unlock it. Enter the errata. Under some unmentioned conditions the I2C state machine can lock up. Ouch! In this case, we were able to use a bit-bang algorithm rather than the built-in I2C—but obviously at the cost of money, scheduling, and real time.

If You Can’t Explain it to Mom, It Ain’t ClearThat’s another way to say: “Assume no one reads the user manual.” I recently read a blog post about the City of Boston’s electronic parking meters (http://usabilitylessons.wordpress.com/category/general/). Truly, one wonders who reviewed that user interface. If you want to make robust embedded systems with a user interface, they need to have intuitive interfaces, or you may be surprised at what the user comes up with. This takes time and effort, but it’s well worth it. Try it out on the uninitiated. Engineers are the worst kind of people for testing user interfaces. Try it on kids. My business partner’s one-year-old son found the first bug in our first product.

Be sure to get your hands on the upcoming anniversary issue to learn about the reset of the principles. He covers “Things Fail Essentials,” “Testing Essentials,” “Memory Management Essentials,” and more. Consider using it to create your own design principles checklist that you can keep at your workbench.

Embedded Security Tips (CC 25th Anniversary Preview)

Every few days we you a sneak peek at some of the exciting content that will run in Circuit Cellar‘s Anniversary issue, which is scheduled to be available in early 2013. You’ve read about Ed Nisley’s essay on his most memorable designs—from a hand-held scanner project to an Arduino-based NiMH cell tester—and Robert Lacoste’s tips for preventing embedded design errors. Now it’s time for another preview.

Many engineers know they are building electronic systems for use in dangerous times. They must plan for both hardware and software attacks, which makes embedded security a hot topic for 2013.  In an essay on embedded security risks, Virginia Tech professor Patrick Schaumont looks at the current state of affairs through several examples. His tips and suggestions will help you evaluate the security needs of your next embedded design.

Schaumont writes:

As design engineers, we should understand what can and what cannot be done. If we understand the risks, we can create designs that give the best possible protection at a given level of complexity. Think about the following four observations before you start designing an embedded security implementation.

First, you have to understand the threats that you are facing. If you don’t have a threat model, it makes no sense to design a protection—there’s no threat! A threat model for an embedded system will specify what can attacker can and cannot do. Can she probe components? Control the power supply? Control the inputs of the design? The more precisely you specify the threats, the more robust your defenses will be. Realize that perfect security does not exist, so it doesn’t make sense to try to achieve it. Instead, focus on the threats you are willing to deal with.

Second, make a distinction between what you trust and what you cannot trust. In terms of building protections, you only need to worry about what you don’t trust. The boundary between what you trust and what you don’t trust is suitably called the trust boundary. While trust boundaries where originally logical boundaries in software systems, they also have a physical meaning in embedded context. For example, let’s say that you define the trust boundary to be at the chip-package level of a microcontroller. This implies that you’re assuming an attacker will get as close to the chip as the package pins, but not closer. With such a trust boundary, your defenses should focus on off-chip communication. If there’s nothing or no one to trust, then you’re in trouble. It’s not possible to build a secure solution without trust.

Third, security has a cost. You cannot get it for free. Security has a cost in resources and energy. In a resource-limited embedded system, this means that security will always be in competition with other system features in terms of resources. And because security is typically designed to prevent bad things from happening rather than to enable good things, it may be a difficult trade-off. In feature-rich consumer devices, security may not be a feature for which a customer is willing to pay extra.

The fourth observation, and maybe the most important one, is to realize is that you’re not alone. There are many things to learn from conferences, books, and magazines. Don’t invent your own security. Adapt standards and proven Circuit Cellar’s Circuit Cellar 25th Anniversary Issue will be available in early 2013. Stay tuned for more updates on the issue’s content.techniques. Learn about the experiences of other designers.

Schaumont then provides lists of helpful embedded security-related resources, such as Flylogic’s Analytics Blog and the Athena website at GMU.