PLEASE NOTE FOR EVERYONE’S SAFETY: I present this as a basis for your own work and not to be directly copied as there are no doubt design flaws. I do not claim it is physically, physiologically or psychologically safe to use or that I take no responsibility for any injury, loss or death or anything else that may befall you, good or bad, if you decide to use this. This is provided with the understanding that if you use it you know what you are doing and understand the dangers and safeguards that should be used when dealing with electronics and the soft squishy and often wet bits of humans and that you take full responsibility for your actions. Electronics and moisture generally are not good when mixed so know what you are doing. There are design and construction procedures for equipment to be used with humans, please find out what these are and follow them. Also please follow all appropriate procedures and laws applicable to your location.
All that said here is the Hardware and firmware.
edit: here is the contents of the EEPROM eeprom.zip
(anyone with any experience of open source licensing, please tell me if I have done it right)
I have not included the bootloader for 3 reasons:
1) It’s not required to make the thing work
2) I recently went through it and found some bugs so its not working at the moment
3) I am contemplating replacing it with one from sparkfun
Also in this bundle I have not included the PC software since that hasn’t been commented up yet.
23/10/2009 at 07:15 pm
I might be missing something, but i can’t find any mesages in EEPROM? They don’t appear to be in the .ASM file….
24/10/2009 at 02:45 pm
I never put them in the EEPROM from the code. I just opened the EEPROM view and entered them there. That’s something I have to look into then. It also appears that I forgot to include the hex file with them in (I have now posted that above. if you import that into MPLAB then go to the EEPROM view you will be able to see the function names)
Thanks for showing an interest, hope you have fun with it.
29/10/2009 at 11:33 pm
I got your code working on a stripboard layout, my bootloader was killing things because I was missing a pull-up resistor.
I embedded the EEPROM messages in the .asm file using DE statements org’d to 0xF00000 and incremented for each item.
I don’t have a USB to serial adapter board so have attached a MAX232, just need some time to hook it up to the PC now.
Thinking about wedging the code into the M’chip CDC USB framework and eliminating the RS-232, looks complicated though.
I’m considering Internet enabling it as well, perhaps an MSN plugin…
Again, thanks for posting the code, it’s generated quite a bit of interest here and hopefully there’s plenty of fun to be had.
21/12/2009 at 06:29 pm
I hoped correctly, there is plenty of fun….
21/02/2010 at 04:20 pm
This is quite interesting to find, as I have done something similar myself.
Unfortunately I cannot read the .sch files, as it looks like they are some binary format instead of the text format that gEDA expects. Would it be possible for you to post the schematics as simple pictures?
In my design (see http://www.milovana.com/forum/viewtopic.php?t=3327 for details and schematics) I was able to avoid an extra PCB by using a longer plastic tube to transmit the pressure to the pressure sensor on the main PCB.
(Btw, I have experience of open source software licensing, and you have done it absolutely right.)