voice sensor circuit
I built mine after
Olimex's
PIC-PG1 (here are links for the
schematic and **broken link removed**). It has the drawback that you need a serial port capable of supplying high enough voltage, something most laptops and USB->Serial converters cannot, you will need to use a desktop PC. The
WinPIC software (free) is compatible with the JDM, just select JDM from the programming interface list. Programming is quite slow (I have had best success with it "slow mode"), so the bootloader is I think mandatory, here's a link to
Ingenia's webpage, look for the dsPIC bootloader & GUI links on their main page. Installation is spanish, but software is english. The bootloader code needs one mod; it's memory start area ".equ START_ADDRESS, 0xNNNN", needs to be defined to match the memory size of your chip (using the suggested dsPIC30F4013 it can be left unchanged). It uses alternate UART1 pins by default, this can easily be changed by a single line do default UART1 pins, and if you need it I have modded bootloaders that use UART2. For connecting the bootloaded chip to PC, I use an USB->UART chip (
FTDI has two; FT232, FT2232, there are many others from other manufacturers, and you can use finished products like DIP modules or cables with built-in chip like **broken link removed**)
One thing about the bootloader GUI, it needs to have an entry for the chip you're programming in it's XML file. Look at the existing entries, it is not difficult to make a new one and the bootloaders excellent user manual will help you with it. Device ID of your chip model for this entry can be found in the
dsPIC30F Flash Programming Specification. If you should meet problems during development, it may be good to know that Microchip has an excellent
support forum, where you likely can find existing threads relating to speech reckognition.
EDIT: I would keep your circuit ground and computer ground separated if using ICSP with JDM because IIRC it puts its ground at -5V and Vdd at 0V... I have usually mounted the chip to be programmed on a breadboard, hooking up the ICSP to it, programmed it, and put it back into the circuit.