25 April 2009
Introduction to Microcontrollers

.
Introduction to Microcontrollers
I presented "Introduction to Microcontrollers" at
BCB4. The handout is available
here. The next version of the
handout will have a timer/interrupt example. I am thinking about code
to implement a simple real time clock (number of seconds since an
epoch).
4 April 2008
Footprints for Breadboarding
The pattern on the left overlays five SOT23-6 (0.95mm pitch)
footprints and two SOIC-16 (1.27mm pitch) footprints. The grid pattern
consists of 60mil squares on 100mil centers.
The pattern on the right overlays five SOT23-6 (0.95mm pitch)
footprints, two SOIC-16 (1.27mm pitch) footprints, and one DIP16
(300mil width). The grid pattern consists of 60mil squares on 100mil
centers.
0805 resistors can be soldered horizontally or vertically between
adjacent square pads.
SOT/SOIC Breadboard Pattern
| SOT/SOIC/DIP Breadboard Pattern
|
|
|
25 January 2008
Publication Quality Schematic Symbols
At the 22 January 2008 Freedog Meeting I presented some schematic
symbols built with filled arrows and filled triangles. My goal is to
create a library of "publication quality" schematic symbols. So far I
have created a few symbols (MOSFET, BJT, diode, shunt regulator and
current source) plus a couple example schematics. A sheet containing
some symbols and sample circuits is located
here.
23 August 2006
BOMs with Embedded Datasheets
At the 23 August 2006 Freedog Meeting we reviewed some output from my
bom2tex
script. The script produces a
classic Bill
of Materials, a sorted component list and an appendix with embedded
datasheets. There are red hyperlinks in the BOM and Component List
that link to each component datasheet.
A large PDF file (1.6M) containing all pages of each datasheet
is
here and
a smaller PDF file (900K) containing just the first page of each datasheet is
here.
The BOM is for a white noise source similar to the ARP 4022 noise
module and the noise module in the Minimoog.
10 June 2006
Component Attribute Server and a BOM Utility
At the 8 June 2006 Freedog meeting I presented two write-ups of
preliminary work on a component attribute server and a gschem BOM
utility.
The component attribute server executes commands that return component
attributes. Communication is performed using a socket. The only
command accepted in this initial version is the
get_datasheet
command which returns datasheet filenames
when sent a valid manufacturer name and manufacturer part number.
Future versions will send other attributes such as footprint names,
component alternates and component vendor data. The write-up is
located here.
The BOM utility parses a gschem schematic and groups identical
components (identical except for reference designator). The output can
be sent to the bom2tex
script to produce a pdfLaTeX file.
The write-up is located here.
4 May 2006
Footprint Reference Document
Preliminary work on a program that creates a document containing
dimension drawings of PCB footprints and a copy of the manufacturer's
datasheet used to create the component. Although the manufacturer's
datasheet is not be required to use a footprint it can be beneficial
when a specification needs to be verified. The footprint reference,
created by
pkg2mp
and
fpl2tex
is located
here.
2 December 2005
Drill Templates (and Snowmen) using METAPOST
For prototyping, paper templates provide a quick and accurate way to
perform drilling, routing or cutting operations. The METAPOST
picture-drawing language provides an easy way to create these
templates. METAPOST implements a picture-drawing language similar to
Knuth's METAFONT except that the output is PostScript. For the
December-2005 Freedog meeting I prepared a write-up that describes a
program to create a heatsink drill template. The write-up is located
here.
6 October 2005
Scripted Component Placement in PCB Files
For designs with a lot of repetition or designs that require
components to be placed at specified positions it may be more
productive to specify component placement positions using a
configuration file. For the October-2005 Freedog meeting I prepared a write-up
that describes a script I am working on that performs component
placement. The write-up is located
here.