September (issue #350) Circuit Cellar Article Materials

Click here for the Circuit Cellar article code archive


p.6: Building a Portable Game Console: Accelerometer Enhanced,
     By Juan Joel Albrecht and Leandro Dorta Duque

[1] Tahmid’s blog
[2] Protothread library by Adam Dunkels
[3] 3DOF Stewart Platform I2C Library

Adafruit |
Microchip Technology |
Texas Instruments |

Watch the video of the PGC32 project here:

p.12: Using Small PCs in New Ways: Innovative Interfacing, By Wolfgang Matthes

There are additional photos available that couldn’t fit in the magazine.
Scroll down to APPENDIX at the end of this page to view the photos.

The author’s project homepages:
VESA (Video Electronics Standards Association):

We may need two standards:
1) DMT (VESA and Industry Standards and Guidelines for Computer Display Monitor Timing) for an overview over the screen resolutions,
2) FDMI (VESA Flat Display Mounting Interface Standard) if we want to make use of the VESA mount. for example, to fasten a mini-PC in our casing, frame, or test rig.
Both standards are freely available for download.

USB standards:
The standards are freely available for download. Of particular interest are the following items:
USB Power Delivery
USB Type-C(TM) Cable and Connector Specification
USB Type-C(TM) Port Controller Interface Specification
USB 2.0 Specification (also contains the OTG specifications)

IDEs (Integrated Development Environments):
Liberty Basic:
Multi-platform Development:

RAD Studio (Delphi and C++):

Visual Studio  (C#, C++, Visual Basic, JavaScript):


p.22: Guitar Game Uses PIC32 MCU: Shred Master, By Brian Dempsey, Katarina Martucci and Liam Patterson

Link to our Github repository, containing design files and source code:

The same code and design files are also available on Circuit Cellar’s Code & Files download page:  

[1] Guitar Hero, Guitar Hero II, Guitar Hero III are registered trademarks of Activision Publishing, Inc.
[2] NPD 2006 Annual Report, Sales Data
[3] NPD 2007 Annual Report, Sales Data

Components list and costs

Adafruit |
Digi-Key |
Microchip Technology |

Watch the video of the PGC32 project here:


p.28: Comparing Color Sensor ICs: With an Eye on Applications, By Kevin Jensen

ams |
X-Rite |

p.34: Industrial Embedded Computing Technology for Smart Robots: Modules for Cooperative Robotics,
               By Zeljko Loncaric Marketing Engineer, congatec 
and Prof. Dr. Christian Schlegel, Service Robotics Research Group’ Ulm University of Applied Sciences. 

Here’s the video of the two robots in action: 

Market Report: Smart Robot Market by Component (Hardware and Software), Industrial Application (Automotive, Electronics, and Food & Beverages), Personal Service Application, Professional Service Application, and Geography – Global Forecast to 2023Available here.

congatec |

p.38: MCUs Suit Up for IoT Security Duties: Connected Confidence, By Jeff Child

Cypress Semiconductor |
Maxim Integrated |
Microchip |
NXP Semiconductor |
Renesas Electronics America |
STMicroelectronics |
The Things Industries |

p.44: Mini-ITX and Pico-ITX SBCs Pack in Performance: Single-Board Sensations, By Jeff Child

ASRock Industrial Computer |
Avalue Technology |
Axiomtek |
Congatec |
Estone Technology |
Inforce Computing |
Kontron |
Win Enterprises |
WinSystems |

p.50: PRODUCT FOCUS: IoT Gateways: Linking the Edge and Cloud, By Jeff Child

Artila |
Avnet |
Axiomtek |
Congatec |
Eurotech |
Kontron |
SolidRun |

p.54: PICKING UP MIXED SIGNALS: Variable Frequency Drive (Part 2): Bandsaw Upgrade, By Brian Millier

Cypress Semiconductor PSoC5LP Prototyping Kit

Infineon IR2136S 3-Phase Gate Driver IC

Direct Digital Synthesis Tutorial

Analog Devices |
Cypress Semiconductor |
Infineon Technologies |
Microchip Technology |

p.62: EMBEDDED SYSTEM ESSENTIALS: Electromagnetic Fault Injection: A Closer Look, By Colin O’Flynn

“PhyWhisperer-USB” project on Github:

NewE Technology |
NXP Semiconductors |

p.67: FROM THE BENCH: Offloading Intelligence: A Robotics Example, By Jeff Bachiochi

[1] Roboclaw
2 channel, 15 A Peak, 7.5 A Continuous per channel, 34 VDC, dual quadrature decoding  motor controller
Basic Micro
[2] Robot Programmer’s Bonanza by John Blankenship and Samuel Mishal,
published by McGraw-Hill, ISBN 978-0-07-154797-0

Basicmicro |
Microsoft |

p.72: THE CONSUMMATE ENGINEER: Semiconductor Fundamentals (Part 1): Resistivity and Doping,
                 By George Novacek

Semiconductor basics


p.79: The Future of Critical 5G Networks: The Promise of 5G for First Responders, By Ken Bednasz

[1] Ericsson Mobility Report June 2019

Telit |



( Additional images for Using Small PCs in New Ways: Innovative Interfacing,
By Wolfgang Matthes )


Photo 1
Two jerry-built devices for experimenting and debugging. a) shows an indicator panel for 24-V operation, supporting up to 24 signals. b) is an input device with 16 toggle switches, organized as two 8-bit ports. The switches are debounced. The 8-bit ports have tri-state outputs, thus the module may be connected to a microprocessor’s data bus.

Photo 2
To the left, the input device is attached to a circuitry assembled on a breadboard. To the right, an educational setup is shown, demonstrating IoT (Internet of Things) principles of operation. Each of the main functional units resides on its own PCB, so the interfaces are easily accessible. A microcontroller module (1) is connected to a CPLD module (2) that senses and energizes the signals of the application environment. The adapter board (3), the so-called 24-V companion, does the level conversion between 3,3 V and 24 V. The indicator panel (4) visualizes the 24-V signals.

Photo 3
Seven-segment LEDs and keys on PCB stripes allow for assembling display and control panels of arbitrary size. If appropriate components are inserted, they could be mounted even behind a front panel.

Photo 4
This legacy operator panel from International Computers Limited (ICL) features 108 toggle switches. Imagine building something yourself.

Photo 5
This experiment in retro-style has been inspired by the operating panels of vintage computers. The switches, buttons, and indicator lamps would be much more expensive than a small PC, which is capable of displaying this window.

Photo 6
This makeshift test system is built according to the configuration depicted in Figure 6 in the article. The microcontroller module (1) runs the application or test program. The human interface module (2) serves as a protocol console. The module (3) is the device under test (DUT). The second microcontroller module (4) is programmed as a peripheral emulator. It energizes the inputs and senses the outputs of the DUT, thus emulating the application environment. Each microcontroller module has a tablet PC behind it, both acting as virtual operator panels.

Photo 7
If the microcontroller is not connected to real peripheral devices, it is sometimes even possible to omit the adapter or diagnostic front-end shown in Figure 6 in the article. Here, the periphery itself is virtualized, that is, emulated by special software routines. Instead of driving outputs or loading registers of peripheral units, the microcontroller sends reports to the PC. Instead of sensing input signals from the outside world, the microcontroller receives commands emitted from the PC.

Photo 8
USB Type-C is a versatile connector, supporting power supply or charging, power delivery to attached devices, and device operation. Adapters allow easy access to the various attachments.

Photo 9
An alternative design. The 8″-tablet is inserted into a jerry-built frame, mounted here onto a purposefully shaped pedestal. It can be attached to a sloped module carrier. The fairing of the frame accommodates additional control elements.

Photo 10
A PC-stick has been plugged into the HDMI socket of a small monitor (compare with the monitor a) shown in Figure 12 in the article. Here, the socket has enough clearance, so that the stick will fit in well. However, this will not be the case for all monitors or TV sets. Besides, the photo shows that cantilevering the big stick is no particular good idea. The connectors are under permanent strain, and the power supply and the USB devices are to be attached, too.

Photo 11
Footprints of typical small PC form factors. Dimensions in mm.
a) Mainboard Mini ITX (170 x 170)
b) Intel NUC (170 x 120)
c) Mainboard Nano ITX, some mini-PCs (120 x 120)
d) Mainboard Pico ITX (100 x 72)
e) PC-stick (CSL Mini-PC on a Stick; 150 x 54)
f) PC-stick (Intel Compute Stick; 110 x 38)

Photo 12
What has the right size on a 7″ tablet (above), is way too large on a 22″ screen (not to scale).

Photo 13
In this menu, the desired function is selected by typing in some characters. The screen shows just an explanation. The input “AP” (a) selects the field (b) to enter a compare stop address.

Photo 14
More menu examples. The software emulates a small educational microcontroller, somewhat similar to Microchip’s PIC16.

Photo 15
When supported by a graphical user interface, a terminal should not remain that dumb. Here, the operation window of a utility program is shown. With respect to the attached microcontroller, the utility behaves like a simple terminal. 1 – select the serial port, 2 – edit box to enter text, 3 – protocol window (typewriter-like), 4 – on-screen keys, 5 – ASCII control character input, 6 – application-specific function keys.

Photo 16
The 8″ tablet has been supplemented by two incremental encoders, two bi-color LEDs, a 3-position toggle switch, and a 5-position rotary switch. It is a pure experimental setup, just to play with.

Photo 17
This experimental setup behaves like an off-the-shelf keyboard. The arrow points to an IC converting external bit patterns into key codes. The microcontroller module (upper left) generates the bit patterns that are entered or selected via the human interface module (lower left).