Everything for Electronics

Joe Pardue

Joe Pardue (.(JavaScript must be enabled to view this email address)) has a BSEE and operates http://www.smileymicros.com from the shadows of the Great Smokey Mountains in Tennessee. He is author of Virtual Serial Port Cookbook and C Programming for Microcontrollers.

.(JavaScript must be enabled to view this email address)

Joe's Articles

Arduino 101/Chapter 12: Data Logger/Part 1
Column: Smiley’s Workshop
January 2015
Learn how to store data on an Arduino UNO so you can use battery-operated devices to collect data out in the field.

The Arduino Classroom. Arduino 101/Chapter 11: Sound
Column: Smiley’s Workshop
December 2014
In order to make sounds using the Arduino, you need to know about arrays and interrupts.

The Arduino Classroom. Arduino 101/Chapter 10: Sensing Light and Temperature
Column: Smiley’s Workshop
November 2014
Expand what you can sense with an Arduino utilizing light and temperature values as data.

The Arduino Classroom. Arduino 101/Chapter 9: Keeping Time
Column: Smiley’s Workshop
October 2014
Take a much higher level look at computer time keeping, and learn to use some very novice-friendly applications available for the Arduino.

The Arduino Classroom. Arduino 101/Chapter 8: Displaying Information.
Column: Smiley’s Workshop
August 2014
Learn a bunch while blinking a lot of LEDs, then see how to make the world’s smallest moving message sign with seven-segment displays.

The Arduino Classroom. Arduino 101/Chapter 7: Analog Input — Part 2
Column: Smiley’s Workshop
July 2014
Dial into potentiometers, Ohm’s law, and circuits.

The Arduino Classroom. Arduino 101/Chapter 6: Analog Input
Column: Smiley’s Workshop
June 2014
This time, learn about inputting analog signals using the analog-to-digital converter built into the Arduino, plus some basic electrical concepts to help understand what it is that’s being input.

The Arduino Classroom. Arduino 101/Chapter 5: Analog Output
Column: Smiley’s Workshop
May 2014
Get your fill of the serial class of functions, the differences between analog and digital signals, and how to use these signals to control LEDs and servomotors.

The Arduino Classroom. Arduino 101/Chapter 4: Digital Input ... Pushbuttons.
Column: Smiley’s Workshop
April 2014
Learn how to design circuits with pushbuttons and how to utilize them to get your system to take action when they are pressed (or not).

The Arduino Classroom — Chapter 3: How an Arduino Program Works
Column: Smiley’s Workshop
March 2014
Get introduced to the basic concepts of an Arduino program, then use those concepts to keep counts and times so you can blink some LEDs in a pattern.

The Arduino Classroom - Chapter 2: Digital Output - LEDs
Column: Smiley’s Workshop
February 2014
As we continue our curriculum on computing and electronics basics, learn how to design circuits using light emitting diodes, and then how to use these LEDs with Arduino software to indicate events to people using your system.

The Arduino Classroom: Arduino 101
Column: Smiley’s Workshop
January 2014
Even though the Internet is flowing with tutorials on how to use the Arduino microcontroller, sometimes it’s nice to have everything put together into an easy-to-follow introductory course. That’s what we’ve done here.

Smiley’s Workshop 65: Arduino Handheld Prototyper — Part 6
Column: Smiley’s Workshop
December 2013
It’s a wrap with data logging. Learn how to upload sensor data directly to a PC — first, via the serial port and then using an SD card.

Smiley’s Workshop 64: Arduino Handheld Prototyper — Part 5
Column: Smiley’s Workshop
November 2013
Data Logging — Take a look at the SRAM and EEPROM on the Arduino, then graduate to SD cards to learn cheap and easy ways to store LOTS of data.Part 64-5

Smiley’s Workshop 63: Arduino Handheld Prototyper — Part 4
Column: Smiley’s Workshop
October 2013
Finishing the fresh air controller design — mainly seeing how to communicate with the user via the I2C mini terminal LCD and pushbutton keys. Part 63-4

Smiley’s Workshop 62: Arduino Handheld Prototyper — Part 3
Column: Smiley’s Workshop
September 2013
Use the Arduino handheld prototyper to design a fresh air controller for your castle, or wherever you call home. Part 62-3

Smiley’s Workshop 61: Arduino Handheld Prototyper — Part 2
Column: Smiley’s Workshop
August 2013
Take a close look at the software for and finishing up our Arduino handheld prototyper. Part 61-2

Smiley’s Workshop 60: Arduino Handheld Prototyper — Part 1
Column: Smiley’s Workshop
July 2013
Create portable Arduino prototypes with this cool device that gives you the power to control the world (or smaller stuff) in your own two hands. Part 60-1

Smiley’s Workshop 59: Fritzingduino — Part 2
Column: Smiley’s Workshop
June 2013
Let's further amass knowledge about how to become more independent in our development by adding a bootloader to our "Roll Your Own" Arduino using tools provided by the Arduino IDE. Part 59

Smiley’s Workshop 58: Fritzingduino — Part 1
Column: Smiley’s Workshop
May 2013
Our journey continues as we incorporate both the Arduino core circuits and shield circuits into a single design, using a single PCB, to roll our own Arduino. Part 58

Smiley’s Workshop 57: The Arduino Proto Shield Alarm Clock — Part 4
Column: Smiley’s Workshop
April 2013
Have we been learning how to use Fritzing or learning to use the proto shield, or learning to design an alarm clock? The answer is yes — we were doing all of that! Part 57

Smiley’s Workshop 56: The Arduino Proto Shield Alarm Clock — Part 3
Column: Smiley’s Workshop
March 2013
This time, we’ll dig deeper into the software for our Arduino based design to see what really makes it tick. Part 56

Smiley’s Workshop 55: The Arduino Proto Shield Alarm Clock — Part 2
Column: Smiley’s Workshop
February 2013
Let's take a look at the alarm clock software for both Arduinos and PCs, and learn how dates and times in general are handled on microcontrollers. Part 55

Smiley’s Workshop 54: The Arduino Proto Shield Alarm Clock — Part 1
Column: Smiley’s Workshop
January 2013
Transferring the alarm clock components from the mini breadboard to the prototyping area on the proto shield, then writing some useful software. Part 54

Smiley’s Workshop 53: Fritzing With the Arduino — Part 5
Column: Smiley’s Workshop
December 2012
Finishing up our Fritzing workshops, Arduino proto shield, breadboard battery backuo, Arduino RTC. Part 53

Smiley’s Workshop 52: Fritzing With the Arduino — Part 4
Column: Smiley’s Workshop
November 2012
Going a bit deeper into Fritzing to make our own parts with this novice-friendly electronics hardware design package — useful for things like designing shields for an Arduino. Part 52

Smiley’s Workshop 51: Fritzing With the Arduino — Part 3
Column: Smiley’s Workshop
October 2012
So, after three weeks our PCB arrived and it works! Let’s take a look at it and then go a bit further with Fritzing to start learning how to make parts. Part 51

Smiley’s Workshop 50: Fritzing With the Arduino — Part 2
Column: Smiley’s Workshop
September 2012
Take that breadboard prototype, generae a schematic design, convert it to a printed circuit board (PCB) layout that can be manufactured — all using Fritzing. Part 50

Smiley’s Workshop 48: It’s About Time
Column: Smiley’s Workshop
July 2012
Some C theory for structuring data and then some hands-on lab work using a DS1307 real time clock IC on a breadboard. Part 48

Smiley’s Workshop 47: Arrays, Persistence of Vision Wand
Column: Smiley’s Workshop
June 2012
Done with C pointers and moving on to arrays. As a reward for our patience with the theory, we'll build another project using the chaser lights kit: a POV (Persistence Of Vision) wand. Part 47

Smiley’s Workshop 46: Chaser Light Marquee
Column: Smiley’s Workshop
May 2012
C Pointers, Arrays, and Structures — Part 3-46: Chaser Light Marquee

Smiley’s Workshop 45: Chaser Light Marquee
Column: Smiley’s Workshop
April 2012
C Pointers, Arrays, and Structures — Part 2-45: Chaser Light Marquee

Smiley’s Workshop 44: Simple Chaser Lights Kit
Column: Smiley’s Workshop
March 2012
C Pointers, Arrays, and Structures — Part 1-44: Simple Chaser Lights Kit

Smiley’s Workshop 43: Breadboard LCD Navigator — Part 2
Column: Smiley’s Workshop
February 2012
Breadboard LCD Navigator — Part 2-43 The Navigator Buttons.

Smiley’s Workshop 41: Digital I/O — Part 3
Column: Smiley’s Workshop
December 2011
Digital I/O — Part 3-41 Bitwise Operations

Smiley’s Workshop 35: avrtoolbox — Designing an Elementary Library:  Serial Communications
Column: Smiley’s Workshop
June 2011
avrtoolbox — Designing an Elementary Library: Serial Communications — Part 35

Smiley’s Workshop 32: avrtoolbox — Organizing an Open Source Project
Column: Smiley’s Workshop
March 2011
avrtoolbox — Organizing an Open Source Project. Part 32

Smiley’s Workshop 29: SPI and the AVR Butterfly DataFlash
Column: Smiley’s Workshop
December 2010
Creating some AVR software and hardware SPI function libraries. Part 29

Smiley’s Workshop 28: Gettin’ A Little Shifty
Column: Smiley’s Workshop
November 2010
Learning about and using shift registers Part 28

Smiley’s Workshop 25: AVR Memory - Part 3 — Program Memory In A Flash!
Column: Smiley’s Workshop
August 2010
AVR Memory — Part 3: Program Memory In A Flash! Part 25

Smiley’s Workshop 22: Busy as a BeAVR
Column: Smiley’s Workshop
May 2010
Let's take a look at the BeAVR (Breadboard enabled AVR), an open source design concept for AVR hardware and software. Part 22

Smiley’s Workshop 21: Breadboarduino
Column: Smiley’s Workshop
April 2010
Let's bust up the Arduino and reconstruct our own version from the pieces. Part 21

Smiley’s Workshop 20: Arduino Voltmeter
Column: Smiley’s Workshop
March 2010
Build an Arduino voltmeter and meet the FT232R Part 3

Smiley’s Workshop 19: A Simple Terminal
Column: Smiley’s Workshop
February 2010
Selecting a serial port and getting user input. Part 2

Smiley’s Workshop 18: Graphical User Interfaces
Column: Smiley’s Workshop
January 2010
A deeper look into communications between the Arduino and a PC Part 1

Smiley’s Workshop 17: Arduino Simple Motor Speed Control
Column: Smiley’s Workshop
December 2009
Simple motor speed control using the Arduino. Part 17

Smiley’s Workshop 16: Arduino, Some Loose Ends
Column: Smiley’s Workshop
November 2009
Tying up some Arduino loose ends before moving on. External Interupts, Arduino IDE Serial Monitor, Optical Isolation of Voltages Part 16

Smiley’s Workshop 15: Infrared Object Detection
Column: Smiley’s Workshop
October 2009
Infrared object detection meets tomato soup cans. Part 15

Smiley’s Workshop 14: Some ALP Sensors
Column: Smiley’s Workshop
September 2009
Sensing light and temperature. Part 14

Smiley’s Workshop 13: More ALP Projects
Column: Smiley’s Workshop
August 2009
Developing a command interpreter and making some noise. Part 13

Smiley’s Workshop 12: AVR Learning Platform Projects
Column: Smiley’s Workshop
July 2009
Another communications project, reading the voltage across a potentiometer, and then redo the Cylon Optometry code for the ALP. Part 12

Smiley’s Workshop 10: Moving Beyond Arduino
Column: Smiley’s Workshop
May 2009
Converting Arduino programs into regular C programs that can be used with the official Atmel software. Part 10

Smiley’s Workshop 9: The Arduino Way
Column: Smiley’s Workshop
April 2009
Coming up to speed with the Arduino — Going back before we go forward. Part 9

Smiley’s Workshop 8: Interrupts, I/O Registers, and the Butterfly Joystick
Column: Smiley’s Workshop
March 2009
Using the joystick as an introduction to AVR interrupts and I/O Registers. Part 8

Smiley’s Workshop 7: The Wearable Alarm Clock
Column: Smiley’s Workshop
February 2009
Binary Coded Decimal (BCD) for the wearable alarm clock, functions, and variables. Part 7

The Serial Port Is Dead! Long Live The Serial Port!
June 2008
You may have noticed the demise of the old serial port King and its replacement by the USB usurper. If you have used the RS-232 serial port to work with embedded systems, you likely mourn the old King and tend to think of the new King (USB) as something of a tyrant — or at least very hard to figure out and use. But with the advent of USB-to-serial adapter ICs such as those from SiLabs and FTDI, we have something to celebrate...

Smiley’s Workshop 1: Introducing the AVR C Programming Workshop Series
Column: Smiley’s Workshop
August 2008
Why C? - Why AVR? - Quick Start Guide for the AVR Learning Platform Part 1

Smiley’s Workshop 2: Your First AVR Program — C’ing With Cylon Eyes
Column: Smiley’s Workshop
September 2008
Write and compile our first C program using our AVR Learning Platform. Part 2

Smiley’s Workshop 3: C Types, Operators, and Expressions
Column: Smiley’s Workshop
October 2008
AVR port input and output, and add an eight-bit DIP switch to our learning platform. Part 3

Smiley’s Workshop 4: Teaching a Butterfly to Talk
Column: Smiley’s Workshop
November 2008
More C syntax, a bit about libraries, and teach your Butterfly to talk. Part 4

Smiley’s Workshop 6: A Menu Navigator
Column: Smiley’s Workshop
January 2009
More C syntax for decision making, a menu navigation system for the Butterfly using its LCD and joystick. Part 6