| < Home |
Contact L.P. |
| Know
How |
|
Creative
Electronics: Here is a link to the class notes and
projects from my class "Creative Electronics Laboratory" at the
California Instittute of the Arts -- an intensive exlploration of basic
electricity, sensors and design technique for newbies, beginners and
intermediate students. There is a great deal of information not
contained in these notes, but schematics for simple oscillators,
pre-amps, reverbs, sensors, etc are all there, as well as links and
basic electronics info.
PicDesign: I've used a variety of PICs. Mostly the 18f452, 184520 and 18f2520 and some 16fxxx chips. I've been planning some experimentation with the 18f4550 lately, but gotten back-logged and not used them for an application yet. I do have some information that people have been asking me, though: PicStart Plus will not program the 18f4550 under mplab 7.0!! The ICD2 will do it, according to Microchip tech support. Cheap ICD2 clones, made by Olimex can be purchased from Spark Fun Electronics. I ordered one, and it works well with my setup. A picstart or other "normal" programmer is also a useful tool to have too, as I often program chips and transfer them between the picstart and the breadboard for development. The ICD2 works best when the chip is already in an application circuitboard. DIY Programmers -- If I've learned anything: don't skimp too much on your tools. I build instruments, sensors, phones, artwork from scratch, but I think getting a good programmer or ICD2 is worth the $100. Why build a boring, less functional programmer when you could be making your designs come to life already? (this is just my opinion, but I needed to share). JDMs and TAITs and homebrew work great for specific projects (for example a "Midibox", which uses only 18f452), but my PicStart and soon to arrive ICD2 will do almost any PIC chip on the planet, whereas Tait and JDM programmers often only work on a limited scope of chips. Inductors: These coils of wire create the wonderful resonances of passive filters and are necessary for radio and theremin design. Inductors are needed for resonant tank circuits, which give many analog filters their warm, resonant quality. However, adjustable "tuning coils" for oscillators are not as easy to come by, nor are the most useful audio filter values plentiful. So, check out this link: Make Your Own Coil Inductors: http://www.qsl.net/ct1efl/inductors.htm Transformers: 1:1 audio transformers are worth using. I use some I got for $1 at a surplus place. They probably came from telephones and modems. However, they are part of my secrets for obtaining a warm, vintage radio tone when I design preamps. Intermediate step up and step down impedance matching audio transformers are fantastic too. They were key in tube based designs and can enhance solid state designs greatly. I suggest experimenting with 8ohm to xxxK ohm audio transformers (available from radioshack or mouser {xicon makes some}). These are normally used to match high impedance sources to low impedance loads, like 8 ohm speakers. However, you can also send a low impedance signal in, step it up and drive a high impedance load like a piezo transducer, opamps, tubes, etc. I also use one to step up my audio signal before rectifying it with diodes to compensate for the voltage loss from rectifying or ring modulating with diodes. |
| Speakjet Resources: |
Dictionary of Speakjet phrases in decimal instructions (to send to PIC, MAX/MSP, Terminal apps, etc) - Adapted from Magnevation's spec sheets and "phrasealator" software dictionary for PC. This is a growing list of raw instructions to have speakjet say things like "a" "and" "or" "the" "legislature" "squirrel" "ass" and "pillow fight". Some 1400 words and growing. Since the instructions are in decimal format, they can be sent to speakjet with any software or programming language, not just Magnevation's "Phrasealator". sjdicdec.txt |
| Macintosh Users can use a keyspan USB to serial converter to interact with speakjet (http://www.keyspan.com). |
| Max
/ MSP can be
used to control speakjet via the "serial" object. Max is limited to
sending decimals only - thus, EEPROM programming and escape sequences
cannot be operated. sjexamp.pat -- A simple MAX patch giving control over pitch, speed, bend and selection of allophones. The button makes it spew nonsense words (random fricative + a vowel) and drawing in the box causes two allophones to sound according to X and Y value. |
| Works
in Progress: Insanium Synthesizer: Currently Version 1.1 A speakjet containing synthesizer with knobs, control voltage inputs, preprogrammed sounds and phrases, and real time - computer free control. A printed circuit board and DIY plans / source code are coming (I am currently trying to revise both the board and the code). I will send info about current designs per email requests, though. The insanium also intefaces with a computer via serial port so that the speakjet can be used with Phrasealator, MAX-MSP and other software. I hope to get version 1.2 out by September -- featuring revised, more debugged code. Envelopes. CV inputs. Control of all the oscillator functions. No-nonsense carrier board for the speakjet sjschem.jpg -- This design works. I also use one that I built with a MAX-232 chip from maxim instead of the two trahnsistors to shift the levels. Includes: RS-232 line level shifter (input and output) High pass filter (lowers noise greatly) It is designed to be connected to external pre-amps and controls and switches. |
| Speakjet Interface to MIOS: After
building the insanium, my aproach to the speakjet is a bit different.
The insanium uses control voltages to control its fuctions, making it
compatible with analog synths and some MIOS applications. I'd like to
try doing a digital interface in the future, but most of my designs are
CV related at the moment, so that's on the back burner. The public
release of the insanium as open source should speed things up... |
|
The Best Deals and Stuff for
Experimentation:
(I've purchased stuff from all these places, and never had a problem) All Electronics - http://www.allelectronics.com/ - Located in Van Nuys (close to CalArts). Lots of stuff, surplus and new, very convenient to us people in LA. Great prices. The Electronic Goldmine - http://www.goldmine-elec-products.com/ - Mail order. Great place to get surplus parts and super good deals. Very inexpensive and good selection. Mark III Robot Store - http://www.junun.org/MarkIII/Store.jsp - Mostly sells robot kits, but has a small selection of sensors at good prices. Sells Speakjet chips. American Science and Surplus -- Electronic gadgets and scientific doodads. http://sciplus.com/ Spark Fun -- Spark fun has some useful stuff for prototyping, PICs, PCB making and various sensors / wireless apps. They also have cell phone prototyping equipment and a rotary dial cell phone! Huge New Parts Suppliers (components, tools): Jameco -- Jameco tends to be a little cheaper and easier to navigate. Especially good for tools, bench supplies... etc. Flex sensors. Digikey -- Digikey has a greater selection and higher end merchandise. PIC programmers, specialized components and all the little stuff too. Mouser - Lots o' stuff -- this is the place to go to get all the little components you need for a project -- resistors, rotary encoders, ICs. |
|
McMaster Carr & Co. -- The hardware store that goes on for ever and ever and ever... Pumps, filters, metals, wire... Experimental Musical Instruments Links Page -- Hard to find instrument materials. Mostly for acoustic instruments. Lists suppliers of gourds, egg shell, sea shells, bone, wood. Etc. Jameco, Mouser and Digikey (listed above) also supply things like static control materials and other electronics related materials. |
|
(These are just a few programs I
use...
Please see Adam
Overton's site
for more music software and open source software links. OSX and UNIX / Linux:
Eagle Light - free CAD system for printed circuit board layout. Schematic drawing, capture (automatically converts parts into the board layout), single and multilayer circuit board design. I print directly from eagle to "press and peel" toner transfer paper and iron my PCB traces onto copper clad boards. I also export to Gerber files which I send for manufacture at PCB fabrication houses. gputils - Open source PIC programming utilities. It will program a pic using a mac with a keyspan serial adaptor and a picstart plus (It should work with other programmers too, but do your research before investing in a pic programmer). xcircuit - Drawing program -- specializes in drawing schematics. Usually makes prettier schematics than eagle, but does not have CAD capability. Windows:
MPLAB IDE - Microchip's software for programming PICs. Will program any PIC provided you have the required hardware. I like it, I use it. Electronics Workbench - Best bang for the buck. An interactive drag and drop circuit simulation program. Educational discounts available. Saves lots of time and energy testing circuits virtually before making them. |
| A Word About Microcontrollers: |
I use PICs. I think they are fantastic due to low cost and versatility. Some Pics have 40 pins and tons of I/O, others have only 10 pins and just what you need. Features like serial, comparators, Analog to Digital converters, USB, SPI, etc are available depending on the chip you choose. I like them more than SX chips because of these built in features, more memory and greater versatility of I/O. SX chips are much faster according to their claims, but do not have a lot of features I use, like ADC, PWM, USART and USB. They are still a great choice, though. Atmels seem equally as good as PICs to me. They are cheap, have more embedded features than SX chips (generally), but don't seem as common or versatile as PICs. USE ASSEMBLY -- just do it. It's hard, and agonizingly awful sometimes when you need to do something that binary numbers don't do well (like division, trig, etc...). However, a well built assembly program will give you all the flexibility and speed you will ever need. Using PIC-C or SDCC is cool too, but assembly is unavoidable for low level I/O, communication and optimization. -- It's tedious, yes, but if you are logical and already have a grasp of electronics and hardware (especially binary numbers, bits and bytes), you'll be fine. Of course, using SDCC or another compiler for code without timing issues or sensitive I/O is a good way to go. |
|
Choosing a Chip
Type or Brand:
PIC - This is what I use. Advantages: VERY cheap (most <$10) Powerful Versatile. Well supported by the microchip company. Lots of code available on the web (open source) Programmed in assembler. (I like assembler) People will think you are a hardcore nerd. Disadvantages: Programmed in assembler (I am starting to appreciate assembler, but if you're into C or Basic, freeware compilers usually only support older chips. Professional compilers cost a lot of money, but will work with all chips). Requires a good supporting circuit. You need to provide regulated +5v power and an external crystal in your circuit. This is not hard at all, but when you start using 40 pin PICs a printed circuit board becomes a real good idea. People will think you are a hard core nerd. Basic Stamp: Advantages: Easy for beginners I don't want to talk about stamps much. They are good for learning, or for creating a "one time" robotics project. If you plan on programming chips for more than 1 or 2 projects, though, I'd consider investing the time in learning how to use one of the other platforms. Atmel AVR No experience here. They seem similar in capability to PICs. Cheap $5-$20. Programmed in Atmel's assembler language. OOPic Designed especially for robotics. However, artistic applications seem obvious. I have not used OOPics, but they look to be as easy as the basic stamp, and much more powerful. They look like a good compromise for hobby projects like robotics that need more power than basic stamps, but don't require the occasional agony of assembler. Programmable in object oriented C, Basic, Java. Check out this comparison vs. basic stamp -- http://oopic.com/vsbs.htm |
| Programmers: I can only recommend one programmer: the PICSTART PLUS (or a clone of the PICSTART), and IT'S NOT PERFECT. Be sure to get a programmer that supports the chip you use, and the development environment you use (I use MPLAB {and occasionally gnupic}). Don't be too cheap. Most models under $45 aren't any better than one you could build for $20. Don't get one without a ZIF socket (which allows you to continuously reprogram the chip without accidentally bending pins). The ICD2 from microchip (or a clone) is a good investment down the road. Making bootloaders and "in-circuit" programmable pics is easier with a debugging tool like this. Also, it can program some chips quite well, like the 18f4550, which still can't be programmed on a PICSTART. Do it yourself: "Tait programmers" - These guys plug into your PC parallel port. You can make one yourself for about $20 in parts, and they program almost anything (although you have to build your programmer with a certain chip in mind (some programmers only program 1 type of chip) -- there are many designs on the web tailored to different chips). These are, by all reports, better than cheap serial programmers. They don't offer the bells and whistles of some nicer commercial programmers, though. I have yet to assemble mine (I wanted to make a backup for the PICSTART). |