p.6: Build a Pixel-Covered Top Hat: Runs Python-Coded Animations, By Chris Cantrell
Running Hat Video:
Pixel Hat GitHub Repository: Github
DC/DC Converter: Delta Electronics, E36SC05025NRFA
Logic Level Converter: SparkFun
LED Ring: Amazon
LED Grid: Adafruit
LED Strip: Adafruit
Foam Pad for Hat Frame: Amazon
Propeller Boards from an Earlier Project: Github
p.14: Murphy’s Laws in the DSP World (Part 1): First Six Laws Explained, By Michael Smith, Ehsan Shahrabi Farahani and Mai Tanaka
DSP_ML Project Files can be cut and pasted from the .pdf file directly into your script file .m or can be found here: github.com/SMILE-Projects/SMILE_Projects
Scroll down to the end of this web page to see the GETTING STARTED part of the article is repeated here online with all the proper links provided.
p. 28: Gesture Recognition in a Boxing Glove: Sensors Packed in the Punch, By Blade Olson and Patrick Dillon
-  Beekman, Emmylou, et al. “Validity, Reliability and Feasibility of Commercially Available Activity Trackers in Physical Therapy for People with a Chronic Disease: a Study Protocol of a Mixed Methods Research.” Pilot and Feasibility Studies, vol. 3, no. 1, 2017, doi:10.1186/s40814-017-0200-5.
-  Fitzgerald, Diarmaid, et al. “Development of a Wearable Motion Capture Suit and Virtual Reality Biofeedback System for the Instruction and Analysis of Sports Rehabilitation Exercises.” 2007 29th Annual International Conference of the IEEE Engineering in Medicine and Biology Society, 2007, doi:10.1109/iembs.2007.4353431.
-  “Mahony AHRS algorithm”, github.com/dccharacter/AHRS/blob/master/MahonyAHRS.c, (retrieved in Dec. 2017)
- [4[ x-io Technologies Limited, “Open source IMU and AHRS algorithms,” source code, http://x-io.co.uk/open-source-imu-and-ahrs-algorithms/ (retrieved in Dec. 2017)
-  Adafruit. “Library for the Adafruit Triple-Axis Accelerometer/Magnetometer/Gyroscope LSM9DS0 Breakouts.” Adafruit LSM9DS0 Library, Adafruit, 3 Aug. 2017, github.com/adafruit/Adafruit_LSM9DS0_Library.
-  Rokoko Smartsuit, www.rokoko.com
-  Olson, Blade, and Patrick Dillon. “EC535 Fall 2017 Final Project: Hit-Rec.” Hit-Rec Prototype, 13 Dec. 2017, github.com/blolson/EC535_Project.
NETPRO VX and Verdex Pro Gumstix | www.gumstix.com
p. 34: Processor Design Techniques and Optimizations: A Look Inside,
By Nishant Mittal
Cypress Semiconductors | www.cypress.com
p.40: PCB Design Tools Evolve to Next Level: More Smarts, Wider Scope,
By Jeff Child
p.44: Sensor Technology Rides the IoT Wave: Built for Connected Use,
By Jeff Child
p.52: Internet of Things Security (Part 3): Secure Processors, By Bob Japenga
More detail is available from Microchip on these features when you sign an NDA. However, all of the information from this article is gleaned from publicly available data.
Video: Asymmetric Encryption – Simply Explained:
Microchip Technology | www.microchip.com
p.58: PCB Ground Planes: Rules Good, Bad and Ugly, By Robert Lacoste
Sonnet Lite: www.sonnetsoftware.com/products/lite/
PCB Design for Real-World EMI Control, Bruce R. Archambeault, IBM Corporation, Kluwer Academic Publishers, ISBN 1-4020-7130-2
Signal Integrity Issues and Printed Circuit Board Design, Douglas Brooks, Prentice Hall, ISBN 978-0-13-335947-3
Sonnet Software | www.sonnetsoftware.com
p. 62: Aeronautical Communication Protocols: Where Reliability Rules,
By George Novacek
TTTech | www.tttech.com
66: Passive Infrared Sensors: Homing in on Heat, By Jeff Bachiochi
HC-SR501 – PIR Infrared Motion Sensor: Addicore
STEVAL-IDI009V1 – Eval board for PIR sensor signal conditioning based on TSU102: STMicroelectronics
ZEPIR0BAS02MODG – ZMOTION detection module II: Zilog
For your convenience we have repeated here the GETTING STARTED section at the end of the article Murphy’s Laws in the DSP World (Part 1): First Six Laws Explained, Web links included to ease the process.
In this section, we outline how to set up the directories needed for the DSP_ML project, install either Octave or MATLAB, and check the installation. By the end of the article you will have a number of main scripts, such as Investigate_DSP_I_II_III.m, in the directory “C:\DSP_ML” and class methods such as “TimeDomainSignal.m” and variants of the frequency analysis scripts, “FrequencySpectrum_V1.m”, in the class directory, “C:\DSP_ML\@TimeDomainSignal”, as shown in center left windows in Photo 2 and Photo 3.
Generate a folder “C:\DSP_ML” to hold the main DSP_ML scripts and a second folder, “C:\DSP_ML\@TimeDomainSignal to hold the TimeDomainSignal project class methods (functions) used to generate and display example DSP signals and procedures.
Install Octave or MATLAB following the instructions here. Type the main directory name “C:\DSP_ML” into the current directory window, top window in Photo 2 and Photo 3, once you activate your installed program.
This series of articles is designed as a series of small projects that can each be done in an hour on different days. You can get all the code from the Circuit Cellar Article Code & Files webpage. Alternately cut-and- paste scripts directly from the article pdf. If you take the pdf cut-and-paste approach watch out as some syntax may not carry over properly into the MATLAB / Octave script, especially the single quotes and any solid lines separating listing parts.
To create a script, start by clicking on “File | New | New Script” on the top left corner of the main page of the Octave screen, or “File | New” in MATLAB.
For many reasons and under circumstances that would fill several web-pages—for example, storing DSP_ML directory on a USB stick with Octave—we recommend these steps:
1) Right click on Octave / MATLAB icon and select properties. Change Start in option from %USERPROFILE% to “C:\DSP_ML”
2) Add script startup.m (Listing 6a) to directory “DSP_ML”. Then, close and restart the program.
To check the install, cut-and-paste the code for Listing 6b from the code listing from the Circuit Cellar Article Code & Files webpage into the editor window, and save as the script “C:\DSP_ML\HelloWorld.m”. You can run the test code, and generate a graphic plot, by typing HelloWorld in the command window; bottom left in Octave, bottom center in MATLAB.
Installing Octave: Create a folder “C:\DownLoads” and go to https://ftp.gnu.org/gnu/octave/windows/ to download a version of Octave, for example. “octave-4.2.1-w64-installer.exe” for a 64-bit system. Run your downloaded .exe file to get the installation started. Click on various “Nexts“ to accept the license agreement. At one stage, you will be asked to provide a directory to install the program, for example “C:\Octave”. Be patient when various command windows appear, they will disappear.
To test the installation, click on the “Octave GUI” icon on your desktop. With the Start In option change, the current directory will be “C:\DSP_ML”. Cut-and-paste in the HelloWorld() code and run.
Restarting Octave solves an inconsistent problem with Octave not recognizing newly added class methods.
Installing MATLAB: Create a folder “C:\DownLoads” and go to https://www.mathworks.com/products/matlab.html?s_tid=hp_products_matlab to click on the “Test drive MATLAB” link to get the 30-day MATLAB free trial. You will need to supply basic personal information such as your email, location and planned usage.
This link provides full details of the installation steps:
To test the installation, click on the “MATLAB” icon on your desktop. With the Start In option change, the current directory will be “C:\DSP_ ML”. Cut-and-paste in the HelloWorld() code and run.
Article Materials for Circuit Cellar Magazine Issue 335 • June 2018 — Get a PDF of the Issue
Circuit Cellar's editorial team comprises professional engineers, technical editors, and digital media specialists. You can reach the Editorial Department at email@example.com, @circuitcellar, and facebook.com/circuitcellar