Blueprint

AI Object Identifier

Using a Raspberry Pi and a Picamera and a LCD, this identifier can categorize objects using computer vision. Ex: When an orange is on the screen, it will say 'orange'.

Created by Shreemahor Sivakumar Shreemahor Sivakumar

Tier 5

296 views

3 followers

alexren alexren ⚡🚀 requested changes for AI Object Identifier ago

this project falls far below blueprint quality requirements. make something personal!

Tier: 5

CAN CAN ⚡🚀 submitted AI Object Identifier for ship review ago

Shreemahor Sivakumar Shreemahor Sivakumar submitted AI Object Identifier for ship review ago

alexren alexren ⚡🚀 requested changes for AI Object Identifier ago

hey there! returning this because the demo url is invalid - you can use the r/hack_club reddit if your account is blocked!

Tier: 5

CAN CAN ⚡🚀 submitted AI Object Identifier for ship review ago

Shreemahor Sivakumar Shreemahor Sivakumar submitted AI Object Identifier for ship review ago

Iamalive Iamalive 🚀 requested changes for AI Object Identifier ago

Nice work! Not sure why this might be in build review if this already got approved.. Maybe it's another project? If you can explain in the reviewer note that would be great :) Also, make sure to include the case model as a .step file, and also upload the code you used to make the project work!

Shreemahor Sivakumar Shreemahor Sivakumar submitted AI Object Identifier for ship review ago

Shreemahor Sivakumar Shreemahor Sivakumar added to the journal ago

Proof of Case

image

That is the case that I 3d printed for the camera. The cardboard sheet was not planned and its only purpose is to raise the case because without it, the camera would point too low. I could remove the cardboard and my project would work as normal, it's just that the vase I put to identify was a little tall, so I needed to raise the camera. I know the README picture blurs the case with the background and makes it seems like the cardboard is doing everything but that's not the case.

Also, my build design already got approved so I don't know why this is a design re-review, but here is the demo link again:
https://www.youtube.com/watch?v=Pz9O9dMEs10

PenguinMo PenguinMo requested changes for AI Object Identifier ago

you are still using cardboard and not a 3d printed case, please listen to the previous reviewer and make this change

Shreemahor Sivakumar Shreemahor Sivakumar submitted AI Object Identifier for ship review ago

zsharpminor zsharpminor requested changes for AI Object Identifier ago

I appreciate the clarification - but your README and product banner still show your stand made out of cardboard. You seem to have 3d printed a case for this containing a camera hole, but I do not see it on your model.

Shreemahor Sivakumar Shreemahor Sivakumar submitted AI Object Identifier for ship review ago

zsharpminor zsharpminor requested changes for AI Object Identifier ago

Hi! Unfortunately, your demo link seems to be broken - maybe try YouTube? :) Additionally, this seems to be a build review but your case doesn't seem to be 3d printed or match your design file!

Shreemahor Sivakumar Shreemahor Sivakumar submitted AI Object Identifier for ship review ago

technical_. technical_. requested changes for AI Object Identifier ago

Please include a final 3d render image of your case + electronics, and not just the components.
In addition, please put an actual image of your wiring diagram. All I see is a "1" in your wiringdiagram.png file.

Shreemahor Sivakumar Shreemahor Sivakumar submitted AI Object Identifier for ship review ago

Shaurya Bisht Shaurya Bisht requested changes for AI Object Identifier ago

should fix your demo link (maybe use youtube) and also add a wiring diagram

Shreemahor Sivakumar Shreemahor Sivakumar submitted AI Object Identifier for ship review ago

alexren alexren ⚡🚀 requested changes for AI Object Identifier ago

Hey there! I would go over the submission guidelines - your readme is empty!

Tier: 5

Shreemahor Sivakumar Shreemahor Sivakumar submitted AI Object Identifier for ship review ago

Shreemahor Sivakumar Shreemahor Sivakumar added to the journal ago

Finished Build

image

Smart AI Object Identifier 🤖

CAD Model

I printed out the case for the camera (the black encasing around it), but it did not fit perfectly, the CAD model was 100% correct with its dimensions but because the preciseness of the camera was so small (tenths of millimeters), the printer printed it slightly larger. I think this was because the filament itself also had thickness. Unfortunately since I used a commonly shared school printer, I can't edit the model and print again.

Solution

I just kept the back on for protection. The front was never a real fit, and the screw holes were too small, so it's just attached but not truly on. I also have some cardboard as a base and to add some reinforcement.

LCD configuration

This was not a part of the original plan, but it was an awesome addition

The LCD is a liquid screen display that says what has been detected.

Backside settings

image

The two pins that are free control backlight. I left them without a jumper pin for no backlight. The blue potentiometer can be adjusted for clarity of letters, I put it full clockwise - full clarity.

Connecting LCD

I needed to find its address with SDA and SCL to use it.

Commands

  • sudo raspi-config I adjusted it inside interface for I2C
  • i2cdetect -y 1 to check the addresses - empty meaning nothing was detected, if something appears it should be in 0x27 because thats for LCD

After using this and the RPLCD library in python I can control the LCD:
lcd = CharLCD(i2c_expander='PCF8574', address=0x27, port=1, cols=16, rows=2, dotsize=8)

Computer Vision model

This decides what each object is.
I used cv2 and tensorflow the most standard libraries and code for doing this. The model that I used was coco the tensorflow lite, it was meant for small devices like raspberry pis.

initially it was not working because the camera was upside down, but this fixed it:
cv2.flip(frame, 0)
So that it is normal for the camera.

Also, firstly it did not work, but it turns out I switched vcc and scl, so once I switched them back it worked.

Result

When the camera picks up something, it not only prints it out in the terminal but also displays it on the lcd. I found out the best region is not too close or too far. I also found that sometimes it got distracted by my background, so I put a brown box to sort of act like a green screen and provide a clean background.

Seeing it actually see what's in front of it and then put that out in the display is amazing!

CAN CAN ⚡🚀 approved AI Object Identifier ago

Tickets awarded: 67 tickets

Shreemahor Sivakumar Shreemahor Sivakumar submitted AI Object Identifier for ship review ago

Shreemahor Sivakumar Shreemahor Sivakumar added to the journal ago

Finished final descriptions, .md .csv

image.png

.md

I made many md files that presented an overview of the project and mistakes.
README.md starts with some installation and a summary of the project.
Assembly.md is all about assembly.
Failed.md is a summary of the errors in the old model.

.csv

This took some research to understand what part numbers are and what a .csv file really is. I spent some time looking at my materials deeper.

Final touches on model

I reflected on the old model from journal entry 1 and 2. I ensure the new model had no conflicting sides and was fully constrained. I also finally inspected it from all sides and took pictures.

Shreemahor Sivakumar Shreemahor Sivakumar added to the journal ago

Finalized Design & Fastening

final_camera.png

Finalized Design

Issue

There were screw bosses that I put on and didn't know much about. Now I know that it is supposed to help screws but I put it on wrong. I also put the radius of the holes wrong because I didn't know what I was going to do. I spent a long time trying different things to fix it but nothing worked

Research

I measured my camera more and compared options. I measured things like the radius of the lense, border, and center more carefully. I evaluated which fastening method to use I considered connectors, coppers, and self-tapping screws, but I decided on M210 Philips Screw* and M2 Nuts on the ends to secure.
nuts_and_bolts.png

Fix

I needed to change the size of holes (except the ribbon cable channel). I removed the bosses and realized that this is enough.

Shreemahor Sivakumar Shreemahor Sivakumar added to the journal ago

Finished Camera's Case CAD

finished-camera.png

Progress

Learning

I needed to learn lots of new parts of FreeCAD like:
- Chamfers
- fillets
- thick solids
Many function created hassles by giving errors. I needed to go back and read how to use them and correct these errors.

Parts of Camera

Front

Has chamfered hole for camera lens and holes for screws and bosses (but these are not finalized). Front facing part of camera, measured to accuracy.

Main body

Has a coin-like slot for the camera cable. Very box-like because its a thick solid.

Future

Securing Mechanism must be fixed. Its unclear if the screws, bolts, and bosses will work with the model.

Shreemahor Sivakumar Shreemahor Sivakumar added to the journal ago

Firstly, started making CAD

camera-CAD.png

Making a CAD for the Camera first

Research

I know I need a Raspberry Pi, Picamera, and some software. My biggest problem is that my Picamera is in a cardboard box and needs to be upgraded, so I plan to 3d print a new case for it.

CAD

Right now it is in a loose cardboard case and that must be fixed. I am going to be using FreeCAD for making CAD designs.

I have just started making a hole for the front side of the camera, but it seems that its structure is far more complex than what I first thought. I am going to upskill in FreeCAD and finish the CAD for the camera.

Shreemahor Sivakumar Shreemahor Sivakumar started AI Object Identifier ago

10/7/2025 9 AM - Firstly, started making CAD

camera-CAD.png

Making a CAD for the Camera first

Research

I know I need a Raspberry Pi, Picamera, and some software. My biggest problem is that my Picamera is in a cardboard box and needs to be upgraded, so I plan to 3d print a new case for it.

CAD

Right now it is in a loose cardboard case and that must be fixed. I am going to be using FreeCAD for making CAD designs.

I have just started making a hole for the front side of the camera, but it seems that its structure is far more complex than what I first thought. I am going to upskill in FreeCAD and finish the CAD for the camera.

10/7/2025 1 PM - Finished Camera's Case CAD

finished-camera.png

Progress

Learning

I needed to learn lots of new parts of FreeCAD like:
- Chamfers
- fillets
- thick solids
Many function created hassles by giving errors. I needed to go back and read how to use them and correct these errors.

Parts of Camera

Front

Has chamfered hole for camera lens and holes for screws and bosses (but these are not finalized). Front facing part of camera, measured to accuracy.

Main body

Has a coin-like slot for the camera cable. Very box-like because its a thick solid.

Future

Securing Mechanism must be fixed. Its unclear if the screws, bolts, and bosses will work with the model.

10/7/2025 5 PM - Finalized Design & Fastening

final_camera.png

Finalized Design

Issue

There were screw bosses that I put on and didn't know much about. Now I know that it is supposed to help screws but I put it on wrong. I also put the radius of the holes wrong because I didn't know what I was going to do. I spent a long time trying different things to fix it but nothing worked

Research

I measured my camera more and compared options. I measured things like the radius of the lense, border, and center more carefully. I evaluated which fastening method to use I considered connectors, coppers, and self-tapping screws, but I decided on M210 Philips Screw* and M2 Nuts on the ends to secure.
nuts_and_bolts.png

Fix

I needed to change the size of holes (except the ribbon cable channel). I removed the bosses and realized that this is enough.

10/7/2025 9 PM - Finished final descriptions, .md .csv

image.png

.md

I made many md files that presented an overview of the project and mistakes.
README.md starts with some installation and a summary of the project.
Assembly.md is all about assembly.
Failed.md is a summary of the errors in the old model.

.csv

This took some research to understand what part numbers are and what a .csv file really is. I spent some time looking at my materials deeper.

Final touches on model

I reflected on the old model from journal entry 1 and 2. I ensure the new model had no conflicting sides and was fully constrained. I also finally inspected it from all sides and took pictures.

12/20/2025 - Finished Build

image

Smart AI Object Identifier 🤖

CAD Model

I printed out the case for the camera (the black encasing around it), but it did not fit perfectly, the CAD model was 100% correct with its dimensions but because the preciseness of the camera was so small (tenths of millimeters), the printer printed it slightly larger. I think this was because the filament itself also had thickness. Unfortunately since I used a commonly shared school printer, I can't edit the model and print again.

Solution

I just kept the back on for protection. The front was never a real fit, and the screw holes were too small, so it's just attached but not truly on. I also have some cardboard as a base and to add some reinforcement.

LCD configuration

This was not a part of the original plan, but it was an awesome addition

The LCD is a liquid screen display that says what has been detected.

Backside settings

image

The two pins that are free control backlight. I left them without a jumper pin for no backlight. The blue potentiometer can be adjusted for clarity of letters, I put it full clockwise - full clarity.

Connecting LCD

I needed to find its address with SDA and SCL to use it.

Commands

  • sudo raspi-config I adjusted it inside interface for I2C
  • i2cdetect -y 1 to check the addresses - empty meaning nothing was detected, if something appears it should be in 0x27 because thats for LCD

After using this and the RPLCD library in python I can control the LCD:
lcd = CharLCD(i2c_expander='PCF8574', address=0x27, port=1, cols=16, rows=2, dotsize=8)

Computer Vision model

This decides what each object is.
I used cv2 and tensorflow the most standard libraries and code for doing this. The model that I used was coco the tensorflow lite, it was meant for small devices like raspberry pis.

initially it was not working because the camera was upside down, but this fixed it:
cv2.flip(frame, 0)
So that it is normal for the camera.

Also, firstly it did not work, but it turns out I switched vcc and scl, so once I switched them back it worked.

Result

When the camera picks up something, it not only prints it out in the terminal but also displays it on the lcd. I found out the best region is not too close or too far. I also found that sometimes it got distracted by my background, so I put a brown box to sort of act like a green screen and provide a clean background.

Seeing it actually see what's in front of it and then put that out in the display is amazing!

1/19/2026 - Proof of Case

image

That is the case that I 3d printed for the camera. The cardboard sheet was not planned and its only purpose is to raise the case because without it, the camera would point too low. I could remove the cardboard and my project would work as normal, it's just that the vase I put to identify was a little tall, so I needed to raise the camera. I know the README picture blurs the case with the background and makes it seems like the cardboard is doing everything but that's not the case.

Also, my build design already got approved so I don't know why this is a design re-review, but here is the demo link again:
https://www.youtube.com/watch?v=Pz9O9dMEs10