RH, JL, CM, RP, JR, JY
2015-2016 TEI4M: Embedded Systems Using AVR Microcontrollers
Session 9: Software Refresh: The Calculus Project
CLASS REFERENCE CONCEPTS PROJECTS SUPPLEMENTARY
78
May 31
Final, Final Class

Book Return, ER
The Calculus Project
Possible Exam Questions
:
8. prune 9. roots 10. analysis
11. compose 12. integrate 13. others...
private boolean isValue(node, x)
Lab Cleanup and Reflection
Down Memory Lane...

  
77
May 27
private boolean isEqual(a,b)
The Calculus Project
6. differentiate: Power Rule
7. ErrorCode
: `\square^ \diamond = e^{\diamond \ln\square}`
: ′,″ (prime & double prime)
76
May 25

The Calculus Project
6. differentiate: duplicate()
sum, product, quotient rules
: `(d |f(x)|)/(dx) = f'(x)*(f(x))/|f(x)|`

2016 CBC College Champion:
Mike Ciomyk!
GSD
75
May 18
CBC Champions Challenge
Thursday.
DES. 1:00 PM
The Calculus Project
5. parse
`f(x)= 1`, `f(x)=1\pm1`, `f(x)=x\pm2.4`
`f(x)= 2x+1`, `f(x)=sin(3x)/x`, `f(x)=\pi^x`
ErrorCode?
`-x(x^2-3x)sin x`
74
May 16
     
73
May 12
Math Notation
Options:
prefix, infix, postfix
 
72
May 10
Set<E> and Map<E> Interfaces
TreeSet<E> and TreeMap<E>
DIY Data Structures II:
Linked List, Binary Tree, Binary Search Tree (BST)

Typical (Recursive?) Operations:
display, insert, remove, search
 
71
May 6
List<E> Interface
ArrayList<E> and LinkedList<E>
   
70
May 4
String
StringBuffer
The Calculus Project:
2. Function.preProcess()
Chapter 10: Strings (p. 265), Exericises (p. 287)
15
Strings
69
May 2
  (AP Chemistry Exam)
Collective Completion of Logic Gates Project
14  
68
Apr 28
Java Review: UML, Class Design, 'is-a' vs 'has-a'
OOP: Inheritance, Encapsulation, Polymorphism
14 Enum
67
Apr 26
Great Code
starts with
Great Design
The Calculus Project
1. Syntax Diagrams for Expression Grammar (Sample)
Java Review: UML, Class Design, 'is-a' vs 'has-a'
OOP: Inheritance, Encapsulation, Polymorphism
14 UMLet Tool
Session 8: Flex Circuit Page
CLASS REFERENCE CONCEPTS PROJECTS SUPPLEMENTARY
66
Apr 22
Submit Flex Circuit by 4:00 pm
13
65
Apr 20
Flex Circuit Work Period
13  
64
Apr 18
 
Flex Circuit Work Period
13  
63
Apr 14
 
Flex Circuit Work Period
13
62
Apr 12
LONG ISP Descriptions
Flex Circuit Work Period
13
61
Apr 8
Soldering Powerfilm

13
60
Apr 6
Select a...Powerfilm
OEM Solar Module
59
Apr 4

Chibitronics: Learn
12
58
Mar 31
 
Surface Mount Lamination Challenge
12  
57
Mar 29
RTC's returned to Mr. D.
LCD Direct Drive Videos: JL, CM, RP

Quad Industries: Flexible Printing
Flexible Circuits, An ACES (ER) first
12
LONG ISP (8 week): Mar-May Proposal Due: Monday April 4th
Session 7: LCD Direct Drive
CLASS REFERENCE CONCEPTS PROJECTS SUPPLEMENTARY
56
Mar 10
Root Mean Square:
RMS
11  
55
Mar 8
DIY LCD
3D ePrinting: Voxel8
11
54
Mar 4
11
53
Mar 2
How LCDs Work

Custom LCD Glass
Call for Toaster Ovens
Fritzing Images of Mini-Challenge (MiniChallenge.fzz)
RH, JL, CM, RP, JR, JY
Software Focus
: Three-Level Drive
11

Kingbright Bicolor LED
Session 6: Medium ISP
CLASS REFERENCE CONCEPTS PROJECTS SUPPLEMENTARY
52
Feb 29
  9, 10  
51
Feb 25
  9, 10  
50
Feb 23
  9, 10 ATtiny85
Four-Component Megaphone
49
Feb 19
Hack a Toaster:
Reflow Soldering
Toaster Oven
Reflow Technique
48
Feb 17
 
S2F:Temperature Videos: JL, CM, RP, JR
Medium ISP
Work Period
<<<Flexible Circuit Board
47
Feb 11
Reflow Toaster
Medium ISP Work Period
9 DIY SMD
Reflow Oven
46
Feb 9
Rattlesnake Concept
Prepare to present your concepts/interest
Assist Grade 6s with Soldering Leads to a switch @ 2pm
Session 5: Surface Mount Devices: ATtiny85 TWI (I2C) Bus with MCP9808 Temperature/Thermostat
CLASS REFERENCE CONCEPTS PROJECTS SUPPLEMENTARY
45
Feb 3
Encasement Work Period
8  
44
Feb 1
Encasement Design Considerations
Get Started with AutoDesk 123D Design...
Download, Tutorials
8 What's the difference?
Vcc, Vdd, Vee, Vss, etc.
43
Jan 28
ATtiny85V(SOIC-8) ———— MCP9808(MSOP-8)
Discussion of Individual SMD Project Directions
"The MCP9808 does not require any additional components besides the master controller in order to measure temperature. However, it is recommended that a decoupling capacitor of 0.1μF to 1μF be used between the VDD and GND pins." (Datasheet p. 35)
ACES/tiny/VUMeter
ACES/tinyDIYMatrix
(Source Code)
42
Jan 26
8 Watchdog Timer
(Ch. 11 in datasheet)
41
Jan 22
Library: TinyWireM
(TinyWire.h)
8 Library: MCP9808
(MCP9808.h, MCP9808.cpp)
40
Jan 20
Coding the MCP9808 Registers (pp.16-34)
Visualization Considerations = Power Considerations
Medium ISP
Summaries
SMD Hot Air Rework

AOYUE SMD STN
39
Jan 18
SMD Soldering
(Pro)
Medium ISP Proposal
( submit form in class )
Soldering the MCP9808 in the MSOP8 Package
7/8
38
Jan 14
Curious Inventor:
Through Hole Soldering (2014)
Surface Mount Soldering (2016)
Surface Mount Technology:
ATtiny85 in the SOIC-8 package
Interface with task from Tuesday...
7/8
37
Jan 12
IC Packages Explained
I2C on the ATtiny85:
GitHub: TinyWireM library, TinyWire.h
Example
: Tiny85_Temp.ino
DS1621 Datasheet
Additional Reference
TC74: I2C Temperature Sensor
Blum: Chapter 8. The I2C Bus
Interface the TC74 with the ATtiny85
providing some form of calibrated display

7/8
ACES/tiny/TWI/TC74
36
Jan 8
ATtiny85 Specs:
Inter-Integrated Circuit (I2C): Gecko Flashback
Arduino's Wire Library (Wire.h and Wire.cpp)
Arduino Playground: Wire Library Explored
ATtiny85: Universal Serial Interface (USI)
AVR310 Aplication Note:
Using the USI Module as I2C Master

I2C on the ATtiny85:
GitHub: TinyWireM library
(study examples: DS1621 Datasheet)
7/8

Definition:
Slew Rate



35
Jan 6
AVR315: Using the TWI Module as I2C Master
'Open Collector' outputs
Transition to the ATtiny85...

High-Low Tech:
Programming the ATtiny85 with the Arduino IDE
7/8

Korg
(Little Bits)
Synth Kit
J. Russett's Really, Really, Random Number Generator
MEDIUM ISP (6 week): Jan-Feb ( Special Interest ) Proposal Due: Friday January 8th
Session 4: Atmel AVR Architecture Overview: External (Hardware) and Timer Interrupts
CLASS REFERENCE CONCEPTS PROJECTS SUPPLEMENTARY
34
Dec 17
Tidy up your bench area and kit (take it home!)
CD4046 PLL & VCO,Viewing the 4046 VCO
Birth of a Synth: X-4046 VCO Project
Hackaday: Logic Noise 4046 VCO, Part 1
Rattlesnake Home Page
Holiday Circuit:
18V/9V
Be sure to pick up your parts bag

Hex Schmitt Triggers:
CD40106 & 74HC14
33
Dec 15
TBM Presentations
Last Call: Gecko II ?, Rattlesnake Discussions
Mr. D's
Birthday Gift >>>>
32
Dec 11
ATmega328P Datasheet
5
31
Dec 9

TBM Projects: Work Period
5  
30
Dec 7
ATMEL's Timer Application Notes
TBM Projects: Work Period
5 The Analog Comparator
29
Dec 3

Project Proposal Deadline @ midnight
Thingiverse: HXT500 Motor Mount
5
28
Dec 1


27
Nov 27
Russell
123-128
ATmega328P Datasheet: 15.7-15.9
Timer1: Normal Mode with Output Compare
Unfinished Sketch: Timer1OutputCompare.ino

Make Some Noise: Timer0 and Timer1 Audio Output
How to safely drive an 8Ω speaker from an Arduino pin?
26
Nov 25
:
Missed Class: Math Contest
5  
25
Nov 23
:

 
24
Nov 19
Barrett&Pack
86-91

Russell
120-123
Timing System: Applications
Overview of the ATMEL Timers
Timer 0 System (8 bit): Modes of Operation
Timer 0 Register Descriptions: Section 14.9
Register #defines: iom328p.h, interrupt.h
T0NormalOVFISR.ino
Timer Interrupts Examples
: Simple, Complex
Asynchronous ADC
(2/3 down)
Cornell: ECE4760
Final Projects
AVR Timer
Calculator
(2^n)
Online Tone Generator
23
Nov 17
: 77-82
Discussion (30 minutes)
Arduino 101: Timers and Interrupts
Timing System
: Overview, Terminology

External Interrupt 0:
JY, RP
CM , JL

Sonic Geometry

22
Nov 11
ACES: INT0

4

JL's BT Vid

21
Nov 9
: 258-269



: 67-72
External Interrupts: Hardware Debouncing (Blum:12)
High Level: attachInterrupt()
(Lower) Level: 328P Datasheet: Section 11.4
avr/interrupt.h

: Interrupts
AVR Interrupt Tutorials
:
What are they? External Interrupts? C Programming?
External Interrupt (INT0): 328P Datasheet: Section 12.2

Interrupts and Hardware Debouncing



External Interrupt 0

(Modify for mega328P)

Blum's Debounce:


Alternatives
Google Images

Debounce with Scope Images
20
Nov 5

Class Project Brainstorm: Rattlesnake

All About Circuits:
Data Acquisition

19
Nov 3
: 1-19
Short ISP: Decompression, Parts Return
Computer Architectures: Harvard vs Princeton
Harvard and (Modified) Harvard
Princeton (aka. von Neumann)
Atmel AVR Overview, Concepts and Peripherals
:
System Clock, Interrupts,
Power Management & Sleep Modes
(Phantom Loads or Vampire Power)
Timers, PWM, ADC/DAC, Analog Comparator,
SPI, USART, TWI (I2C)
ACES' Class Project Revisited:
Dragon, AMS, Micro-Habitat, Scoreboard?


Include Files:
iom328p.h
iotn85.h, iotnx5.h
SHORT ISP (4 week) : Sep-Oct ( Component ) ( Options )
Session 3: Functions and Libraries in C
CLASS REFERENCE CONCEPTS PROJECTS SUPPLEMENTARY
?
Later



Parola

Scrolling Message
Board Inspiration:
Electrodragon

Olimex RPI-UEXT
(EAGLE Files)
GitHub: Get Started (R. Hill)
Recall: A. Gorbatchev's Syntax Highlighter

How To Build a Library, Part I:
How the Linker Works, How to Design a Library
Useful Sample Functions: constrain and map
Local Includes
: #include "Utils.h" // with Utils.c
How To Build a Library, Part II:
Creating a Library, Using a Library



Inexpensive 328P
Embedded System

Arduino Pro Mini


C: Functions Returning Arrays?
18
Oct 30
  Short ISP
 
17
Oct 28
  Short ISP
 
16
Oct 26

 

Short ISP

15
Oct 22
  School Closed    
14
Oct 20
Short ISP  
13
Oct 16
Functions in C (continued...)
Body [return], Signature, Overloading
Cohesion and Coupling
Preparing for Code Reuse:
Creating multiple source files in the Arduino IDE
Local Includes
: #include "LED.h" // with LED.cpp
Short ISP Shift Register Overload!

LEDLabs.co.uk
12
Oct 14
ACES' Class Project Discussion
Functions in C
Type Specifier, Name, Arguments
Body [return], Signature, Overloading

Short ISP Programming Languages by Popularity
-TIOBE OCT 2015
Session 2: Putting your Preferred Development Environment to Work
CLASS REFERENCE CONCEPTS SUGG. PROJECTS SUPPLEMENTARY
11
Oct 9
 
ICP: ShiftOut, Part 3. ER
10. TQFP
11. Debug
2
10
Oct 7
 
ICP: ShiftOut, Part 2. Firmware
9. STK500
9
Oct 5
75HC595
Short ISP Stage 2: Proposal Submission due
ICP: ShiftOut, Part 1. Hardware
8. Oscilloscope
8
Oct 1
pp. 40...
How to Program
an 8-bit AVR Using C
6. Leap Year

7. TrafficLight
Tricks and Tips to Optimize C Code for 8-bit AVRs
7
Sep 29
C

eFundies:
AVR Guides
1. megaRGB
2. SMD Burner
3. tinyRGB
4. GeckoISPAdapter
5. Gecko Watch?
6
Sep 24
: 30-?
The C Programming Language
Variables and Arithmetic Expressions
Variable Names and Type Conversions
iom328p.h
iotn85.h
iotnx5.h
5
Sep 22
  

main.c
from ATtinyTest
Short ISP Stage 1: Component Commitments
ACES' Class Project: Dragon, AMS, Micro-Habitat, Scoreboard?
~~~~~~~~~~~~~~~~~~~
Review of last week:
Review of AVR Development Preferences
Crosspack employs AVR-libc (Online Manual)
: AVR-libc Reference Manual
Lead Roles:
Computer (CM,RH,RP)
Software (JL,RH, RP)
Mechanical (JY)
Electrical (JR)

Jr/Sr Collaboration?

Session 1: AVR Development Alternatives
CLASS REFERENCE CONCEPTS PROJECTS SUPPLEMENTARY
4
Sep 18
ATtiny85
Datasheet (Summary)


Harvard follows RSGC's lead :)
~~~~~~~~~~~~~~~~~~~~~~~~
AVR Development Wrap up Work Period
...
1. Confirm that you can return your Arduino
to its (non-bricked) state:

Burn the Bootloader and upload Blink Example with Arduino IDE
2. ER Submission (this Sunday)
3. Project Idea: AVR ZIF Socket Programmer (3D Case?)
1

HackerNest
3
Sep 16

What is USART?

Programming the
Arduino UNO in pure C




AVR Fuse Calculator

 

Faux Fire
(Photo)




STK500 Dev Board
2
Sep 14

:
Product Selector



Avrdude Mac OS X 10.6 AVRISP MkII

 




Bootloader: p. 8


1
Sep 10

Toronto teen
develops
heart monitor

Gecko Future?
Course Organization and Top 3 Priorities...
#1. Self-Motivation (do not wait to be told what to do!)
#2. Productivity (always in gear: steady flow of project output)
#3. Projects of Significance (Think and take calculated risks)
Initial Text and Toolkit
Project Proposals: Class, Individual
1
0
Sep 9
Student Outline
Mr. D's Schedule
All 7 laptops to me before 8:15 am tomorrow!
Summer (Pre-course) Preparations
pyto.me
Last Call: TAs
REPUTATION and RESPECT
ACES Hall of Fame: Jack Gettings

[ACES Culture]
For our second Field Trip of the year we have been invited to visit a factory that is developing solar panels. Since this device is an integral part of our Greenhouse Project this year, early familiarity with this technology will be advantageous.
What better way is there to start the year than with a walking field trip to acquire the electronic components that we will make good use of? You'll also be aware of its location for your own personal projects.
I have no formal training in electronics or electrical engineering - I'm just really interested in this field. The knowledge and skill I have has been largely acquired over the last few years from learning alongside many talented Georgians and I look forward to expanding my capabilities by working with you this year.
I ask six things of my ACES (for most other things I'm usually flexible):
1. Do not cheat.
2. Show respect for adult visitors that enter the DES by immediately stopping what you are doing, standing and facing the individual(s).
3. Show respect for the lab by not eating in the DES. You may go into the hallway for a quick bite if you need to.
4. Show respect for the lab's resources by not wasting or misusing them.
5. Show respect for others that use the lab by putting your projects away and leaving your bench area tidy when you leave.
6. Show respect for yourself by looking (and speaking) your best. It's the little things keep the doors of opportunity open.
Growing Success, p. 29
Responsibility, Organization, Independent Work, Collaboration, Initiative, Self-Reliant Growing Success. p.11.

It is worth noting, right from the start, that assessment is a human process, conducted by and with human beings, and subject inevitably to the frailties of human judgement.
However crisp and objective we might try to make it, and however neatly quantifiable may be our "results", assessment is closer to art than science.
It is, after all, an exercise in human communication.
Knowledge: Subject-specific content acquired in each course (knowledge), and the comprehension of its meaning and significance (understanding).
Thinking: The use of critical and creative thinking skills and/or processes, as follows:
Communication: The conveying of meaning through various forms, as follows:
Application: The use of knowledge and skills to make connections within and between various contexts.