CBA Hello World page

This is the same as the official CBA Hello World page, except it has community annotations. Please add yours!


 * Inventory

CAD/CAM

 * cad.py - The cad.py program itself
 * cad.cfg - configuration settings for cad.py
 * cad shell script - A shell script to run fyrir cad.py

Examples

 * light.png
 * alien.cad - an alien head
 * gik.cad - Grace's Invention Kit - a simple pressfit construction set
 * function.cad - all sorts of mathematical functions
 * mold.cad - a mold
 * mold.png - a picture of the mold
 * pcb.cad - base file for electronics
 * MTA.cad - base file with MTA connectors
 * stl2png.py - convert an STL file to a PNG image

2D vector drawing

 * inkscape
 * oodraw
 * QCad

2D raster drawing

 * GIMP
 * Tux Paint

3D

 * Blender
 * cad.blend - base file for Blender including a script that generates cad.py-friendly DXF files
 * K-3D
 * SketchUp

Programming

 * Python

Useful Python packages

 * pySerial - Control Serial (RS-232) communications from Python
 * Tkinter - TK (pronounced "tick") graphical interfaces
 * Numpy - Numerical Python numerical programming package
 * Matplotlib - graphs and charts
 * PIL - Python Imaging Library - image processing with Python


 * PyOpenGL - OpenGL 3D graphics
 * Pygame - Easy and fun game programming

Version control / distributed development

 * git
 * msysgit - Git for Windows
 * gitk - Graphical UI for GIT
 * git-gui - Anther GUI for GIT
 * [dist/siteserver.py siteserver] - Python script which changes a folder into a GIT collection

Electronics / PCB design

 * Eagle
 * Neil's Eagle library
 * gerb274x_mill

Electronics simulation

 * Ngspice

Microcontrollers

 * Atmel AVR data sheets

Modela

 * Modela
 * stty 9600 raw -echo crtscts  /dev/ttyS0

CAMM

 * CAMM-1
 * cat out.camm > /dev/parport0

Epilog Laser

 * Epilog
 * cat out.epi > /dev/parport0

AVR pprogramming

 * gavrasm assembler
 * Notkun: gavrasm hello.asm


 * gcc avr-libc compiler
 * AVR Studio


 * rx.py host serial receive, DTR power
 * Notkun: python rx.py port speed
 * term.py host serial transmit/receive, DTR power
 * Notkun: python term.py port speed


 * avrdude in-circuit programmer

tiny45 load hex file, bsd cable: avrdude -p t45 -c bsd -U flash:w:file.hex tiny45 load hex file, dasa cable: avrdude -p t45 -P /dev/ttyUSB0 -c dasa -U flash:w:file.hex tiny44 load hex file: avrdude -p t44 -c bsd -U flash:w:file.hex tiny44 use 20 MHz xtal: avrdude -p t44 -c bsd -U lfuse:w:0x7E:m mega88 load hex file: avrdude -p m88 -c bsd -U flash:w:file.hex mega88 use 20 MHz xtal: avrdude -p m88 -c bsd -U lfuse:w:0x76:m mega644 load hex file: avrdude -p m644 -c bsd -U flash:w:file.hex mega644 use 20 MHz xtal: avrdude -p m644 -c bsd -U lfuse:w:0x76:m

In order for programming cables to work, you may need to run: (See Linux shell howto) su modprobe parport modprobe ppdev chmod 777 /dev/parport0

ATtiny45 programming cable: 7 - reset - 1 8 - - 2 7 - SCK - 8 - 3 6 - MISO - 10 18 - GND - 4 5 - MOSI - 9

4  1  7  5   6          clip 1 2  3  4  5  6  7  8  9  10 11 12 13 DB25 14 15 16 17 18 19 20 21 22 23 24 25  DB25

in-circuit programming AMP MTA plug <- DB25M parallel (bsd) cable (wire side view):

9       18        10   | MOSI (3)  GND (2)  MISO (1) | -RESET (4) SCK (5) 7       8                  | cable direction v

plug              1   3   5   4     2 DB25 13  12  11  10   9   8   7   6   5   4   3   2   1 DB25   25  24  23  22  21  20  19  18  17  16  15  14

in-circuit programming AMP MTA plug <- DB9F serial (dasa) cable (wire side view):

^                 | cable direction 3       5         8   | MOSI (3)  GND (2)  MISO (1) | -RESET (4) SCK (5) 7       4

plug        4 3 1 5   2 DCD Rx  Tx DTR GND DSR RTS CTS RI   DB9    1   2   3   4   5 DB9     6   7   8   9

serial programming voltage limiter: <A href=dist/dasa.cad dasa.cad]

serial AMP MTA plug <- DB9F cable (wire side view):

Tx GND | 2   1 |    3   4    Rx DTR | cable direction v

plug     3   2   4   1 DCD Rx  Tx DTR GND DSR RTS CTS RI   DB9   1   2   3   4   5 DB9    6   7   8   9

Molex serial PCB connector: 1  2   3   4   Rx  Tx  DTR Gnd

Molex serial cable: 4  3   2   1   Gnd DTR Tx  Rx DCD RI CTS RTS DSR 5  4   3   2  1    9   8   7   6

PIN  PURPOSE              SIGNAL NAME  HEADER Pin 1 Data Carrier Detect DCD Pin 2 Received Data       RxData       1 Pin 3 Transmitted Data    TxData       2 Pin 4 Data Terminal Ready DTR          3 Pin 5 Signal Ground       Gnd          4 Pin 6 Data Set Ready      DSR Pin 7 Request To Send     RTS Pin 8 Clear To Send       CTS Pin 9 Ring Indicator%09     RI

Hello-world electronics

 * See: Hello world electronics