{"id":22132603,"url":"https://github.com/jonnor/piezopro","last_synced_at":"2025-03-24T09:26:40.027Z","repository":{"id":264949768,"uuid":"808329497","full_name":"jonnor/piezopro","owner":"jonnor","description":"(INACTIVE) Piezo contact microphone preamp","archived":false,"fork":false,"pushed_at":"2024-05-30T21:00:36.000Z","size":1608,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-19T04:17:40.373Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jonnor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-30T20:59:13.000Z","updated_at":"2025-01-08T15:01:26.000Z","dependencies_parsed_at":"2024-11-27T00:15:39.937Z","dependency_job_id":null,"html_url":"https://github.com/jonnor/piezopro","commit_stats":null,"previous_names":["jonnor/piezopro"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonnor%2Fpiezopro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonnor%2Fpiezopro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonnor%2Fpiezopro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonnor%2Fpiezopro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonnor","download_url":"https://codeload.github.com/jonnor/piezopro/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245242059,"owners_count":20583375,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-01T18:48:29.004Z","updated_at":"2025-03-24T09:26:40.003Z","avatar_url":"https://github.com/jonnor.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\nPiezo module with integrated preamp in fully shielded package.\n\n# Status\nDeveloping first prototype\n\n# TODO\n\nPreamp Revision 2 testing\n\n* Measure frequency response of amplifier with Bitscope\n* Measure signal/noise ratio or noise floor.\n* Test with 5V power supply\n* Test overvoltage on connector. VGND,HOT,COLD\n\nPreamp Revision 3\n\n* Depending on test results\n* Test a charge amplifier?\n* Test a JFET directly on piezo?\n\nFinal revision\n\n* Document test procedure for PCB and/or assembly.\n\n## Questions\n\n* PCB stackup retains piezo sensitivity.\nPut piezo onto PCB. With glue? Use adhesive tape to attach to instrument.\nMeasure output level. Compare to without PCB. Compare to coppertape+covertape.\nMaybe the bottom should just be piezo+coppertape, sides+top is PCB? Can still look \"perfect\" from outside.\n* PCB stackup is a good way to shield.\nTest having just a few (4) connected holes in mid layer (from top/bottom). Can noise get in? 50Hz\nEmulate side-plated PCB using copper tape. How much does it improve?\n* Frequency response should include resonant peak.\nFor 27mm element is as low as 4kHz, within fundamentals of piano. 12mm=9kHz. 9mm=18kHz, edge of human hearing.\nHow pronouced is this peak actually when mounted on instrument?\n\n# Design test\n\nRevision 1. gain. 220k/22k. 10M input.\n20mm Murata. Piezo in tin, glued. Lying on top of guitar. \nMeasured GND, HOT. on output.\nlow E string. 80mVpp sustained, 500mVpp attack\nG string. 70mVpp sustained, 700mVpp attack\nhigh E string. 70mVpp sustain, 800mVpp attack\n\nCurrent consumption 0.68 mA.\n\n## Learnings\n\n* Basic circuit works. Both with balanced and unbalanced inputs.\n* Using a tin box works well as a shield.\n* With microphone level input, signal is too hot.\n\n# Worklog\n\nRev1: Circuit design verification. 22 hours\n\n* Sept 08. 4 hours. Research exiting designs, initial schematic.\n* Sept 09. 4 hours. Part selection and initial layout.\n* Sept 09. 1 / 4 hours. Setup simulation in KiCAD.\n* Sept 14. 1 hour. Sketching piezo mounts with rim/center attach\n* Sept 19. 7 hours. Assembly and testing revision 1 PCB.\n* Sept 22. 2 hours. Test overvoltage, calculate new component values\n\nRev2: Assembly concept verification. 7 hours \n\n* Oct 4. 4 hours. Update schematic and layout for revision 2. \n* Oct 8. 3 hours. Go through revision 2.\n* Oct 3. 1 / 4 hours. Find out how to import artwork in KiCAD\n\nRev3: Production tweaked\n\n* March 16. 2 hours. Make Python tool for vias shielding, use instead of edge platings\n\n# Requirements\n\nElectronics\n\n* PCB is an enclosure for 20mm piezo. 25mm outer diameter\n* BOM max 3 USD\n* 100 hours++ on 9V battery. Max 2mA avg draw\n* Low noise\n* Balanced output. But also works with unbalanced inputs\n* Line-level output, +4dBU\n* 20Hz-20kHz bandwidth\n* Reverse polarity protection\n* Input overvoltage protection\n\nMechanics\n\n* Cylindrical\n* Fully shielded\n* Output: 1/4\" TRS female\n* Power: 9V battery clip\n* 1m cable, soft/flexible\n\n# Sourcing\n\n* Capacitors.\n[0.1uF](https://no.farnell.com/w/c/passive-components/capacitors/ceramic-capacitors/smd-ceramic-multilayer-mlcc-capacitors?capacitance=0.1uf\u0026voltage-rating=25v|35v\u0026range=inc-in-stock-grp1\u0026sort=P_PRICE)\n[10uF](https://no.farnell.com/w/c/passive-components/capacitors/ceramic-capacitors/smd-ceramic-multilayer-mlcc-capacitors?capacitance=10uf\u0026voltage-rating=6.3v|10v|25v|35v\u0026range=inc-in-stock-grp1\u0026sort=P_PRICE)\n* NMOS. [BSS138L](https://no.farnell.com/on-semiconductor/bss138lt1g/mosfet-n-50v-0-2a-sot-23/dp/1431319)\n* Diodes [SOD-532](https://no.farnell.com/w/c/semiconductors-discretes/diodes/small-signal-diodes?diode-case-style=sod-523|sod-523f\u0026no-of-pins=2pins|3pins\u0026packaging=cuttape\u0026range=inc-in-stock-grp1|exc-obs\u0026sort=P_PRICE)\n*  Zeners [SOD-523](https://no.farnell.com/w/c/semiconductors-discretes/diodes/zener-single-diodes?zener-voltage-vz-typ=3.3v|3.6v|3.9v|4.3v|4.7v|5.1v\u0026diode-case-style=sod-523|sod-523f\u0026no-of-pins=2pins|3pins\u0026packaging=cuttape\u0026range=inc-in-stock\u0026sort=P_PRICE)\n* Opamp. [TL062](https://no.farnell.com/search/prl/results?packaging=cuttape\u0026range=inc-in-stock\u0026st=tl062\u0026sort=P_PRICE)\n* Piezo [Farnell](https://no.farnell.com/w/c/sensors-transducers/transducers/sensing-transducers/piezo-transducer-elements?external-diameter=27mm|35mm\u0026range=inc-in-stock)\n\n# BOM\n\n[Octopart BOM](https://octopart.com/bom-tool/TbIQ2Cbo/OKDwL97yteywY4BA)\n\n\n## Testing\n\nTesting aspects\n\n* PCB design verification\n* Enclosure/mount design verification\n* Production checks.\n\nTough-but-normal conditions\n\n* 3-8 microphones\n* Plugged into standard mixer with 50m cable\n* 1 9V battery per microphone\n\nReverse polarity:\nHold battery on wrong way for 10 seconds, plug right way, ensure works OK.\n\nOvervoltage:\nHit piezo with hammer. Ensure performance good afterwards.\n\nFrequency response:\nConnect signal generator at PCB input, with capacitor simulating piezo capacitance.\nSweep sinewave, record output, calculate frequency response.\n\nNoise.\nInternal noise. No signal. Measure output\nInjected noise/interference (on output line, at microphone).\nAttempt to inject 50Hz by wire. Lightbubl+dimmer.\nMeasure without shielding, and with.\n\n## References\n\nElectronics\n\n* [Elliot Sound Products: Balanced Line Driver](http://sound.whsites.net/articles/dwopa3.htm#s10)\n* [Elliot Sound Products: High-Z ](http://sound.whsites.net/articles/high-z.html)\n* [WikiPedia: Line level](https://en.wikipedia.org/wiki/Line_level). Consumer: -10dBV 0.894 Vpp, Pro: +4dBu 3.472\n* [StackExchange.com: Piezo FET preamp balanced output](https://sound.stackexchange.com/questions/687/diy-contact-microphone/37714#37714).\nDeveloped by Alex Rice, www.zachpoff.com/diy-resources/alex-rice-piezo-preamplifier/.\nExtremely simple design. Used as base for DIY kits and complete microphone Cortado MkII from Zeppelin Labs. \n* [Elliot Sound Products: Piezo Pickup Preamplifiers](https://sound-au.com/project202.htm).\nTested high-Z preamp versus Charge Amplifier.\nFirst opamp stage is charge amp with 1x gain, then second stage sets desired gain.\nFound that high-Z would pick up (50hz) hum, where as charge amplifier did not. When piezo was connected with bare leads.\nTested with TL072 and found it very quiet.\n\nShielding\n\n* [Shielding fabric](https://www.aliexpress.com/item/Emf-shielding-Fabric-Signal-Block-Fabric-Military-Nickel-Fabric/32795159060.html)\n* [Shielding paint](https://www.stewmac.com/Pickups_and_Electronics/Shielding/Conductive_Shielding_Paint.html)\n\nSimulation\n\n* [ngspice: Using KiCAD as GUI](http://ngspice.sourceforge.net/ngspice-eeschema.html)\n* [eCircuitCenter: Basic SPICE opamp model](http://www.ecircuitcenter.com/Circuits/opmodel1/opmodel2.htm)\n* [WikiPedia: Piezoelectric sensor](https://en.wikipedia.org/wiki/Piezoelectric_sensor).\nBasic model (disregards resonance): Voltage source with a capacitor in series.\n\n## Existing products\n\nActive contact microphones\n\n- Schertler. [Thommann](https://www.thomann.de/gb/schertler_dyn_uni_p48_contact_microphone.htm).\n48V phantom power.\n310 EUR.\n- Cortado MkII [from Zeppelin Labs](https://zeppelindesignlabs.com/product/cortado-mkiii-contact-microphone/).\n48V phantom power. Two gain settings, low-frequency cutoff switch.\n150 USD assembled.\n- K\u0026K Pure pickup plus K\u0026K Pure preamp. [Thommann](https://www.thomannmusic.no/kk_pure_preamp.htm?sid=fd268c89787f256dcc79b210d18a3667).\nTotal around 300 EUR\n\n\n# Usage ideas\n\n* Guitar. Acoustic, electric, traveller.\n* DIY Cigarbox\n* CNC mill an electric travel guitar from single piece of wood. Rosewood/maple.\nhttps://www.aliexpress.com/item/Hot-Sale-Custom-Electric-Travel-Guitar-Portable-Style-Rosewood-Fretboard-22-Frets-with-Soft-Bag-can/32803999609.html\n* Violin,viola,chello. \n* Double bass. \n* Stomp box\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonnor%2Fpiezopro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonnor%2Fpiezopro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonnor%2Fpiezopro/lists"}