Speaker James Cameron
Time 2004-01-17 12:00
Conference LCA2004

PIC = Position Independent Code

  • = Pilot in Command
  • = Penguin in Car
  • ???

testing 1 2

  • leader for PPTP and Netrek
  • Software engineering
  • went bush 1999
  • work for HP
  • Unix/VMS support

Hobby

  • PIC Microcontrollers
  • Linux world domination market
  • fun
  • small gadgets cool
  • skills required
  • not that difficult or expensive
  • bike light blink you email address in Morse code

microcontroller

  • this one dead
  • small
  • RS232
  • closed source silicon
  • instructions well documented
  • lots of nice tools on Linux
  • 8 pin to 40 pin
  • package type sometimes legs come out sideways
  • you can get it to do things
  • very must,
  • not much power
  • RISC
  • 35 instructions
  • data, code in separate memories
  • won’t run Linux
  • one register
  • 12C309, 12F84, 12FS877
  • 8k program memory
  • $3, $12, $45
  • flash or EPROM
  • ram registers

PCBs

  • non-free eagle
  • can cut without chemicals

safety

  • ware safety glasses, in case of exploding components
  • check earth pins connecting, prevent 120V static build up

device programmer, to program chip via serial port

  • plug chip into device to test, distribution phase

design

  • paper and xcircuit
  • xcircuit, vi like, slow to learn easy to use
  • Dia
  • GNU EDA
  • xspread
  • non-free program better?

source code

  • vi, emacs
  • gpasm
  • sdcc - small device c compiler
  • picforth - forth compiler
  • make
  • gpsim - GTK+ GUI for simulating PIC, faster then PIC itself

programming

  • picprg - IO programmer
  • prog84 - parallel port /dev/port
  • odyssey - new, last 1-3 weeks, everything for everybody

programmers

  • Kitsrus Kit 96
    • free fly on connector
  • Asa Micros
    • also comes with free fly
    • serial port
  • Dontronics DT001
    • serial support to PIC
    • dontronics.com
    • $20 - $30 dollars
  • can’t replace parallel IO port on laptop
  • external power supply required

resources

  • PIClist - high volume list
    • subject line policing
    • proprietary people, can’t always help
  • GNU PIC
    • proponents open source
  • #electronics on freenode

skipper

  • open source program allows disabled access to computer
  • suck & blow interface
  • sponsored by Microsoft

projects

  • light box
  • chin control arm trigger
    • raise and lower chin control arm
  • radio controlled train
    • cable remote
    • cable span around kid until plug pulled out
    • speed control of motor via radio control
  • Cachlear implant centre
    • light up bays of toys randomly
    • avoid frequency of implant
  • Speedometer
    • requires laptop for display
    • powered by serial port
    • curses program for displaying speed
    • data comes from PIC, delays in timing on laptop don’t matter
    • interrupts on PIC
    • on interrupt every bit transmission time on PIC
  • random led flasher
    • whats that for?
    • its blinking; its working
    • why does it need to have a better reason
  • temperature sensor –> serial line
    • printed circuit board
    • made into kit
    • open source
    • 2400 bps
    • Gnuplot
    • after demonstration of measuring body temperature: therefore I am not cool
  • serial terminal, LCD panel, keypad
  • irrigation controller
    • keep context after reset
  • pump controller
    • pump water from well
    • once we got it going, it sucked
  • alarm control, 24 hour clock
    • easy to set
    • type in time
    • serial port and temperature sensor
    • quietly wakes you with a soft beep
  • PIC Stack Match Package
    • all open source
  • everything is open source

Ethernet interfaces

serial interfaces

http://quozl.linux.org.au/