Member Profile: Walter O. Krawec

Walter O. Krawec

Walter O. Krawec

Upstate New York

Research Assistant and PhD Student, Stevens Institute of Technology

Walter has been reading Circuit Cellar since he got his first issue in 1999. Free copies were available at the Trinity College Fire Fighting Robot Contest, which was his first experience with robotics. Circuit Cellar was the first magazine for which he wrote an article (“An HC11 File Manager,” two-part series, issues 129 and 130, 2001).

Robotics, among other things. He is particularly interested in developmental and evolutionary robotics (where the robot’s strategies, controllers, and so forth are evolved instead of programmed in directly).

Walter is enjoying his Raspberry Pi. “What a remarkable product! I think it’s great that I can take my AI software, which I’ve been writing on a PC, copy it to the Raspberry Pi, compile it with GCC, then off it goes with little or no modification!”

Walter is designing a new programming language and interpreter (for Windows/Mac/Linux, including the Raspberry Pi) that uses a simulated quantum computer to drive a robot. “What better way to learn the basics of quantum computing than by building a robot around one?” The first version of this language is available on his website ( He has plans to release an improved version.

Walter said he is amazed with the power of the latest embedded technology, for example the Raspberry Pi. “For less than $40 you have a perfect controller for a robot that can handle incredibly complex programs. Slap on one of those USB battery packs and you have a fully mobile robot,” he said. He used a Pololu Maestro to interface the motors and analog sensors. “It all works and it does everything I need.” However, he added, “If you want to build any of this yourself by hand it can be much harder, especially since most of the cool stuff is surface mount, making it difficult to get started.”

Guido Cargnino Wins the CC Code Challenge (Week 25)

We have a winner of last week’s CC Weekly Code Challenge, sponsored by IAR Systems! We posted a code snippet with an error and challenged the engineering community to find the mistake!

Congratulations to Guido Cargnino of Grugliasco, Turin, Italy  for winning the CC Weekly Code Challenge for Week 25! Guido will receive an Elektor 2012 & 2011 Archive DVD.

Guido’s correct answer was randomly selected from the pool of responses that correctly identified an error in the code. Guido answered:

Line #14: *p and *q must be used.


You can see the complete list of weekly winners and code challenges here.

What is the CC Weekly Code Challenge?
Each week, Circuit Cellar’s technical editors purposely insert an error in a snippet of code. It could be a semantic error, a syntax error, a design error, a spelling error, or another bug the editors slip in. You are challenged to find the error.Once the submission deadline passes, Circuit Cellar will randomly select one winner from the group of respondents who submit the correct answer.

Inspired? Want to try this week’s challenge? Get started!

Submission Deadline: The deadline for each week’s challenge is Sunday, 12 PM EST. Refer to the Rules, Terms & Conditions for information about eligibility and prizes.

Client Profile: Digi International, Inc

Contact: Elizabeth Presson

Featured Product: The XBee product family ( is a series of modular products that make adding wireless technology easy and cost-effective. Whether you need a ZigBee module or a fast multipoint solution, 2.4 GHz or long-range 900 MHz—there’s an XBee to meet your specific requirements.

XBee Cloud Kit

Digi International XBee Cloud Kit

Product information: Digi now offers the XBee Wi-Fi Cloud Kit ( for those who want to try the XBee Wi-Fi (XB2B-WFUT-001) with seamless cloud connectivity. The Cloud Kit brings the Internet of Things (IoT) to the popular XBee platform. Built around Digi’s new XBee Wi-Fi
module, which fully integrates into the Device Cloud by Etherios, the kit is a simple way for anyone with an interest in M2M and the IoT to build a hardware prototype and integrate it into an Internet-based application. This kit is suitable for electronics engineers, software designers, educators, and innovators.

Exclusive Offer: The XBee Wi-Fi Cloud Kit includes an XBee Wi-Fi module; a development board with a variety of sensors and actuators; loose electronic prototyping parts to make circuits of your own; a free subscription to Device Cloud; fully customizable widgets to monitor and control connected devices; an open-source application that enables two-way communication and control with the development board over the Internet; and cables, accessories, and everything needed to connect to the web. The Cloud Kit costs $149.

FDMA Digital PMR Chipset


CMX7131/CMX7141 FDMA dPMR chipset

Built on CML’s flexible FirmASIC technology, CMX7131/CMX7141 Frequency Division Multiple Access (FDMA) digital private mobile radio (dPMR) processors now include direct connection to the CMX994 direct conversion receiver IC. The chipset enables a single radio platform to deliver multiple dPMR systems.

Several CMX7131/CMX7141 function images support direct connection to the CMX994 DCRx IC. Function images include a comprehensive feature set and encompass much of each system air interface, minimizing the overall host support required. DCRx enables on-chip integration, so a small RF receiver can be produced with minimal external components.

The combination of the CMX7131/CMX7141 and CMX994 enables a high-integration, multi-standard FDMA D/A PMR that is well suited for next-generation FDMA dPMR radio designs. The CMX7131/CMX7141 and function images are available with low-power 3.3-V operation in small VQFN/LQFP packaging.

Contact CML for pricing.

CML Microcircuits, Plc

Multi-GNSS Platform Supports Concurrent Positioning


UBX-48030 core-positioning platform

The u-blox M8 core-positioning platform is based on the UBX-M8030 concurrent multi-Global Navigation Satellite Systems (GNSS) receiver IC, which can track US GPS, European Galileo, Japanese QZSS, Russian GLONASS, and Chinese BeiDou satellites. The platform simultaneously uses multiple satellite systems and forms the basis of u-blox’s upcoming line of positioning modules that can concurrently acquire and track different satellite systems to achieve higher accuracy and reliability.

The u-blox M8 platform features low power consumption in concurrent reception mode via a single-die architecture combined with sophisticated software algorithms. The extended supply voltage supply range and 1.8-/3-V I/O compliance supports a variety of system architectures.

UBX-M8030 chips are available in miniature WL-CSP (2.99-mm × 3.21-mm × 0.36-mm) and QFN (5-mm × 5-mm × 0.59-mm) packages. The chip is also available in automotive-grade quality that complies with the Automotive Electronics Council’s AEC-Q100.The new platform maintains backward compatibility with u-blox 7 modules and QFP chip products.

Contact u-blox for pricing.


DesignCon 2014 in Santa Clara

DesignCon 2014, an educational conference and technology exhibition for electronic design engineers in the high speed communications and semiconductor fields, will be held in late January at the Santa Clara Convention Center in Santa Clara, CA.

DesignCon is the largest gathering of chip, board, and systems designers in the world and focuses on signal integrity at all levels of electronic design, according to the website

The event features the conference, which runs Tuesday through Friday, January 28–31, and the expo on Wednesday and Thursday, January 29–30.

To see the schedule of planned speakers, tutorials, panel discussions, and other events, click here. Information about passes, prices, and registration can be found here.
For more details or assistance, call (415) 947-6135 or (888) 234-9476 or e-mail

Small, Self-Contained GNSS Receiver

TM Series GNSS modules are self-contained, high-performance global navigation satellite system (GNSS) receivers designed for navigation, asset tracking, and positioning applications. Based on the MediaTek chipset, the receivers can simultaneously acquire and track several satellite constellations, including the US GPS, Europe’s GALILEO, Russia’s GLONASS, and Japan’s QZSS.

LinxThe 10-mm × 10-mm receivers are capable of better than 2.5-m position accuracy. Hybrid ephemeris prediction can be used to achieve less than 15-s cold start times. The receiver can operate down to 3 V and has a 20-mA low tracking current. To save power, the TM Series GNSS modules have built-in receiver duty cycling that can be configured to periodically turn off. This feature, combined with the module’s low power consumption, helps maximize battery life in battery-powered systems.

The receiver modules are easy to integrate, since they don’t require software setup or configuration to power up and output position data. The TM Series GNSS receivers use a standard UART serial interface to send and receive NMEA messages in ASCII format. A serial command set can be used to configure optional features. Using a USB or RS-232 converter chip, the modules’ UART can be directly connected to a microcontroller or a PC’s UART.

The GPS Master Development System connects a TM Series Evaluation Module to a prototyping board with a color display that shows coordinates, a speedometer, and a compass for mobile evaluation. A USB interface enables simple viewing of satellite data and Internet mapping and custom software application development.
Contact Linx Technologies for pricing.

Linx Technologies

A Love of Teaching, a Lifetime of Robotics: An Interview with John Blankenship

John Blankenship

John Blankenship

John Blankenship has spent decades teaching robotics—and written many books on the subject. His love of teaching inspired him to co-develop the RobotBASIC robot programming language. I recently caught up with John to discuss some highlights from his teaching career and what’s next for RobotBASIC—Nan Price, Associate Editor

 NAN: How did you become interested in robotics?

JOHN: As a child, I often saw robots on television but was fully aware that there were no computers capable of making such fictional creations a reality. In the 1970s, microprocessors such as Intel’s 8080 and MOS Technology’s 6502 gave me hope that real robots would eventually become part of our future.

I found I could motivate my students by linking lab projects to robotic topics. For example, instead of just graphing the output from an active filter, I had my students use op-amps to detect an ultrasonic wave so they could later build a ranging sensor. I firmly believe that if you want to motivate students, you must give them projects with a purpose.

 NAN: You spent more than 30 years teaching programming, electronics, and robotics. What did you gain from that experience?

 JOHN: I enjoyed teaching electronics, but I loved teaching programming. Nothing else even comes close to develop critical thinking skills in students. Watching those skills develop was the reason I taught.

After seeing how my hardware robotic projects motivated students, I knew I wanted something similar for my programming classes. Eventually I developed a library of C routines that simulated a simple on-screen robot. What made the simulated robot special is that it supported numerous sensors (an electronic compass, two levels of proximity sensors, a ranging sensor, line detection, beacon detection, color tracking, and more) that enabled students to solve relatively complex, real-world robotics problems without building any hardware.

This structure made programming fun because it gave programming assignments a purpose. Students no longer had to be convinced that it was important to learn the syntax for a loop or how “if” statements controlled flow to make decisions—they wanted to learn details so they could use them to solve the exciting problems being proposed for them. Which would you find more exciting: writing a program to count the number of words in a string or teaching a robot to follow a line? Better yet, imagine motivating students by having a contest to see whose robot could follow a line the fastest.

NAN: How and why did you develop the RobotBASIC programming language?


RobotBASIC can control real robots just as easily as the simulation.

 JOHN: When I retired from teaching I wanted a way for other teachers to utilize a simulated robot to motivate their students. I could have just published my C libraries, but that generally would have limited their use to college classes where C is usually taught. I felt strongly that much younger students needed to be introduced to programming so they could develop not just logical thought, but also an appreciation for math and engineering.

I love the C language (RobotBASIC is written in C), but in my opinion, it is far too cryptic to be used as a first language. I wanted to encase my routines in a BASIC-like language that would enable nearly anyone to program a simulated robot.

I began writing my own language and was reasonably pleased with the initial efforts. I demonstrated the program to a good friend of mine, Samuel Mishal, who is easily the greatest programmer I have ever known. After politely applauding my efforts, he showed me an interpreter he had been working on to help him with a DSP project. His language was very polished and far superior to my work. He integrated my simulator with his interpreter and we named it RobotBASIC.

Even though we planned from start to freely distribute RobotBASIC, we knew teachers could not devote time to learning a language that was just a robot simulator. We began adding new features and capabilities. The more we added, the more excited we became. We started testing the new language by developing robotic behaviors and writing simple video games. Every time we needed something special, we added it to the language.


RobotBASIC has all the commands necessary to write simple video games.

RobotBASIC currently has nearly 900 commands and functions—far more than most languages. More importantly though, since there are built-in functions to handle many things programmers normally have to do themselves, the language is very fast for an interpreter.

We felt RobotBASIC was an ideal language for introducing high school students to programming, but we wanted more. We added hardware I/O capabilities and created a wireless protocol that enabled RobotBASIC to control real robots with the same programs that control the simulation. At that point, the language could easily handle college-level projects but we knew the BASIC stigma would be a problem. To help with this, we added the option to use a modified C-style syntax, making it easier for students to transition to C or even Java.


This simulation shows the effects of friction on a spring’s movement.

We also decided to address some backward capability by adding legacy-style I/O commands, making it easy to teach basic programming skills to even fifth graders. This enables school systems to utilize RobotBASIC from lower grades through high school without having to teach a new environment when new capabilities are needed. And if the C-style syntax is introduced in the upper grades, students will be better prepared for college programming courses.

 NAN: What are some uses for RobotBASIC?

JOHN: Even though students’ needs were a driving force in our development process, RobotBASIC’s I/O capabilities make it a great language for hobbyists involved with robotics or other electronic-oriented projects. For example, it only takes a few lines of code to gather data from a remote temperature sensor using a wireless link and to transmit that information to another user over the Internet.

RobotBASIC also has many commands that facilitate flicker-free animation and simulation. This means teachers have the option of motivating students by teaching how to write simple video games.

As much as I love the robot simulator, I have to admit that many students get even more excited about animation than they do about robots. The point is that RobotBASIC provides many options.


The simulated robot can be programmed to solve a maze.

 NAN: You offer several types of RobotBASIC seminars geared toward children, university students, and robot clubs. You also lead seminars introducing programming and robotics. What do you enjoy most about teaching? What do attendees gain from your seminars?

 JOHN: I love teaching and I especially love showing teachers new ways to motivate their students. I understand that every school and teacher is different and I make sure I satisfy their goals by customizing each and every presentation based on their individual needs. I am always amazed that schools can’t believe that RobotBASIC is totally free. There are no acquisition costs, no upgrade fees, and no licenses—ever! RobotBASIC is free for hobbyists too. Circuit Cellar readers can download a copy from

 NAN: Are you currently working on or planning any robotics-related projects?


The speed and flight path of these darts is controlled with finger movements on a tablet’s touchscreen.

JOHN: Many RobotBASIC users have been asking for a more advanced book on animation and video games. Unfortunately, my work on our new RobotBASIC Robot Operating System (On a Chip) has been monopolizing all my time for the last couple of years. Now that it is finally finished, I have started writing again.  I think the new book will be worth the wait because it also discusses how RobotBASIC can interact with the new Windows 8 sensors (e.g., cameras, compass, accelerometer, touchscreen, etc.) The chapter I am currently working on enables darts to be thrown using finger movements on a tablet’s touchscreen.

NAN: Do you have any advice for Circuit Cellar readers who are considering building their own autonomous robots?

 JOHN: I think the biggest mistake most robot hobbyists make is they spend far too much time constructing a robot before having a detailed understanding of its sensory needs and the algorithms necessary to accomplish their goals. If they would test their ideas first with our simulator, they would have the information necessary to build a platform that can actually meet their needs. Furthermore, they could control their real robot with the very same programs they developed on the simulator.

Q&A: Marilyn Wolf, Embedded Computing Expert

Marilyn Wolf has created embedded computing techniques, co-founded two companies, and received several Institute of Electrical and Electronics Engineers (IEEE) distinctions. She is currently teaching at Georgia Institute of Technology’s School of Electrical and Computer Engineering and researching smart-energy grids.—Nan Price, Associate Editor

NAN: Do you remember your first computer engineering project?

MARILYN: My dad is an inventor. One of his stories was about using copper sewer pipe as a drum memory. In elementary school, my friend and I tried to build a computer and bought a PCB fabrication kit from RadioShack. We carefully made the switch features using masking tape and etched the board. Then we tried to solder it and found that our patterning technology outpaced our soldering technology.

NAN: You have developed many embedded computing techniques—from hardware/software co-design algorithms and real-time scheduling algorithms to distributed smart cameras and code compression. Can you provide some information about these techniques?

Marilyn Wolf

Marilyn Wolf

MARILYN: I was inspired to work on co-design by my boss at Bell Labs, Al Dunlop. I was working on very-large-scale integration (VLSI) CAD at the time and he brought in someone who designed consumer telephones. Those designers didn’t care a bit about our fancy VLSI because it was too expensive. They wanted help designing software for microprocessors.

Microprocessors in the 1980s were pretty small, so I started on simple problems, such as partitioning a specification into software plus a hardware accelerator. Around the turn of the millennium, we started to see some very powerful processors (e.g., the Philips Trimedia). I decided to pick up on one of my earliest interests, photography, and look at smart cameras for real-time computer vision.

That work eventually led us to form Verificon, which developed smart camera systems. We closed the company because the market for surveillance systems is very competitive.
We have started a new company, SVT Analytics, to pursue customer analytics for retail using smart camera technologies. I also continued to look at methodologies and tools for bigger software systems, yet another interest I inherited from my dad.

NAN: Tell us a little more about SVT Analytics. What services does the company provide and how does it utilize smart-camera technology?

MARILYN: We started SVT Analytics to develop customer analytics for software. Our goal is to do for bricks-and-mortar retailers what web retailers can do to learn about their customers.

On the web, retailers can track the pages customers visit, how long they stay at a page, what page they visit next, and all sorts of other statistics. Retailers use that information to suggest other things to buy, for example.

Bricks-and-mortar stores know what sells but they don’t know why. Using computer vision, we can determine how long people stay in a particular area of the store, where they came from, where they go to, or whether employees are interacting with customers.

Our experience with embedded computer vision helps us develop algorithms that are accurate but also run on inexpensive platforms. Bad data leads to bad decisions, but these systems need to be inexpensive enough to be sprinkled all around the store so they can capture a lot of data.

NAN: Can you provide a more detailed overview of the impact of IC technology on surveillance in recent years? What do you see as the most active areas for research and advancements in this field?

MARILYN: Moore’s law has advanced to the point that we can provide a huge amount of computational power on a single chip. We explored two different architectures: an FPGA accelerator with a CPU and a programmable video processor.

We were able to provide highly accurate computer vision on inexpensive platforms, about $500 per channel. Even so, we had to design our algorithms very carefully to make the best use of the compute horsepower available to us.

Computer vision can soak up as much computation as you can throw at it. Over the years, we have developed some secret sauce for reducing computational cost while maintaining sufficient accuracy.

NAN: You wrote several books, including Computers as Components: Principles of Embedded Computing System Design and Embedded Software Design and Programming of Multiprocessor System-on-Chip: Simulink and System C Case Studies. What can readers expect to gain from reading your books?

MARILYN: Computers as Components is an undergraduate text. I tried to hit the fundamentals (e.g., real-time scheduling theory, software performance analysis, and low-power computing) but wrap around real-world examples and systems.

Embedded Software Design is a research monograph that primarily came out of Katalin Popovici’s work in Ahmed Jerraya’s group. Ahmed is an old friend and collaborator.

NAN: When did you transition from engineering to teaching? What prompted this change?

MARILYN: Actually, being a professor and teaching in a classroom have surprisingly little to do with each other. I spend a lot of time funding research, writing proposals, and dealing with students.

I spent five years at Bell Labs before moving to Princeton, NJ. I thought moving to a new environment would challenge me, which is always good. And although we were very well supported at Bell Labs, ultimately we had only one customer for our ideas. At a university, you can shop around to find someone interested in what you want to do.

NAN: How long have you been at Georgia Institute of Technology’s School of Electrical and Computer Engineering? What courses do you currently teach and what do you enjoy most about instructing?

MARILYN: I recently designed a new course, Physics of Computing, which is a very different take on an introduction to computer engineering. Instead of directly focusing on logic design and computer organization, we discuss the physical basis of delay and energy consumption.

You can talk about an amazingly large number of problems involving just inverters and RC circuits. We relate these basic physical phenomena to systems. For example, we figure out why dynamic RAM (DRAM) gets bigger but not faster, then see how that has driven computer architecture as DRAM has hit the memory wall.

NAN: As an engineering professor, you have some insight into what excites future engineers. With respect to electrical engineering and embedded design/programming, what are some “hot topics” your students are currently attracted to?

MARILYN: Embedded software—real-time, low-power—is everywhere. The more general term today is “cyber-physical systems,” which are systems that interact with the physical world. I am moving slowly into control-oriented software from signal/image processing. Closing the loop in a control system makes things very interesting.

My Georgia Tech colleague Eric Feron and I have a small project on jet engine control. His engine test room has a 6” thick blast window. You don’t get much more exciting than that.

NAN: That does sound exciting. Tell us more about the project and what you are exploring with it in terms of embedded software and closed-loop control systems.

MARILYN: Jet engine designers are under the same pressures now that have faced car engine designers for years: better fuel efficiency, lower emissions, lower maintenance cost, and lower noise. In the car world, CPU-based engine controllers were the critical factor that enabled car manufacturers to simultaneously improve fuel efficiency and reduce emissions.

Jet engines need to incorporate more sensors and more computers to use those sensors to crunch the data in real time and figure out how to control the engine. Jet engine designers are also looking at more complex engine designs with more flaps and controls to make the best use of that sensor data.

One challenge of jet engines is the high temperatures. Jet engines are so hot that some parts of the engine would melt without careful design. We need to provide more computational power while living with the restrictions of high-temperature electronics.

NAN: Your research interests include embedded computing, smart devices, VLSI systems, and biochips. What types of projects are you currently working on?

MARILYN: I’m working on with Santiago Grivalga of Georgia Tech on smart-energy grids, which are really huge systems that would span entire countries or continents. I continue to work on VLSI-related topics, such as the work on error-aware computing that I pursued with Saibal Mukopodhyay.

I also work with my friend Shuvra Bhattacharyya on architectures for signal-processing systems. As for more unusual things, I’m working on a medical device project that is at the early stages, so I can’t say too much specifically about it.

NAN: Can you provide more specifics about your research into smart energy grids?

MARILYN: Smart-energy grids are also driven by the push for greater efficiency. In addition, renewable energy sources have different characteristics than traditional coal-fired generators. For example, because winds are so variable, the energy produced by wind generators can quickly change.

The uses of electricity are also more complex, and we see increasing opportunities to shift demand to level out generation needs. For example, electric cars need to be recharged, but that can happen during off-peak hours. But energy systems are huge. A single grid covers the eastern US from Florida to Minnesota.

To make all these improvements requires sophisticated software and careful design to ensure that the grid is highly reliable. Smart-energy grids are a prime example of Internet-based control.

We have so many devices on the grid that need to coordinate that the Internet is the only way to connect them. But the Internet isn’t very good at real-time control, so we have to be careful.

We also have to worry about security Internet-enabled devices enable smart grid operations but they also provide opportunities for tampering.

NAN: You’ve earned several distinctions. You were the recipient of the Institute of Electrical and Electronics Engineers (IEEE) Circuits and Systems Society Education Award and the IEEE Computer Society Golden Core Award. Tell us about these experiences.

MARILYN: These awards are presented at conferences. The presentation is a very warm, happy experience. Everyone is happy. These things are time to celebrate the field and the many friends I’ve made through my work.

Low-Cost SBCs Could Revolutionize Robotics Education

For my entire life, my mother has been a technology trainer for various educational institutions, so it’s probably no surprise that I ended up as an engineer with a passion for STEM education. When I heard about the Raspberry Pi, a diminutive $25 computer, my thoughts immediately turned to creating low-cost mobile computing labs. These labs could be easily and quickly loaded with a variety of programming environments, walking students through a step-by-step curriculum to teach them about computer hardware and software.

However, my time in the robotics field has made me realize that this endeavor could be so much more than a traditional computer lab. By adding actuators and sensors, these low-cost SBCs could become fully fledged robotic platforms. Leveraging the common I2C protocol, adding chains of these sensors would be incredibly easy. The SBCs could even be paired with microcontrollers to add more functionality and introduce students to embedded design.

rover_webThere are many ways to introduce students to programming robot-computers, but I believe that a web-based interface is ideal. By setting up each computer as a web server, students can easily access the interface for their robot directly though the computer itself, or remotely from any web-enabled device (e.g., a smartphone or tablet). Through a web browser, these devices provide a uniform interface for remote control and even programming robotic platforms.

A server-side language (e.g., Python or PHP) can handle direct serial/I2C communications with actuators and sensors. It can also wrap more complicated robotic concepts into easily accessible functions. For example, the server-side language could handle PID and odometry control for a small rover, then provide the user functions such as “right, “left,“ and “forward“ to move the robot. These functions could be accessed through an AJAX interface directly controlled through a web browser, enabling the robot to perform simple tasks.

This web-based approach is great for an educational environment, as students can systematically pull back programming layers to learn more. Beginning students would be able to string preprogrammed movements together to make the robot perform simple tasks. Each movement could then be dissected into more basic commands, teaching students how to make their own movements by combining, rearranging, and altering these commands.

By adding more complex commands, students can even introduce autonomous behaviors into their robotic platforms. Eventually, students can be given access to the HTML user interfaces and begin to alter and customize the user interface. This small superficial step can give students insight into what they can do, spurring them ahead into the next phase.
Students can start as end users of this robotic framework, but can eventually graduate to become its developers. By mapping different commands to different functions in the server side code, students can begin to understand the links between the web interface and the code that runs it.

Kyle Granat

Kyle Granat, who wrote this essay for Circuit Cellar,  is a hardware engineer at Trossen Robotics, headquarted in Downers Grove, IL. Kyle graduated from Purdue University with a degree in Computer Engineering. Kyle, who lives in Valparaiso, IN, specializes in embedded system design and is dedicated to STEM education.

Students will delve deeper into the server-side code, eventually directly controlling actuators and sensors. Once students begin to understand the electronics at a much more basic level, they will be able to improve this robotic infrastructure by adding more features and languages. While the Raspberry Pi is one of today’s more popular SBCs, a variety of SBCs (e.g., the BeagleBone and the pcDuino) lend themselves nicely to building educational robotic platforms. As the cost of these platforms decreases, it becomes even more feasible for advanced students to recreate the experience on many platforms.

We’re already seeing web-based interfaces (e.g., ArduinoPi and WebIOPi) lay down the beginnings of a web-based framework to interact with hardware on SBCs. As these frameworks evolve, and as the costs of hardware drops even further, I’m confident we’ll see educational robotic platforms built by the open-source community.

ZigBee PRO Communication Controller Chip


The GP490 controller chip

The GP490 is an ultra-low-power ZigBee PRO communication controller. It supports the ZigBee PRO chip features, including bidirectional commissioning, bidirectional communication, and full security mode.

The controller is specifically designed for low-power smart home applications including door, window, and temperature sensors and light switches. Equipped with the energy-optimized GP490, these low-power, low-data rate smart home applications can operate on a coin cell battery for more than 10 years.

The GP490 development kit with reference design and software can help device manufacturers build low-cost, low-power sensor nodes, optimized for standard battery and coin-cell battery operation. Guidelines and tools are provided to ensure an efficient ZigBee certification for a cost-optimized feature set of the ZigBee Home Automation (HA 1.2) Application Profile.

The low-cost GP490 enables developers and manufacturers to supply ZigBee Smart Home sensor solutions starting at $5 each. Contact GreenPeak Technologies for specific pricing.

GreenPeak Technologies

Compact Wi-Fi Transceiver


The LEMOS-LMX-WiFi wireless transceiver

The LEMOS-LMX-WiFi is a compact wireless transceiver that can operate on IEEE 802.11 networks. It is supported by a 32-bit microcontroller running a scalable TCP/IP stack. The transceiver is well suited for wireless embedded applications involving digital remote control, digital and analog remote monitoring, asset tracking, security systems, point of sale terminals, sensor monitoring, machine-to-machine (M2M) communication, environmental monitoring and control.

The 40.64-mm × 73.66-mm transceiver is available in two models: integrated PCB antenna or external antenna. Its features include software-selectable analog and digital I/O pins, a 2-Mbps maximum data rate, and a unique IEEE MAC address.

The LEMOS-LMX-WiFi can be powered by any 3.3-V to – 6-VDC source that can deliver 200 mA of current. The transceiver can interface to external devices that communicate via USART, I2C, and SPI. It also supports infrastructure and ad hoc networks.

Contact Lemos International for pricing.

Lemos International, Inc.

John Safrit Wins the CC Code Challenge (Week 24)

We have a winner of last week’s CC Weekly Code Challenge, sponsored by IAR Systems! We posted a code snippet with an error and challenged the engineering community to find the mistake!

Congratulations to John Safrit of Mebane, North Carolina, United States  for winning the CC Weekly Code Challenge for Week 24! John will receive a CC T-shirt and a one-year subscription to Circuit Cellar.

John’s correct answer was randomly selected from the pool of responses that correctly identified an error in the code. John answered:

Line#22: need to terminate space string, add: space[d]=’’;


You can see the complete list of weekly winners and code challenges here.

What is the CC Weekly Code Challenge?
Each week, Circuit Cellar’s technical editors purposely insert an error in a snippet of code. It could be a semantic error, a syntax error, a design error, a spelling error, or another bug the editors slip in. You are challenged to find the error.Once the submission deadline passes, Circuit Cellar will randomly select one winner from the group of respondents who submit the correct answer.

Inspired? Want to try this week’s challenge? Get started!

Submission Deadline: The deadline for each week’s challenge is Sunday, 12 PM EST. Refer to the Rules, Terms & Conditions for information about eligibility and prizes.

Issue 280: EQ Answers

What is the key difference between the following two C functions?

#define VOLTS_FULL_SCALE 5.000
#define KPA_PER_VOLT 100.0
#define KPA_THRESHOLD 200.0

/* adc_reading is a value between 0 and 1
bool test_pressure (float adc_reading)
  float voltage = adc_reading * VOLTS_FULL_SCALE;
  float pressure = voltage * KPA_PER_VOLT;

  return pressure > KPA_THRESHOLD;

bool test_pressure2 (float adc_reading)
  float voltage_threshold = KPA_THRESHOLD / KPA_PER_VOLT;
  float adc_threshold = voltage_threshold / VOLTS_FULL_SCALE;

  return adc_reading > adc_threshold;

The first function, test_pressure(), converts the ADC reading to engineering units before making the threshold comparison. This is a direct, obvious way to implement such a function.

The second function, test_pressure2(), converts the threshold value to an equivalent ADC reading, so that the two can be compared directly.

The key difference is in performance. The first function requires that arithmetic be done on each reading before making the comparison. However, the calculations in the second function can all be performed at compile time, which means that the only run-time operation is the comparison itself.

How many NAND gates would it take to implement the following translation table? There are five inputs and eight outputs. You may consider an inverter to be a one-input NAND gate.

Inputs Outputs
A B C D E   F G H I J K L M
1 1 1 1 1 0 0 0 0 1 1 1 1
0 1 1 1 1 0 0 0 0 0 0 1 1
0 0 1 1 1 0 0 0 0 0 0 0 0
0 0 0 1 1 1 0 0 0 0 0 1 1
0 0 0 0 1 1 0 0 0 1 1 1 1


First of all, note that there are really only four inputs and three unique outputs for this function, since input E is always 1 and outputs GHI are always 0. The only real outputs are F, plus the groups JK and LM.

Since the other 27 input combinations haven’t been specified, we can take the output values associated with all of them as “don’t care.”

The output F is simply the inversion of input C.

The output JK is high only when A is high or D is low.

The output LM is high except when B is low and C is high.

Therefore, the entire function can be realized with a total of five gates:


Quick history quiz: Who were the three companies who collaborated to create the initial standard for the Ethernet LAN?

The original 10-Mbps Ethernet standard was jointly developed by Digital Equipment Corp. (DEC), Intel, and Xerox. It was released in November 1980, and was commonly referred to as “DIX Ethernet.”

What was the name of the wireless network protocol on which Ethernet was based? Where was it developed?

The multiple access with collision detection protocol that Ethernet uses was based on a radio protocol developed at the University of Hawaii. It was known as the “ALOHA protocol.”

A Look at Low-Noise Amplifiers

Maurizio Di Paolo Emilio, who has a PhD in Physics, is an Italian telecommunications engineer who works mainly as a software developer with a focus on data acquisition systems. Emilio has authored articles about electronic designs, data acquisition systems, power supplies, and photovoltaic systems. In this article, he provides an overview of what is generally available in low-noise amplifiers (LNAs) and some of the applications.

By Maurizio Di Paolo Emilio
An LNA, or preamplifier, is an electronic amplifier used to amplify sometimes very weak signals. To minimize signal power loss, it is usually located close to the signal source (antenna or sensor). An LNA is ideal for many applications including low-temperature measurements, optical detection, and audio engineering. This article presents LNA systems and ICs.

Signal amplifiers are electronic devices that can amplify a relatively small signal from a sensor (e.g., temperature sensors and magnetic-field sensors). The parameters that describe an amplifier’s quality are:

  • Gain: The ratio between output and input power or amplitude, usually measured in decibels
  • Bandwidth: The range of frequencies in which the amplifier works correctly
  • Noise: The noise level introduced in the amplification process
  • Slew rate: The maximum rate of voltage change per unit of time
  • Overshoot: The tendency of the output to swing beyond its final value before settling down

Feedback amplifiers combine the output and input so a negative feedback opposes the original signal (see Figure 1). Feedback in amplifiers provides better performance. In particular, it increases amplification stability, reduces distortion, and increases the amplifier’s bandwidth.

 Figure 1: A feedback amplifier model is shown here.

Figure 1: A feedback amplifier model is shown.

A preamplifier amplifies an analog signal, generally in the stage that precedes a higher-power amplifier.

Op-amps are widely used as AC amplifiers. Linear Technology’s LT1028 or LT1128 and Analog Devices’s ADA4898 or AD8597 are especially suitable ultra-low-noise amplifiers. The LT1128 is an ultra-low-noise, high-speed op-amp. Its main characteristics are:

  • Noise voltage: 0.85 nV/√Hz at 1 kHz
  • Bandwidth: 13 MHz
  • Slew rate: 5 V/µs
  • Offset voltage: 40 µV

Both the Linear Technology and Analog Devices amplifiers have voltage noise density at 1 kHz at around 1 nV/√Hz  and also offer excellent DC precision. Texas Instruments (TI)  offers some very low-noise amplifiers. They include the OPA211, which has 1.1 nV/√Hz  noise density at a  3.6 mA from 5 V supply current and the LME49990, which has very low distortion. Maxim Integrated offers the MAX9632 with noise below 1nV/√Hz.

The op-amp can be realized with a bipolar junction transistor (BJT), as in the case of the LT1128, or a MOSFET, which works at higher frequencies and with a higher input impedance and a lower energy consumption. The differential structure is used in applications where it is necessary to eliminate the undesired common components to the two inputs. Because of this, low-frequency and DC common-mode signals (e.g., thermal drift) are eliminated at the output. A differential gain can be defined as (Ad = A2 – A1) and a common-mode gain can be defined as (Ac = A1 + A2 = 2).

An important parameter is the common-mode rejection ratio (CMRR), which is the ratio of common-mode gain to the differential-mode gain. This parameter is used to measure the  differential amplifier’s performance.

Figure 2: The design of a simple preamplifier is shown. Its main components are the Linear Technology LT112 and the Interfet IF3602 junction field-effect transistor (JFET).

Figure 2: The design of a simple preamplifier is shown. Its main components are the Linear Technology LT1128 and the Interfet IF3602 junction field-effect transistor (JFET).

Figure 2 shows a simple preamplifier’s design with 0.8 nV/√Hz at 1 kHz background noise. Its main components are the LT1128 and the Interfet IF3602 junction field-effect transistor (JFET).  The IF3602 is a dual Nchannel JFET used as stage for the op-amp’s input. Figure 3 shows the gain and Figure 4 shows the noise response.

Figure 3: The gain of a low-noise preamplifier.

Figure 3: The is a low-noise preamplifier’s gain.


Figure 4: The noise response of a low-noise preamplifier

Figure 4: A low-noise preamplifier’s noise response is shown.

The Stanford Research Systems SR560 low-noise voltage preamplifier has a differential front end with 4nV/√Hz input noise and a 100-MΩ input impedance (see Photo 1a). Input offset nulling is accomplished by a front-panel potentiometer, which is accessible with a small screwdriver. In addition to the signal inputs, a rear-panel TTL blanking input enables you to quickly turn the instrument’s gain on and off (see Photo 1b).

Photo 1a:The Stanford Research Systems SR560 low-noise voltage preamplifier

Photo 1a: The Stanford Research Systems SR560 low-noise voltage preamplifier. (Photo courtesy of Stanford Research Systems)

Photo 1 b: A rear-panel TTL blanking input enables you to quickly turn the Stanford Research Systems SR560 gain on and off.

Photo 1b: A rear-panel TTL blanking input enables you to quickly turn the Stanford Research Systems SR560 gain on and off. (Photo courtesy of Stanford Research Systems)

The Picotest J2180A low-noise preamplifier provides a fixed 20-dB gain while converting a 1-MΩ input impedance to a 50-Ω output impedance and 0.1-Hz to 100-MHz bandwidth (see Photo 2). The preamplifier is used to improve the sensitivity of oscilloscopes, network analyzers, and spectrum analyzers while reducing the effective noise floor and spurious response.

Photo 2: The Picotest J2180A low-noise preamplifier is shown.

Photo 2: The Picotest J2180A low-noise preamplifier is shown. (Photo courtesy of

Signal Recovery’s Model 5113 is among the best low-noise preamplifier systems. Its principal characteristics are:

  • Single-ended or differential input modes
  • DC to 1-MHz frequency response
  • Optional low-pass, band-pass, or high-pass signal channel filtering
  • Sleep mode to eliminate digital noise
  • Optically isolated RS-232 control interface
  • Battery or line power

The 5113 (see Photo 3 and Figure 5) is used in applications as diverse as radio astronomy, audiometry, test and measurement, process control, and general-purpose signal amplification. It’s also ideally suited to work with a range of lock-in amplifiers.

Photo 3: This is the Signal Recovery Model 5113 low-noise pre-amplifier.

Photo 3: This is the Signal Recovery Model 5113 low-noise preamplifier. (Photo courtesy of Signal Recovery)

Figure 5: Noise contour figures are shown for the Signal Recovery Model 5113.

Figure 5: Noise contour figures are shown for the Signal Recovery Model 5113.

This article briefly introduced low-noise amplifiers, in particular IC system designs utilized in simple or more complex systems such as the Signal Recovery Model 5113, which is a classic amplifier able to obtain different frequency bands with relative gain. A similar device is the SR560, which is a high-performance, low-noise preamplifier that is ideal for a wide variety of applications including low-temperature measurements, optical detection, and audio engineering.

Moreover, the Krohn-Hite custom Models 7000 and 7008 low-noise differential preamplifiers provide a high gain amplification to 1 MHz with an AC output derived from a very-low-noise FET instrumentation amplifier.

One common LNA amplifier is a satellite communications system. The ground station receiving antenna will connect to an LNA, which is needed because the received signal is weak. The received signal is usually a little above background noise. Satellites have limited power, so they use low-power transmitters.

Telecommunications engineer Maurizio Di Paolo Emilio was born in Pescara, Italy. Working mainly as a software developer with a focus on data acquisition systems, he helped design the thermal compensation system (TCS) for the optical system used in the Virgo Experiment (an experiment for detecting gravitational waves). Maurizio currently collaborates with researchers at the University of L’Aquila on X-ray technology. He also develops data acquisition hardware and software for industrial applications and manages technical training courses. To learn more about Maurizio and his expertise, read his essay on “The Future of Data Acquisition Technology.”