Touch Cam - a Raspberry Pi Camera

by Mukesh_Sankhla in Circuits > Raspberry Pi

31488 Views, 191 Favorites, 0 Comments

Touch Cam - a Raspberry Pi Camera

Touch Cam.png
DSC01173.JPG
DSC01196.JPG
DSC01190.JPG
DSC01161.JPG

The Touch Cam is a redesigned and enhanced version of the Pi Cam - A Raspberry Pi Desktop Camera Server, integrating a touch display and touch sensor for an intuitive and interactive user experience. This project combines the power of Raspberry Pi with a custom CAD redesign and an innovative touch interface, allowing users to conveniently capture photos, videos, and time-lapse sequences.

Key Features:

  1. Touch Display: The Touch Cam features a high-resolution touch display, providing a visual interface for camera controls, image previews, and video playback. With the touch display, users can easily navigate through menus, and view real-time images and videos.
  2. Touch Sensor: A touch sensor has been incorporated into the design, enabling seamless operation for capturing photos and starting time-lapse sequences. By simply tapping the touch sensor, users can initiate the desired camera function, whether it's capturing a single photo or starting a time-lapse sequence.
  3. Raspberry Pi Desktop Camera Server: The project leverages the computational capabilities of Raspberry Pi to serve as a versatile camera server. The Touch Cam provides a web-based interface accessible from any device connected to the same network, allowing users to remotely control and access the camera's functionalities for capturing photos, recording videos, and creating time-lapse sequences.
  4. Cooling System: The Touch Cam is equipped with a 5V cooling fan and heatsinks to ensure efficient temperature regulation. The cooling system prevents the Raspberry Pi from overheating during extended usage, providing reliable performance and stability even in demanding situations.
  5. Custom CAD Redesign: The custom CAD redesign not only enhances functionality but also ensures a sleek and functional design, accommodating the touch display, touch sensor, cooling fan, heatsinks, Raspberry Pi HQ camera module and Raspberry Pi within a compact and user-friendly camera enclosure.
  6. Easy Setup and Configuration: Setting up the Touch Cam is straightforward, requiring minimal technical expertise. With clear documentation and step-by-step instructions, users can quickly assemble the hardware components, install the necessary software, and start capturing stunning photos and creating time-lapse sequences.


The Touch Cam showcases my CAD design skills and expertise as a bachelor's computer science student at Guru Nanak Dev Engineering Colleg, Bidar, India. Having started using Fusion 360 in 2018 when I was in secondary school, I have been able to bring my imagination to reality using Fusion 360 and 3D printing and made many projects in past few years.

In this tutorial, I will provide a detailed explanation of the designing process using Fusion 360 for the Touch Cam project. Fusion 360 is a powerful CAD (Computer-Aided Design) software that enables users to create complex 3D models and designs. By following these steps, you will be able to harness the full potential of Fusion 360 to design and visualize your own projects.


Note: Feel free to further customize and expand the project description based on any additional features or functionalities you incorporated into your version of the Touch Cam or any other relevant details you would like to include.

Supplies

DSC01080.JPG
DSC01081.JPG
DSC01085.JPG
DSC01088.JPG
DSC01092.JPG
DSC01094.JPG
DSC01101.JPG
DSC01093.JPG
DSC01089.JPG
DSC01030.JPG
DSC01032.JPG

About Fusion 360 Free Student and Educator License

Screenshot 2023-06-30 215019.png

Autodesk offers free licenses for students and educators, allowing them to access and use Autodesk products, including Fusion 360, for educational purposes. Here are some important details about the Fusion 360 Student and Educator license:

  1. Eligibility: The Fusion 360 Student and Educator license is available to students and educators who meet the eligibility criteria set by Autodesk. Students must be enrolled in a degree-granting educational institution, while educators must be employed by an accredited educational institution.
  2. Features: The license provides access to the full features and functionality of Fusion 360. This includes 3D modeling, simulation, rendering, CAM (computer-aided manufacturing), collaboration tools, and more. It allows students and educators to explore and learn various aspects of design and engineering.
  3. Duration: The Fusion 360 Student and Educator license is typically valid for one year. However, Autodesk periodically renews the license to ensure continued access for eligible students and educators.
  4. Educational Use: The license is specifically intended for educational use. Students can utilize Fusion 360 for classroom assignments, personal projects, research, and learning purposes. Educators can incorporate Fusion 360 into their curriculum, conduct workshops, and teach students using this software.

To access the Fusion 360 Student and Educator license, you can visit the Autodesk Education Community website and sign up for an account. Once your eligibility is verified, you will be granted access to download and install Fusion 360 using your educational license.

It's worth noting that while the Fusion 360 Student and Educator license is free, it is subject to certain terms and conditions outlined by Autodesk. These terms typically restrict the use of the software for commercial purposes. Therefore, if you intend to use Fusion 360 for commercial projects, you may need to consider purchasing a commercial license.

For the most accurate and up-to-date information on the Fusion 360 Student and Educator license, it is recommended to visit Autodesk's official website or contact their customer support.

Gathering Basic Components Information

datasheet.png
48e6ae944e492a330a52bb49f68f56ea.png
HTB17C7PGXXXXXbuXFXXq6xXFXXXO.jpg

I personally do the following steps before starting to design:

  1. Identify the electronic/other components I need for my project.
  2. Search online for CAD models: Look for websites or online libraries that provide CAD models for electronic components. I search on platforms like Autodesk Community Gallery, Tinkercad Gallery, Thingiverse or GrabCAD.
  3. Check datasheets: If I couldn't find a CAD model online, I search for the datasheet of the component. The datasheet typically contains important information, including mechanical dimensions, pin configurations, and other specifications that can help us to create the component in Fusion 360 accurately.
  4. Create custom components: If I couldn't find a CAD model or datasheet, I measure the dimensions of the physical component using measuring tools and create the components 3D model by myself. Fusion 360 provides tools for creating custom components using basic shapes, extrusions, and other modeling techniques. Use the dimensions and specifications from the datasheet to accurately model the component.



Follow the below steps to use this info in the design.



Designing the Touch Display

1.png
2.png
3.png
5.png
4.png
6.png
7.png
8.png
9.png
10.png
11.png
12.png
13.png
14.png
15.png
  • First, launch the Fusion 360 software and save the project.
  • Next, click on "Create Sketch" to draw 2D shapes. Choose the desired plane on which you want to draw.
  • I have drawn the dimensions of the display (121x76mm) with a 0.6mm offset. When I measured the display, I noticed that it was slightly larger in one direction. To ensure that the display fits properly in the case when 3D printed, I added the offset.
  • Then, use the "Press Pull" option. Click on the 2D rectangular surface and enter the thickness of the display (7mm) to convert the 2D diagram into a 3D object.
  • Select the back surface of the display object and create a sketch on top of it for the other features of the display.
  • Once again, use the "Press Pull" option and then apply the "Fillet" feature to round the edges of the display.

Designing Fan Case

16.png
17.png
18.png
Screenshot 2023-06-30 223043.png
19.png
20.png
21.png
22.png
23.png
24.png
25.png
26.png
27.png
28.png
  • To design the fan, first, I drew the outer dimensions of the fan as a 40x40mm rectangle and a 40mm diameter circle. I also drew two lines from one corner, measuring 30mm and 20mm respectively, and then deleted the rectangle as it was only for reference.
  • To determine the length of the fan's opening, I measured it using a scale, and it was found to be 30mm.
  • Next, I used the Fit Point Spline option to draw a curved line. I utilized the green dots to create the curved shape, although it may not be entirely accurate, I attempted to match the desired shape as closely as possible.
  • Subsequently, by selecting the surfaces using the Ctrl key and mouse, I used the "press pull" function to extrude the shape to a height of 20mm.
  • Following that, I drew a 30mm circle on top of the object and pressed it to a height of 19mm.
  • To make the object hollow with a 1mm wall thickness, I selected the inner surface and used the Shell option.
  • Lastly, I drew a center rectangle with dimensions of 28x18mm and pressed it to create the opening of the fan.

Designing Fan Propeller

29.png
30.png
31.png
32.png
33.png
34.png
35.png
36.png
37.png
38.png
39.png
40.png
41.png
42.png
43.png
44.png
45.png
46.png
47.png
48.png
49.png
50.png
51.png
52.png
53.png
54.png
55.png
56.png
57.png
58.png
  • First, draw the basic 2D drawing and use the press-pull option to create a single blade and the central shaft. Click on the eye icon of the most recent sketch in the left Sketches folder to view it.
  • Then, use the move/copy option (right-click -> move/copy) to rotate the object by 30 degrees from the center and pull the blade's drawing surface by selecting the operation as join.
  • Repeat the same steps for the other half, using the move/copy option to mirror it.
  • Currently, we have two separate bodies of the propeller, which can be combined using the combine option.
  • After the basic propeller is ready, make a few aesthetic changes using the draw and press-pull options.
  • Once satisfied with the propeller, move the propeller body inside the fan cover.
  • Then I designed this structures for screwing the fan.

Fusion 360 Materials & Colors

60.png
61.png
62.png
63.png
64.png
  • By right-clicking, we can access the Appearance option, where we can find various types of materials and colors. We can either use the pre-downloaded default options or click on the download icon to acquire new ones.
  • To apply a color or material to an object, simply drag and drop it onto the object.
  • If we double-click on the applied material, we can adjust properties such as color, texture, and more to achieve the desired results.
  • Instead of applying the material to the entire body, we can select a specific surface and apply the material to that particular area.
  • Experimenting with these options will help us achieve satisfactory outcomes.

Importing Raspberry Pi 3D Model(STEP File)

65.png
66.png
67.png
  • I have already uploaded the STEP file of the Raspberry Pi to my Fusion360 directory. If you have found any other 3D model (STEP file), please do the same.
  • Now, save the current project, right-click on the file, and select the "Insert into current design" option to position the imported object.

Importing 3D Mesh Models

68.png
69.png
70.png
71.png
72.png
74.png
73.png
75.png
76.png
77.png
78.png
79.png

To incorporate a mesh object into our design, we need to import the mesh file. I have a camera module and its lens as a mesh file that I want to use in this design. To do this, follow these steps:

  1. Insert the mesh file and position it in the desired location.
  2. Click on the "Mesh" option in the top bar to go to the Mesh section.
  3. In the Mesh section, you will find a feature to convert the mesh body to a solid body. Use this feature.
  4. Right-click on the main folder on the left and select the "Do Not Capture Design History" option.
  5. We are doing this because the mesh solid bodies have many triangular patterns that need to be cleaned, and capturing them in the design history would add unnecessary steps.
  6. Select the triangles on the plane surfaces and delete them.
  7. Note that this process may take some time to complete, so please be patient.
  8. It is important to only delete triangular meshes from flat surfaces to avoid deforming the shape of the object.
  9. After completing the previous steps, apply colors and materials to the objects.

We are almost ready to start designing the camera enclosure, but first, let's perform these necessary steps.

Design Screws

80.png
81.png
82.png
83.png
84.png
85.png
  • Using the "Create Sketch" and "Press Pull" tools, I created two cylindrical shapes resembling screws.
  • I applied a fillet to round the edges on the top portion.
  • Next, I utilized the "Thread" option to add screw threads, making sure to check the "Modeled" option and experiment with the "Full Length" option.
  • With these steps, I successfully created three screws of different sizes: 3x30mm, 3x20mm, and 2.5x6mm.
  • I can now copy and paste these screws as needed for various purposes.

Designing Basic Case

86.png
87.png
88.png
89.png
90.png
91.png
92.png
93.png
  • First, draw a center rectangle on the display's front surface, with dimensions identical to the display but with an additional 2mm offset on all sides.
  • You can directly use fillet in our 2D drawing.
  • Next, pull the drawing by 55mm.
  • To mount the display on the case, I used the draw and press-pull method with the fillet option to design structures on all four corners, allowing me to mount the display using M2.5 screws.

Embedding Port Slots

ports.gif
94.png
95.png
96.png
97.png
98.png
99.png
pins.gif
100.png
101.png
  • Now, we need to provision access to the ports and pins.
  • To accomplish this, utilize the drawing, pressing, and pulling features.
  • Observe how I achieved it.
  • Note that I am using the Raspberry Pi as a reference for drawing, pressing, and pulling.

Splitting the Body

103.png
104.png
105.png
106.png
107.png
108.png
109.png
110.png
111.png
  • In this step, we are going to use the Split feature to separate a single body into two halves.
  • Draw a line on the surface where you want to make the cut.
  • Next, select the Split Body option and choose the body you want to split, as well as the line we drew as the splitting tool.
  • After the split, I made a few modifications for a better structure.
  • Additionally, attach this knob so that we can ensure the new design components do not conflict with this element.

Providing Component Slots

112.png
113.png
114.png
115.png
116.png
117.png
118.png
119.png
120.png
  • Now, I closed the open surface of the base panel with a 2mm wall.
  • Then, I drew the approximate size on the same surface for the Raspberry Pi HQ Cam module and pressed it in such a way that the HQ module can be mounted to the base panel.
  • Also design the structure for putting metal inserts to put the fan with M2 20mm screws, use fan as reference.
  • On the other side, towards the fan exhaust, I cut an opening to allow air to escape from the enclosure, using the fan as a reference.

Model Analysis

121.png
122.png
123.png
124.png
125.png
126.png
  • In this step, we are going to organize various bodies and components by grouping them in a folder. This allows us to easily view or hide all the grouped components with just one click.
  • To do that, follow these steps: right-click on the project directory, select the bodies you want to group, right-click again, choose "Move to Group," and select the desired group.
  • In Fusion 360, we have a feature called section analysis, which enables us to view hidden parts of our design and inspect it thoroughly.
  • Additionally, there is a measurement feature that allows us to measure different parameters such as length, radius, diameter, and angle.

Screw Fit

129.png
127.png
128.png
130.png
131.png
132.png
133.png
134.png
135.png
  • Now it's time to put both enclosure pieces together. I have designed this screwing mechanism to join the components. Simply utilize the same basic features: draw, press, and pull.

Snap Fit

136.png
138.png
139.png
140.png
141.png
142.png
143.png
144.png
145.png
146.png
  • Since we didn't have room for the 4th screw I desisted to use snap mechanism to lock the two Pieses together.
  • In this case, I utilized two new features in Fusion 360 called chamfer and combine. With combine we can either cut one body into another or just join(combine) two bodies together.
  • You can follow snap fit tutorial to use it in your projects.

How Can We Eliminate Support When 3D Printing

147.png
148.png
149.png
150.png
151.png
152.png
  • By performing a section analysis, we can observe that there are several surfaces with overhangs.
  • Consequently, during 3D printing, it becomes necessary to utilize supports to prevent deformation.
  • However, by incorporating a 45-degree chamfer, we can eliminate the need for supports.
  • This approach not only allows us to save on material but also eliminates the challenge of removing supports from inaccessible areas.

Final Touchup

Untitled video - Made with Clipchamp.gif
153.png
154.png
155.png
156.png
157.png
  • Finally I just put the materials to remaining components and placed screws and inserts in their respective positions.


STL Export:

  1. Select the component or body you want to export as an STL file. If you want to export the entire design, make sure nothing is selected.
  2. Click on the "File" menu in the top-left corner of the Fusion 360 window or just right click.
  3. Choose the "Export" option from the drop-down menu, and then select "CAD Format."
  4. In the export dialog box, choose "STL" as the file format.
  5. Specify the desired export options such as units, refinement, and mesh density. Adjust these settings based on your specific requirements.
  6. Provide a name and choose a location on your computer where you want to save the STL file.
  7. Click on the "OK" button to start the export process.

3D Printing

DSC01072.JPG
DSC01073.JPG
DSC01074.JPG
DSC01076.JPG
158.png
160.png
159.png
161.png
162.png
  • After exporting the stl files open them in Cura software, slice them and 3D print them.

Or

  • My stl files:
  1. FrontPannel.stl
  2. BasePannel.stl


You don't have 3D Printer? Not to worry!

Here I would recommend getting it done from PCBWAY

Why them? They provide the best 3D Printing Service and The quality is just amazing compared to other providers in the market

Its definitely the right time to use their service as they are raining offers due to 9th-anniversary check offers here https://www.pcbway.com/activity/anniversary9sales.html

Free coupons, Anniversary sales, and blind boxes are live, Checkout the free coupons they are offering upto 200$

Don't miss to check their blind boxes, with this game you can try your luck by participating in their lucky draw.

How to play? Just click here and open any of the boxes! also, earn coupons by sharing the links with your friends, refer the last visual of this step for the same

Get your 3D Printed parts from here https://www.pcbway.com/rapid-prototyping/

Assembly Part-1

DSC01105.JPG
DSC01108.JPG
DSC01109.JPG
DSC01113.JPG
  • Put the display into front panel with M2.5 Screws.
  • Install the Raspberry Pi Operating System on to SD card using Raspberry Pi Imager Software and insert it into Raspberry Pi.
  • I am using Raspberry Pi OS(32-bit) Recommended by the software.
  • Then put Raspberry pi onto the screen using screws and connect the display cable that came in the box.

How to Use Metal Inserts in 3D Printed Parts

Untitled video - Made with Clipchamp.gif
DSC01110.JPG
DSC01111.JPG
DSC01112.JPG
DSC01116.JPG
  • This step should be done before(Step 20) we installed display and raspberry pi.
  • Using soldering iron I heated the metal inserts and inserted them into my 3D prints.

Assembly Part-2

DSC01120.JPG
DSC01118.JPG
DSC01123.JPG
DSC01126.JPG
DSC01128.JPG
  • Fix the Camera module and fan in their places using M2.5 screws and M3 screws.
  • Connect the camera cable from outside and tuck it inside.

Circuit Connections

TOUCH.png
DSC01134.JPG
  • Make the connections as shown for touch sensor input and powering the fan.

Assembly Part-3

DSC01135.JPG
DSC01137.JPG
DSC01138.JPG
DSC01140.JPG
DSC01145.JPG
DSC01143.JPG
DSC01146.JPG
DSC01148.JPG
DSC01149.JPG
  • I have used no masking tape to put the sensor.
  • Now assemble everything together using M3 screws and connect the wires.
  • There is a error of 2mm in the design because of which I have to adjust the Ports opening by trimming the plastic. But don't worry for you I have fixed this error in My stl files download from step19.

Software Setup

  • Copy the below code into Raspberry Pi and save it as Any_File_Name.py
  • Open the code in Geany and run it.
  • If you get any error it might be because of picamera python package not installed, to solve this put the following command in terminal.
pip install picamera
  • Now you can run the code successfully.
  • The functionality of this code is when we run it will start camera preview and when we touch the sensor it will capture the photo and save it to the same directory as the python code.
import RPi.GPIO as GPIO
import time
from picamera import PiCamera


# Set the GPIO mode to BCM
GPIO.setmode(GPIO.BCM)


# Set up GPIO pin 21 as input
GPIO.setup(21, GPIO.IN)


# Create an instance of the PiCamera
camera = PiCamera()


def capture_picture():
    # Get the current timestamp for the picture filename
    timestamp = time.strftime("%Y%m%d%H%M%S")
    image_filename = f"picture_{timestamp}.jpg"
    
    # Capture the picture
    camera.capture(image_filename)
    print(f"Picture captured: {image_filename}")


try:
    # Start the camera preview
    camera.start_preview()


    while True:
        # Check if GPIO pin 21 is high
        if GPIO.input(21) == GPIO.HIGH:
            # Call the capture_picture function
            capture_picture()


        # Add a small delay to avoid excessive checking
        time.sleep(0.1)


except KeyboardInterrupt:
    # Stop the camera preview
    camera.stop_preview()


    # Clean up GPIO on program exit
    GPIO.cleanup()


  • I would personally recommend you to use the software from My Previous Pi Cam - a Remote Raspberry Pi Desktop/Camera/Server
  • Follow the instructions from Step 8 of the Pi Cam to set the remote.it platform on raspberry pi for remote access.
  • With this software setup you would be able to access your Raspberry Pi and its camera remotely from any desktop and handhelds, you can also access the camera interface directly from bowser and photos, videos, timelapse directly to your device this makes everything easy and hassle-free, no codes and no further commands.
  • Just after setting up the software bookmark localhost:80 into your Raspberry Pi's Browser and run the browser in full screen mode by clicking the 3dots on right hand side corner.

Conclusion

ezgif-5-50a5d0b8e354.gif
im_0030_20230702_172625.jpg
im_0025_20230702_172211.jpg
im_0024_20230702_172118.jpg
im_0010_20230702_171239.jpg
im_0005_20230702_170639.jpg
im_0020_20230702_171932.jpg
im_0002_20230702_170520.jpg

I hope you found this tutorial help full, if so please let me know below in the comments. If you have any questions or suggestion please feel free to drop down below and also if you made Touch Cam for your self just showcase in the below I Made It! section.


Thank You!

See you with another project ;)