English summary at codeberg.org/Peetz0r/batteryboard
Ik doe wel eens dingen met oude camera’s. Een ervan is een Minolta Dynax 505si uit een van de kringloopwinkels in de buurt.
Het is een 35mm filmcamera uit 1998. Dat is best een moderne SLR camera met een boel van de features die het leven makkelijk maken: autofocus, auto-exposure, de bekende PASM-modes, etcetera. Min of meer dezelfde featureset die elke vroege DSLR heeft, minus de review.
Geschiedenis van Minolta en Sony
Goed om te weten, Minolta is in 2003 gefuseerd tot Konica Minolta, en in 2006 overgenomen door Sony. De Sony Alpha DSLR’s zijn directe afstammelingen van deze serie Minolta camera’s, compatibel met dezelfde lenzen, en voor de eerdere modellen ook de non-standaard flitsers en remotes. Zelfs de nieuwste Sony A7 camera’s zijn officieel compatible met Minolta lenzen uit de jaren 80 en 90, met een first party adapter. Dus als je verderop in dit project verwijzingen ziet naar Sony Alpha, dan verwijst dat grofweg naar de hele familie.
Minolta gebruikte in Europa de naam Dynax, in America heette het Maxxum, en in Japan gebruikten ze al de naam Alpha sinds 1985!
Zie ook Minolta AF mount - Camera-wiki.org - The free camera encyclopedia.
Terug naar mijn camera. Daar moeten wel batterijen in. Twee primaire (niet-oplaadbare) CR2 lithium batterijtjes. De vorige set heb ik best lang mee gedaan (ook al heb ik er maar een handvol rolletjes mee gevuld) en een nieuw setje is minder duur dan 1 rolletje film, dus op zich had ik gewoon nieuwe kunnen kopen. Maar ik had zin om er iets geks mee te doen.
Daarnaast had de camera een aansluiting voor een remote control, maar dat is een bedrade oplossing. Daar is ook wel iets leuke mee te doen.
Dus, wat zag ik voor me?
- USB-C
- herlaadbare lithium-ion cel
- bluetooth remote
- een excuus om weer eens een pcb te ontwerpen en wat grenzen te verleggen
Ik ben ruim een maand geleden met het project begonnen, want exact een maand terug postte ik deze teaser: Peetz0r 🔜 eth0: "hardware crimes, teaser" - HSNL Social
Wat zit er op dat bordje?
- een usb-c connector
- een lineare li-ion batterijlader: TP4056
- een 450 mAh 601148-formaat pouch cell
- een boost converter om van de celspanning 6V te maken: TPS61089
- een buck converter om daaruit weer 3.3V te maken: AP63203
- een ESP32-C6 module voor de remote control
Het bordje is exact de juiste afmetingen om de lengte te vullen in de ruimte van 2 CR2 batterijtjes, en ik heb een li-ion cel gevonden die een fors deel van de rest van de ruimte netjes vult, en een set componenten die past in de ruimte aan de andere kant.
Dwarsdoorsnede:
Het grijzige ding is de li-ion cel (die is in praktijk een stuk minder hoekig, dus er is veel meer vrije ruimte rondom), de twee grote zwarte dingen zijn de inductors rondom de buck en boost converters.
Ondertussen heb ik rev1 van de bordjes en de componenten binnen. Gesoldeerd (mijn eerste keer stencil+hotplate solderen) en het werkt… deels.
Blijkt dat ik bij de layout royaal hard gefaald heb en dat niet alle stukjes ground pour aan elkaar zitten. Dat heb ik kunnen fiksen met een aantal bodge wires, maar een ervan zit vlakbij de enable pin van de boost converter.
Waarschijnlijk heb ik daar iets fout gedaan want de converter gedraagt zich alsof ie niet enabled is. Hij geeft ongeveer 3.8V, wat gelijk is aan z’n input (4.2V uit de batterijlader) minus een diode drop van de schakelmosfet die niet schakelt. Grappig genoeg is dat net genoeg om de buck converter nog net aan te krijgen, maar niet stabiel.
In rev2 heb ik de layout opnieuw gedaan maar dan 4-laags ipv 2-laags. Dat maakt het niet alleen makkelijker om de ground pour intact te houden maar ook om het goedkoper te produceren.
Mijn rev1 komt van JLC vandaan. Ik heb eerst hetzelfde bordje naar AISLER geupload maar daar werd het ineens duur. Na wat trial en error en wat hints van @pbx kwam ik erachter dat hun proces voor 0.8mm alleen in 4-laags in de goedkope categorie zit, in tegenstelling tot bij JLC waar allerlei opties goedkoper zijn. Maar nu met deze kennis is het verschil een stuk kleiner, en met shipping+import wint AISLER nu ineens wel.
Met een beetje geluk komt rev2 morgen aan. Maar met genoeg bodge wires heb ik vandaag alsnog de remote functionaliteit werkend gehad. Met de camera gevoed uit een labvoeding want zonder de 6V rail wordt dat echt niks.
De remote connector van de camera is een 3-pin connector met ground, focus en shutter. De focus en shutter pinnen zijn op 3.3V zolang de camera aan staat en zodra je een van die pinnen naar ground trekt dan doet het die functie. Eigenlijk enorm simpel, en prettig genoeg dezelfde spanningen als de ESP32 GPIO’s. De ground hier is gelijk aan de ground in het batterijvak dus dat gaat ook gewoon goed.
Documentatie van deze connector is oud, want Sony is ergens in de jaren 00 overgestapt op een nonstandaard micro-usb-achtige, en later (zoals alle camerafabrikanten) overgestapt op een propietary protocol over bluetooth, waarvoor je hun app moet gebruiken. Jammer, want er bestaat gewoon een standaard manier om het te doen over HID over (naar keuze) USB, traditioneel Bluetooth, of BLE.
De connector is te zien op www.doc-diy.net :: camera remote release pinout list (ja die website is recent verdwenen, daarom een archive.org linkje naar 2 jaar terug). Een standaard 2.0mm pin header past erop, maar voor het vormpje eromheen heb ik een 3d-print gemaakt zodat het geheel er makkelijker in en uit kan en de draadjes later enigsinds beschermd zitten.
Dat was de hardware, maar er komt ook software bij. Op dit moment moet ik nog beslissen hoe ik het precies ga bouwen maar ik heb al besloten dat ik de HID Camera Control Page wil gebruiken. Daar zit niet alleen een keycode voor de shutter in, maar ook eentje voor focus. Geen enkele dedicated camera implementeert dat, maar de camera apps in AOSP, GrapheneOS, en OpenCamera en Google Camera implementeren het wel.
De HID spec komt trouwens van USB-IF, maar wordt vrijwel identiek toegepast over Bluetooth, BLE, I²C, en vast nog anderen. Ik kies voor hier voor BLE. Dan heet het trouwens HOGP: HID Over GATT Profile.
Ik heb ook geen enkele off-the-shelf remote gevonden die het implementeert. De meeste remotes van cameramerken doen iets propietairs, en de meeste b-merk remotes hebben geen sluiterknop die je half kunt indrukken voor focus, of nieteens een 2e knopje voor focus. Voor zover ik weet doen de meeste hiervan ook niks met de Camera Control Page, maar emuleren ze de volumeknop uit de Consumer Control Page. In (bijna?) elke smartphone camera app is dat ook de shutter.
Anyway, voorlopig gebruik ik een scriptje op mijn laptop om een afstandsbediening te emuleren die zowel een volumeknop emuleert maar ook de Camera Control Page implementeert. Het vinden of beunen van een passende fysieke afstandsbediening en/of remote control app is een stretch goal voor later.
Ondertussen is al het bovenstaande open source, en te vinden op peetz0r.nl/2cr2
AI disclaimer: ik heb AI gebruikt voor dit project, specifiek de gratis tier van Claude. Ik laat het geen schema tekenen of board layout doen, maar ik gebruik het wel als zoekmachine en rubber duck, en het heeft me enorm geholpen met part selection. Het heeft ook het testscriptje geschreven. Ik weet dat er enorme bezwaren kleven aan AI gebruik, vooral de manier waarop het getraind wordt. Maar het is ook enorm nuttig. Dit soort projecten worden ineens een stuk makkelijker om te beginnen en wellicht zelfs af te krijgen. Ik heb er zelf gemengde gevoelens over en ik weet nog steeds niet of ik dit voor andere toekomstige projecten wel of niet wil.




