Circuit Cellar Kindle Edition

CC Amazon KindleKindle fans, check this out! Circuit Cellar is now available on Kindle through Amazon’s Newsstand. Purchase the current issue, or save 54% with a Kindle subscription.

It’s never been easier to keep up with the latest embedded technologies, and now you can take your Circuit Cellar magazine with you on the go. With the new Kindle Edition, you can make notes, highlight key passages, and bookmark pages wherever you happen to be!

Act now! The subscription comes with a risk-free 30-day free trial period. Learn More

Circuit Cellar is a monthly magazine (print and digital) covering the topics of embedded hardware, embedded software, electrical engineering, and computer applications. Twelve times per year, Circuit Cellar reaches a diverse international readership of professionals, academics, and electronics specialists who work with embedded, MCU-related technologies on a regular basis. The editorial department’s goal is to assist each reader in becoming a well-rounded, multidisciplinary practitioner who can confidently bring innovative, cutting-edge engineering ideas to bear on any number of relevant tasks, problems, and technologies.

Submitting to Circuit Cellar Just Got Easier

submit imageCircuit Cellar’s new online article and proposal submission form makes contributing easier than ever. Check it out.

Circuit Cellar publishes articles (Circuit Cellar magazine), books, and website content by talented authors on electrical engineering-related topics. When you publish with Circuit Cellar, you are reaching an educated professional audience of engineers, programmers, and academics around the globe. Professional engineers, academics, students, and serious electronics enthusiasts are encouraged to submit articles and proposals.

Our editors carefully review all proposals and finished submissions before making final decisions about publication. The review process can take a few weeks. Your work must be your own and original. Your article should meet all the requirement specified in the Authors Guide.

2016 Editorial Calendar

  • 306 January – Embedded Applications
  • 307 February – Wireless Communications
  • 308 March – Robotics
  • 309 April – Embedded Programming
  • 310 May – Measurement & Sensors
  • 311 June – Communications
  • 312 July – Internet & Connectivity
  • 313 August – Embedded Development
  • 314 September – Data Acquisition
  • 315 October – Signal Processing
  • 316 November – Analog Techniques
  • 317 December – Programmable Logic

You can either use our online submission form or email our editors at editor@circuitcellar.com.

Data Communication Between “Smart” Pendants

As head of the Computer Science and Software  Engineering department at Penn State Erie, The Behrend College, Chris Coulston is busy.

But not too busy to surf the ‘Net for design inspiration.

And one of his latest projects may earn him the title of “social jewelry designer,” along with college professor and department chair.

In the June issue of Circuit Cellar, Coulston writes about his design and construction of an RGB LED pendant that “cycles through a color sequence, detects when another pendant is brought into its proximity, and communicates color sequence information to the other pendant through its LED.” The heart of the design is a Seoul Semiconductor SFT722 RGB LED.

Coulston was online a few years ago when he ran across the first half of his project inspiration—a Mitsubishi Electric Research Laboratories technical report titled “Very Low-Cost Sensing and Communication Using Bi-directional LEDs.” The report, Coulston says, “describes how an ordinary LED with no additional circuitry can act as a full-duplex communication channel.”

Pendant’s two boards

His remaining inspiration came from an article he recalled appearing in Circuit Cellar a decade ago.

The Mitsubishi labs technical report “got me thinking about Jeff Bachiochi’s article ‘Designing with RGB LEDs’ (Circuit Cellar 159, 2003), in which the challenges associated with designing a piece of LED jewelry are described,” Coulston says. “The fusion of these two ideas was the inspiration for my social jewelry design.”

Coulston’s design includes a pair of circuit boards, the upper containing the LED and analog circuitry and the lower containing the microcontroller.

“The prototype pendant is mainly controlled through a USB-to-USART bridge,” Couston says. “Its power is supplied by the same connection.”

He invites anyone who is  “curious how an LED can be used as a transceiver and how it’s used to build a piece of social jewelry” to read his article. You’ll find it in next month’s issue of Circuit Cellar.

June Issue: Vehicle Tracking, Bit Banging, and More

Circuit Cellar’s June issue is now online, outlining DIY projects ranging from an automated real-time vehicle locator to a  GPS-oriented solar tracker and offering solid advice on bit banging, FPGA reconfiguration, customizing the Linux kernel, and more.

June issueA persistent problem typically sparks the invention of projects featured in our magazine. For example, when the campus at Penn State Erie, The Behrend College, had a growth spurt, the local transit authority provided a shuttle bus to help students who were rushing from class to class. But ridership was low because of the bus’ unpredictable schedule.

So a college engineering team constructed a mobile application to track the bus. That system inspired the cover of our June issue and complements its communications theme.

The three-part system consists of a user’s smartphone running a HTML5-compatible browser, a base station consisting of an XTend 900-MHz radio connected to a Raspberry Pi single-board computer, and a mobile tracker including a GPS receiver, a Microchip Technology PIC18F26K22 microcontroller, and an XTend module.

The Raspberry Pi runs a web server to handle requests from a user’s smartphone. The user then receives accurate bus arrival times.

Also aligning with June’s theme, we present an article about implementing serial data transmission through bit banging. You’ll gain a better understanding of how serial data is transmitted and received by a microprocessor’s hardware UART peripheral. You’ll also learn how bit banging can achieve serial communication in software, which is essential when your embedded system’s microprocessor lacks a built-in UART.

Recognizing a rapidly unfolding communications trend, this issue includes an inventor’s essay about how the presence of Bluetooth Low Energy (BLE) in the latest mobile devices is sparking a big boom in innovative hardware/sensor add-ons that use your smartphone or tablet as an interface. Other communications-related articles include Part 2 of a close look at radio-frequency identification (RFID). This month’s installment describes the front-end analog circuitry for the RFID base station of a secure door-entry project.

In addition, we offer articles about adjusting your FPGA design while it’s operating, modifying the Linux kernel to suit your hardware and software designs, tools and techniques to boost your power supply, digital data encoding in wireless systems, GPS orientation of a solar panel, and an interview with Quinn Dunki, an embedded applications consultant and hacker.

The June issue is available for membership download or single-issue purchase.

Places for the IoT Inside Your Home

It’s estimated that by the year 2020, more than 30 billion devices worldwide will be wirelessly connected to the IoT. While the IoT has massive implications for government and industry, individual electronics DIYers have long recognized how projects that enable wireless communication between everyday devices can solve or avert big problems for homeowners.

February CoverOur February issue focusing on Wireless Communications features two such projects, including  Raul Alvarez Torrico’s Home Energy Gateway, which enables users to remotely monitor energy consumption and control household devices (e.g., lights and appliances).

A Digilent chipKIT Max32-based embedded gateway/web server communicates with a single smart power meter and several smart plugs in a home area wireless network. ”The user sees a web interface containing the controls to turn on/off the smart plugs and sees the monitored power consumption data that comes from the smart meter in real time,” Torrico says.

While energy use is one common priority for homeowners, another is protecting property from hidden dangers such as undetected water leaks. Devlin Gualtieri wanted a water alarm system that could integrate several wireless units signaling a single receiver. But he didn’t want to buy one designed to work with expensive home alarm systems charging monthly fees.

In this issue, Gualtieri writes about his wireless water alarm network, which has simple hardware including a Microchip Technology PIC12F675 microcontroller and water conductance sensors (i.e., interdigital electrodes) made out of copper wire wrapped around perforated board.

It’s an inexpensive and efficient approach that can be expanded. “Multiple interdigital sensors can be wired in parallel at a single alarm,” Gualtieri says. A single alarm unit can monitor multiple water sources (e.g., a hot water tank, a clothes washer, and a home heating system boiler).

Also in this issue, columnist George Novacek begins a series on wireless data links. His first article addresses the basic principles of radio communications that can be used in control systems.

Other issue highlights include advice on extending flash memory life; using C language in FPGA design; detecting capacitor dielectric absorption; a Georgia Tech researcher’s essay on the future of inkjet-printed circuitry; and an overview of the hackerspaces and enterprising designs represented at the World Maker Faire in New York.

Editor’s Note: Circuit Cellar‘s February issue will be available online in mid-to-late January for download by members or single-issue purchase by web shop visitors.

Peter Baston Wins the CC Code Challenge (Week 31)

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 Peter Baston of Flintshire, United Kingdom for winning the CC Weekly Code Challenge for Week 31! Peter will receive a Circuit Cellar 2012 & 2011 Archive CD.

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

Line 35: Should not end with semi-colon

2013_code_challenge_31_answer

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.

The CC Weekly Code Challenge ran from June 3rd through December 30th, 2013. Subscribe to our CC.Post newsletter to stay informed of other contests and challenges, as well as recent news, new issue availability, and more!

Gait Boxman Wins the CC Code Challenge (Week 30)

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 Gait Boxman of Gelderland, Netherlands for winning the CC Weekly Code Challenge for Week 30! Gait will receive an IAR Kickstart: KSK-FM3-48PMC-USB.

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

Line 31: should be digits % 3 instead of digits / 3

2013_code_challenge_30_answer

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.

Gordon Margulieux Wins the CC Code Challenge (Week 29)

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 Gordon Margulieux of Oregon, United States for winning the CC Weekly Code Challenge for Week 29! Gordon will receive an Elektor 2012 & 2011 Archive DVD.

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

Line 10: Conditional should be “if (number == 0)” instead of number < 0

2013_code_challenge_29_answer

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.

Alvin Schurman Wins the CC Code Challenge (Week 28)

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 Alvin Schurman of Florida, United States for winning the CC Weekly Code Challenge for Week 27! Alvin will receive a CC T-Shirt and a one year digital subscription/renewal.

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

Line #35: Missing “, terminate()” before “after 0 -> ok” to recursively kill all (both) processes before ending

2013_code_challenge_28_answer

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.

Brian Shewan Wins the CC Code Challenge (Week 27)

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 Brian Shewan of Nova Scotia, Canadafor winning the CC Weekly Code Challenge for Week 27! Brian will receive Circuit Cellar 2011 and 2012 Archive CD.

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

Line 22: Shift register won’t shift. Change to “ShiftReg_ClkB <= {ShiftReg_ClkB[1:0], clkA_Change}”

2013_code_challenge_27_answer

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.

Kang Usman Wins the CC Code Challenge (Week 26)

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 Kang Usman of Jakarta, Indonesia for winning the CC Weekly Code Challenge for Week 26! Kang will receive an IAR Kickstart: KSK-FM3-48PMC-USB.

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

Line 46: need [ and ]. it should be translate([0,0,2*ThreadThick])

2013_code_challenge_26_answer

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.

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.

2013_code_challenge_25_answer

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.

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]=’’;

2013_code_challenge_24_answer

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.

Rob Tholl Wins the CC Code Challenge (Week 23)

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 Rob Tholl of Calgary, Alberta, Canada for winning the CC Weekly Code Challenge for Week 23! Rob will receive a CCGold Issues Archive.

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

Line 14: need &array[c] to write to the proper memory location

2013_code_challenge_23_answer

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.

Mike Brown Wins the CC Code Challenge (Week 22)

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 Mike Brown of Meldreth Cambs, United Kingdom for winning the CC Weekly Code Challenge for Week 22! Mike will receive an IAR Kickstart: KSK-TMPM061-JL.

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

Line 9: Use “div.container” to select the div class ‘container’

Note: an acceptable alternate answer was to change the “class” to “id” on line 23 as indicated in the image below.

2013_code_challenge_22_answer

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.