{"id":19252753,"url":"https://github.com/tomaszrewak/instant-camera-timer","last_synced_at":"2025-04-11T12:13:34.403Z","repository":{"id":204040645,"uuid":"709803010","full_name":"TomaszRewak/instant-camera-timer","owner":"TomaszRewak","description":"Adding a self timer to the Instax Mini 12 instant camera","archived":false,"fork":false,"pushed_at":"2023-10-27T20:28:26.000Z","size":4023,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-25T08:38:20.524Z","etag":null,"topics":["avr","camera","electronics","instant-camera","instax","microcontroller","self-timer"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TomaszRewak.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-10-25T12:35:51.000Z","updated_at":"2025-02-16T02:24:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"bb6e245e-3260-496c-a509-cf68ac3f5775","html_url":"https://github.com/TomaszRewak/instant-camera-timer","commit_stats":null,"previous_names":["tomaszrewak/instant-camera-timer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TomaszRewak%2Finstant-camera-timer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TomaszRewak%2Finstant-camera-timer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TomaszRewak%2Finstant-camera-timer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TomaszRewak%2Finstant-camera-timer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TomaszRewak","download_url":"https://codeload.github.com/TomaszRewak/instant-camera-timer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248398876,"owners_count":21097294,"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":["avr","camera","electronics","instant-camera","instax","microcontroller","self-timer"],"created_at":"2024-11-09T18:28:18.091Z","updated_at":"2025-04-11T12:13:34.380Z","avatar_url":"https://github.com/TomaszRewak.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# About the project\n\nThis modification of the Instax Mini 12 camera allows you to take pictures with a 10 second delay (while not losing the ability to take pictures immediately). The original camera does not have such a function.\n\nThe mechanism is simple:\n- Press the button of the camera for less than 1 second to take a picture immediately (just like in the original camera).\n- Press the button of the camera for more than 2 seconds to take a picture after a 10 second delay.\n\n# Disclaimer\n\nThis project is not affiliated with Fujifilm Holdings Corporation.\n\nIf you choose to replicate this project, you do so at your own risk. I am not responsible for any damage or harm caused by it. You may damage your camera, void your warranty, and incur other unexpected expenses or losses. By following this guide, you accept all responsibility and liability.\n\n# How it works\n\nThe ATTiny13A microcontroller is inserted between the capture button of the camera and the camera's circuit board. The microcontroller monitors the button state and redefines the behavior of its output.\n\nThe project consists of the .c program file that is to be loaded onto the microcontroller and a sequence of instructions for installing the microcontroller in the camera.\n\n# What you need\n\nComponents:\n- ATTiny13A microcontroller (either the PU or the SU version - I used the PU version for testing and the SU version for the final setup)\n- 100kΩ resistor\n- Wires\n- Solder\n- Isolation tape\n\nTools:\n- Microcontroller programmer (I used USBasp)\n- Soldering iron\n- Voltmeter\n- Test board\n- Screwdriver\n- Tweezers\n\n# Step-by-step instructions\n\n### 1. Compile the program and upload it to the microcontroller\n\nThe program is written in C and can be compiled with the avr-gcc compiler.\n\nRun the following commands in the Linux terminal (works also with the WSL):\n\n```bash\navr-gcc main.c -o main.elf -mmcu=attiny13a -DF_CPU=1200000UL -Os\navr-objcopy main.elf -O ihex main.hex\n```\n\nFirst command compiles the program and creates an executable file. Second command converts the executable file to a hex file that can be uploaded to the microcontroller.\n\nNow you need to upload the program to the microcontroller. I did it by running the following command in Windows PowerShell:\n\n```bash\navrdude -c usbasp -p attiny13a -U flash:w:main.hex\n```\n\nPlease note that you may need to change the programmer type (usbasp) based on the programmer you use.\n\n### 2. Remove the camera's back and front covers\n\nUse a screwdriver to remove the screws on the sides of the camera. Then remove the back cover.\n\nUnfortunately, one of the screws (that holds both the back and the front covers together) is located under a clip-in picture exit slot (which cannot be easily removed). I did not know that, and so I broke the plastic part of this screw holder. I recommend you to be a bit more careful when dealing with it (if it's even possible to remove the cover without breaking it).\n\nAfter removing the back cover, the front cover should come off easily.\n\nWarning: the camera's flash capacitor may still be charged! Do not touch the board or any circuitry inside the camera with your hands or any metal objects. I've learned it the hard way xD\n\n### 3. Test the microcontroller using a test board\n\nIt's a good idea to test the microcontroller before making any modifications to the camera. Just plug it into a test board and use a voltmeter to check if its behavior is as expected.\n\nYou will need to follow this circuit diagram (we will also use it later, when connecting the microcontroller to the camera):\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/TomaszRewak/instant-camera-timer/blob/master/resources/Circuit.png?raw=true\" width=800/\u003e\n\u003c/p\u003e\n\nThe expected behavior is as follows:\n- When idle, the `Board` pin (`PB0`) should read 5V.\n- When you short the `Button` pin (`PB1`) to the ground for less than a second, the `Board` pin (`PB0`) should read 0V for 0.5 seconds and then revert back to 5V.\n- When you short the `Button` pin (`PB1`) to the ground for more than 2 seconds, the `Board` pin (`PB0`) should maintain the 5V state for 10 seconds, then switch to 0V for 0.5 seconds and then revert back to 5V.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/TomaszRewak/instant-camera-timer/blob/master/resources/Step%201.jpg?raw=true\" width=800/\u003e\n\u003c/p\u003e\n\n### 4. Locate the 4 points of interest on the camera's circuit board\n\nThe circuit board is located on the front of the camera. On it, you will find 4 points of interest:\n\n1. `3.3V`: Just right to the camera's lens you will find a small silver pin labeled as 3.3V. It should have a voltage of 3.3V between it and the ground - but only when the camera is turned on. It will be out voltage source.\n2. `ground`: Bottom left to the flash you will find a black wire that comes from the direction of the battery. The point where it's soldered to the board is our ground.\n3. `button out`: At the top of the camera you will find the capture button (the one you press to take a picture). It has two wires connected to it. When the camera is turned on, the voltage between the bottom wire and the ground should be 5V. That's our `button out` pin.\n4. `board in`: The right most wire at the bottom of the board is the same wire that is connected to the `button out` pin. The place where it's soldered to the board is our `board in` pin.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/TomaszRewak/instant-camera-timer/blob/master/resources/Step%202.jpg?raw=true\" width=800/\u003e\n\u003c/p\u003e\n\n### 5. Cut the wire that connects the button to the board\n\nCut the wire that connects the `button out` pin to the `board in` pin. Be careful when doing it, as there are two wires of the same color running next to each other.\n\nYou should cut it just right to the flash of the camera (as shown in the picture below), to ensure a proper length of both ends of the wire for later use.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/TomaszRewak/instant-camera-timer/blob/master/resources/Step%203.jpg?raw=true\" width=800/\u003e\n\u003c/p\u003e\n\n### 6. Solder wires to the `button out` and `board in` pins\n\nSolder wires to the `button out` and `board in` pins. We will first use them for testing, but later on we will connect them directly to the microcontroller.\n\n### 7. Connect the camera to the test board\n\nTo test if everything works as expected, you can connect the camera to the test board. Just fallow the previously presented circuit diagram. If everything is connected correctly, the camera should already exhibit the new behavior.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/TomaszRewak/instant-camera-timer/blob/master/resources/Step%204.jpg?raw=true\" width=800/\u003e\n\u003c/p\u003e\n\n### 8. Solder the microcontroller to the camera\n\nNow it's time to solder the microcontroller to the camera. Use the wires you previously soldered to the `button out` and `board in` pins, as well as the two end of the wire that you cut in the step 5. Don't forget to solder in the 100kΩ resistor as well.\n\nMake sure the the wire lengths are correct for the microcontroller to sit comfortably left to the flash.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/TomaszRewak/instant-camera-timer/blob/master/resources/Step%205.jpg?raw=true\" width=800/\u003e\n\u003c/p\u003e\n\n(please don't judge my soldering skills :x)\n\n### 9. Wrap the microcontroller in isolation tape\n\nWrap the microcontroller in isolation tape to prevent it from shorting with the camera's circuit board. Place it left to the flash and make sure that it doesn't move from that position.\n\nMake sure that wires are not blocking any of the sensors and don't collide with any dents in the camera's front cover. Also be mindful of any moving parts (like the rotating lens cover).\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/TomaszRewak/instant-camera-timer/blob/master/resources/Step%206.jpg?raw=true\" width=800/\u003e\n\u003c/p\u003e\n\n### 10. Put the camera back together\n\nPut the camera's front and back covers back together.\n\nBe extra careful when pressing in the rotating lens cover. It's very easy to break its plastic holders (as I did xD).\n\n### 11. Enjoy!\n\nNow you can enjoy your new camera feature!\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/TomaszRewak/instant-camera-timer/blob/master/resources/Photo.jpg?raw=true\" width=800/\u003e\n\u003c/p\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomaszrewak%2Finstant-camera-timer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftomaszrewak%2Finstant-camera-timer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomaszrewak%2Finstant-camera-timer/lists"}