PIC Microcontrollers and Open Source
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