Professional Documents
Culture Documents
Homebrewing
Bob Okas – W3CD
2
Introduction
3
Introduction
4
Introduction
5
Embedded Systems
Hardware
Let’s start with the hardware.
6
Embedded Systems
Hardware
Dead Bug
PC Board – Cadsoft7
No-Brew
7
Embedded Systems
Hardware
Wire-wrapped S-100 Single Board Computer
Front
8
Embedded Systems
Hardware
Wire-wrapped S-100 Single Board Computer
Back
9
Embedded Systems
Hardware
Printed Circuit / Dead Bug Video Display Prototype
Top
10
Embedded Systems
Hardware
Printed Circuit / Dead Bug Video Display Prototype
Bottom
11
Embedded Systems
Hardware
Homebrew Printed Circuit
12
Embedded Systems
Hardware
AA0ZZ’s Manhattan PIC-EL Prototype9
13
Embedded Systems
Hardware
PIC-EL board10
Micro 908 Board11
Atmel Butterfly12
14
Embedded Systems
Hardware
PIC-EL Board
15
Embedded Systems
Hardware
Micro-908
16
Embedded Systems
Hardware
AmQRP Micro-908
17
Embedded Systems
Hardware
Atmel Butterfly
Battery powered
Numerous Enthusiasts14
18
Embedded Systems
Hardware
Atmel Butterfly
19
Embedded Systems
Hardware
Homebrewing From Scratch
20
Embedded Systems
Hardware
Homebrewing From Scratch
21
Embedded Systems
Hardware
Homebrewing From Scratch
Choosing a Processor
Many Factors determine the best choice:
Cost
Package
Processing Speed
Memory Type and Size
Power Consumption
I/O pins & Features
Software Development Environment
22
Embedded Systems
Hardware
Homebrewing From Scratch
Cost – less that $10
Package – DIP or Surface Mount
Speed – Fast enough to do the job
Memory – Flash for the program, RAM for the variables
Power Consumption – The lower, the better
I/O pins & Features – Depends on application
Software Development Environment – Free is best!
23
Embedded Systems
Hardware
Homebrewing From Scratch
Consider the Microchip PIC processors:
Inexpensive
24
Embedded Systems
Hardware
Homebrewing From Scratch
Consider the Atmel processors:
Inexpensive
25
Embedded Systems
Software
26
Embedded Systems
Software
27
Embedded Systems
Software
Assembly Language
Simulators
28
Embedded Systems
Software
Assembly Language
MPLAB
M
P
L
A
B
29
Embedded Systems
Software
Assembly Language
Context-sensitive editors:
Provide a convenient way to type in your program
Highlight labels, variables, instructions and comments
using various colors
Help you avoid common mistakes
30
Embedded Systems
Software
Assembly Language
Assemblers:
Convert your source program into opcodes the
processor understands. They work on individual
source files.
Linkers:
Combine the outputs from the assembler and resolve
references to labels (jump and call instruction targets)
and any library functions.
Produce the final binary program for the processor.
31
Embedded Systems
Software
Assembly Language
Simulators provide:
A way to test your program without using actual
hardware
A way to simulate hardware inputs
32
Embedded Systems
Software
C
Why use a High Level Language?
It allows you to be efficient. A few lines of C replace
several lines of assembly.
You don’t lose control of the hardware.
33
Embedded Systems
Software
C
Pros and Cons:
It’s easy to port programs between chips
C is not supported on some processors.
Commercial development packages cost $$$$.
Development suites offer similar features as assembly
language:
Editors
Simulators / Debuggers
34
Embedded Systems
Software
C
There are alternatives to commercial packages.
Just as homebrew software enthusiasts developed
Linux, there are folks who develop microcontroller
development tools.
The good news is they’re free!
WinAVR19 is one example
35
Embedded Systems
Software
C
WinAVR Development Environment
36
Embedded Systems
Chip Programming
Several options exist for programming the processor
Commercial programmers: $150 - $200
Microchip ICD 2
Quick Writer
JTAG
Homebrew
Self-programming processors
37
Embedded Systems
Chip Programming
38
Embedded Systems
Chip Programming
Homebrew Designs
PIC-EL board
KB0P’s programmer20
Numerous other designs can be found on the Web
39
Embedded Systems
Chip Programming
40
Embedded Systems
Summary
Powerful, highly integrated microcontrollers don’t require
support logic.
Hardware options are numerous:
Homebrew construction using various techniques
Club Kits
Low cost evaluation modules
41
Embedded Systems
Summary
Hardware design is easy
Only a few chips at most are required
42
References
1 http://www.io.com/~n5fc/keyer.html
2 http://www.amqrp.org/projects/cwdecod/cwdecod.htm
3 http://www.sdrforum.org/
4 http://www.amqrp.org/kits/NCKeyer/
5 http://smallwonderlabs.com/swl_frq.htm
6 http://www.amqrp.org/elmer160/board/index.html
7 http://www.cadsoft.de/
8 http://www.qsl.net/k7qo/manhattan.pdf
9 http://home.comcast.net/~aa0zz/
10 http://www.amqrp.org/elmer160/board/index.html
11 http://www.njqrp.org/hc908/index.html
12 http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3146
13 http://dkc3.digikey.com/PDF/T043/0300.pdf
14 http://www.avrfreaks.net/
15 http://www.qsl.net/kd1jv/bfydds.HTM
16 http://www.qsl.net/kd1jv/digiswr.HTM
17 Google “MPLAB IDE” for latest version
18 http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725
19 http://winavr.sourceforge.net/
20 http://www.qsl.net/kb0p/pic.html
21 http://home.earthlink.net/~vintage2
43