Hi! My name is Anderson, and I am a rising senior at Lowell High School of San Francisco. As we are approaching the technology age, engineers are becoming more valuable. I have always had a passion for building things since I was young and would often play with legos all day and night. I have always thought of engineering as a career I am interested in and when Robin and Fred came to my school to talk about BlueStamp, I saw an opportunity to try my hands at engineering. Since I already have experience in coding, I wanted to get in touch with the hardware side of things and find a point where they diverge. That is the ideal career I want. So far, my experience at BlueStamp has been beyond my expectations. This environment is truly special because we have many great instructors who want to help us become the best we can be and I am also surrounded by other students who want to learn.
By doing my starter project, I learned the basics of engineering such as soldering/desoldering, the functions of various components, and the amount of effort it takes to finish a project. After struggling for a week trying to complete it, I definitely learned a lot more than I would have if everything went smoothly. I am taking everything I learned from the starter project and applying it to my main project which is the Raspberry Pi Camera. I have never worked with a Raspberry Pi before so this will be a fun. So far, BlueStamp has not disappointed me.
After finishing the program, I left with new found knowledge that will stay with me long after high school. Bluestamp Engineering has taught me how to think critically about how to solve tough situations. The key to solving problems is perserverance. If I work hard and put time into doing something, I will eventually achieve it. Every speaker, instructor, and student that attended this program has devoted their time towards their projects and has had success in them. Although BlueStamp Engineering was only a 6 week program, I felt that I have learned many more important life lessons here than I have at school, which is why this program is so valuable. Thank you BlueStamp Engineering for inspiring me to pursue my dream of becoming an engineer and I will make that dream into a reality.
I present you the Raspberry Pi Camera
The Final Video
So this is my completed intensive project for BlueStamp Engineering. It is a camera that uses a Raspberry Pi mini computer that runs on Linux. It allows me to install various programs to allow it to take pictures. I spent my six weeks here at BlueStamp working on this camera and ran into various problems along the way but finally ended up with a working product! Below is me demo-ing the camera and showing how it works.
Bill of Materials (BOM)
These are the parts that I used to complete this Raspberry Pi Camera:
|Item #||Description||Vendor||Part Number||Qty||Cost||Link for Purchase|
|1||Raspberry Pi Camera||Adafruit||1367||1||$29.95||Here|
|2||Raspberry Pi 2 Model B||Adafruit||2358||1||$39.95||Here|
|3||PiTFT -- Assembled 320x240 2.8″ TFT+Touchscreen||Adafruit||1601||1||$34.95||Here|
|4||Low-profile microSD card adapter for Raspberry Pi||Adafruit||966||1||$2.50||Here|
|5||Miniature WiFi (802.11b/g/n) Module||Adafruit||814||1||$11.95||Here|
|6||Kingston SDC4/8GB 8GB microSDHC||Amazon||N/A||1||$5.62||Here|
|7||USB Battery Pack for Raspberry Pi -- 4400mAh -- 5V @ 1A||Adafruit||1565||1||$24.95||Here|
|8||Raspberry Pi NoIR Camera Board||Adafruit||1567||1||$29.95||Here|
|9||5V Boost convertor||Adafruit||1903||1||$9.95||Here|
|10||Raspberry Pi 1 Model B||Adafruit||998||1||$39.95||Here|
|12||PIR (motion) sensor||Adafruit||189||1||$9.95||Here|
|13||3D Printed Case||Thingiverse||N/A||1||N/A||Here|
Technical Difficulties Part 2…
After fully completing my camera by the 4th week at BlueStamp, I wanted to add other features such as timelapse and even motion detection. I tried various tutorials online but they were posted years ago and I am using the latest version of Raspbian so it could have caused compatibility issues. I spent a majority of my 5th and 6th week trying to get the sensors to detect movement and take a picture. Unfortunately, I did not get it to work on time for the demo but it is definitely something I would try to get working in the future.
This is a PIR sensor which detects motion by using Infared. I tried to incorporate it into my project but could not do so because the version of Raspbian I am using it too new.
All 16 Camera Filters
Here is a normal picture of the Super Monkey Ball video game box:
Here are the 16 different filters that came with the camera program that I installed. Some of them look similar but they are indeed different.
There is a bug with the filters. When I try to switch filters, it seems to retain the memory of the last filter and merges it with the new filter which causes some color issues. I have to restart the camera if I want to switch filters.
Milestone #2: Adding the New Parts and Modulations
I have received new parts to add to my camera. This includes a smaller battery that will fit between the LCD screen and Raspberry Pi. This also meant that I needed to also get a 5V convertor to provide the Pi enough power to turn on. I have also received a NOIR camera which allows me to take pictures at night. It uses Infared to take the pictures and I can swap it out with the normal camera on the Raspberry Pi. I had to make some adjustment to the Pi in order for everything to fit inside of it. I had to remove the audio jack and HDMI port take make enough space. I also had to remove one of the serial cable connectors on the Pi that I was not using because it was taking up unnecessary space. Now the only part I am missing is the encasement and after that, I should be ready to rock and roll!
Here is the LiPo battery attached to the 5V converter. I will put this inside of my camera to power it up.
When I first read through the instructions, I thought in my head, “Well this doesn’t look too bad to do, I’ll get this done is no time!” I was wrong. Very very wrong. Since I did not have an extra monitor and keyboard to use at BlueStamp, I had to learn how to access my Raspberry Pi remotely by SSHing into it. SHH stands for Secure Shell and allows us to access a computer remotely as long as we know its IP address. I used a program called Putty to SSH into the Pi. After learning how it works, I was able to access the Pi with no issues and could continue building the camera… but I was faced with another obstacle that I spent a week on.
My PiTFT screen would not work at all and would just be stuck on a white screen no matter what I did. I did not keep track of how many times I had to reimage the SD card but it was definitely over 15 times. Each time I reimaged, it was to try out a different OS or try to install previous versions of the OS because someone from the 2014 BSE program got the camera working. This led me seeking help from forums from the RasPi, Adafruit, and even Reddit. I tried all of the methods that I were suggested and made some post of my own to see for help.
After testing every possible solution, I came to the conclusion that it was a hardware problem and that either the Pi or the screen was broken. The Pi was not broken because I borrored my teacher Brendan’s Pi to see if it would work. I still got the same problem as before so now I needed to test the screen. Brendon fortunately had an extra screen of the same model for me and I tried that. After doing the tutorial with the new screen, everything went smoothly like it’s supposed to and I got the camera up and running in no time! Big thanks to Brendan for having all of these extra parts in his backpack!
Although it was a hardware issue (just like the starter project), I think I learned a lot about troubleshooting and that nothing will always go according to plan and you must try out all the possible solutions. The week of sleepless nights staying up trying to get the screen to work was definitely worth it when the camera took it first picture:
Milestone #1: Setting the Raspberry Pi Up and have Pictures Sync with Dropbox
After struggling to get this to work for a week and a half, I finally finished the main parts of my project!
To use the camera, you simply just tap the screen and the rest it done for you. You can choose where to save the photo in the options. You can save them on the SD card or Dropbox.
Raspberry Pi Camera: Let’s Get Started
We will begin by installing the necessary kernals that allow us to install the camera app for the Raspberry Pi. This means that we need internet connection so you must connect via ethernet or set up the wireless dongle. Here is the tutorial for that
After getting the internet set up, you need to install an image of the Raspbian operating system onto an SD card 4GB or higher. For my pi, I used an 8GB. This is the guide for installing the image. There are multiple ways to do it and multiple operating systems but Raspbian is the most user friendly to people new to Linux.
If you have a spare monitor and keyboard, I recommend you use that to configure your pi to the correct settings instead of using Putty to SSH into it. I tried both methods and I definitely prefer to use the monitor and keyboard so if you have any to spare, use it. Hook them up to your RasPi and you should see a bunch of text on the screen. It is just booting the device, your pi isn’t crazy! If you do not see any text on your screen…
1) Make sure your Pi is powered
2) Your pi is broken
3) Your pi is haunted
Hopefully everything went well and you should be at a blue screen. This is your config area and you can access it anytime from the command line by typing “sudo raspi-config”
The two most important things you should do it expand the filesystem because it will optimize the spacing on your SD card and enable the camera. Every other option is up to you if you want to change. If you are using a monitor, I highly recommend changing it to your keyboard type because it uses the UK keyboard so the keys might not be where you think they are. In my case, my tilde key was in the forward slash key area. After you finish editing all your options to your liking, click finish and reboot the system.
You will then be prompted to a login screen. By default the username is “pi” and the password is “raspberry”
After logging in, follow the tutorial and install the various programs and kernals necessary for the camera and you will have it up and running in no time!
Raspberry Pi: Camera Parts and their Functions
Raspberry Pi 2 Model B -- Is the computer that you can install programs on and write code to make it what you want. In my case, become a camera.
2.8″ Adafruit PiTFT Touchscreen -- Serves as he touchscreen and allows us to use it as a monitor to use the command line with in order to install scripts and modules
Portable Battery -- Powers your device and allows you to take it on the go
Raspberry Pi Camera: In order to take pictures and videos.
3D Printed Raspberry Pi Case -- To protect your RPi and makes the design look nicer.
Instructions for Raspberry Pi Camera
This is the tutorial I followed to get the camera to work. The instructions are fairly simple so much sure you read carefully and not make careless errors!
THe Main Project: Raspberry Pi Camera
So what in the world is a Raspberry Pi? I learned that it is not food but actually a small little computer that is used as a tool to teach people how to code.
This is what we will install the camera program on.
Struggles during the Starter Project and What I Learned
I had many problems doing this project. I did not know that resistors were different depending on the colored stripes. I thought those were there for decoration and that they all were identical. I was wrong. Very wrong. But I realized my mistake too late, I had already soldered all of them on without paying attention to the stripes. The stripes tell us how much current it will allow to pass through. I had to learn it the hard way and desolder everything and learn what number each color corresponds to. Unfortunately, I had the same fate with the capacitors and put them all in the wrong places as well. I looked at the instructions one more time and realized it labeled where to put each component. It was a good lesson learned and I will not make the same mistake again.
Another problem I had was putting in both LEDs the wrong way. I will always remember the positive end being the longer lead. After soldering everything on correctly, I ran into another problem; my speakers were not functioning. I had to borrow my friend Ed’s speakers to see if my speakers were broken. Turns out my speakers were broken because Ed’s worked like a charm. Fred got me new speakers and after soldering those on, I had a working Voice Changer!
By doing this project, I learned the different functions of each component that went into building and learned valuable skills such as soldering/desoldering, reading a multimeter, and reading a schematic. This was the first time that I have worked on anything engineering related and will use all the knowledge I have gained and apply it to my main project, the RaspPi Camera.
The Voice Changer: How it Works
After flipping the switch on, the 9V battery powers the circuit by passing the voltage through the resistors which then pass it to the diode. Since the diode is pushing the current in the forward direction only, it pass the current to the LED and the IC. The IC then powers all the main features of the device such as the microphone and speakers. The power is stored in capacitors and will be used when you talk into the microphone or adjust the potentiometer.
You have 4 options: robot, high pitch, low pitch, and vibrato and can choose by pressing the corresponding button. You then talk into the microphone and magic! Your voice is now modulated! Make sure your speakers are far away from your microphone or else the sound coming from the speakers will be picked up by the microphone and will make a terrible noise because of the echo. You can adjust the amount of sound the mic receives by adjusting the potentiometer. You must use a screwdriver to adjust the potentiometer.
More Information: Components and their Functions
Resistors -- Controls the amount of current that flows through an area on the PCB. This is important because certain components such as LEDs only require a small amount of current to light up. Providing more can overload the circuit and possibly dammage it.
Diodes -- It only allows current to flow in one direction. Zenerdiodes (the one I’m using in my project) are a special type. Although it allows current to flow in one direction, if too much voltage is being let through, it will push some of it backwards so it doesn’t use too much energy. LEDs or light emitting diodes are useful to use because it indicated whether or not their is current going to that area and they also look cool!
Capacitors -- It stores energy and will use it when it needs to. This is used to create quick bursts of energy to provide power quickly to other components or devices. They are used a lot in cars and allows your electronics to recharge quickly.
Potentiometers -- It is a special type of resistor that is adjustable to allow a person to control the amount of current flowing to an area. This is how you are able to adjust the speaker volume. The knob is a potentiometer!
Switches -- blocks or allows current through to power the device.
Integrated Circuits -- ICs are extremely useful because it connects all the other components on your board together. It is a very important component in most electronic devices.
Instructions and Schematic: Where do I begin?
These are the instructions and the schematic I used for the Voice Changer.
Starting the Starter Project: What’s Inside?
When I first opened the kit, I sat there not knowing where to begin. I looked at the instruction for the longest time trying to understand what it was telling me. After looking through all the instructions, it didn’t seem as bad so I tried my luck soldering all the components on.
The components include:
2x Integrated Circuits
1x wires that connect to the battery
I will go over each component later and their various functions.
Picking the Starter Project: Velleman’s Voice Changer
For my starter project, I wanted to make a device that would be a good introduction to engineering and would also be fun to use. I decided to create a device that modifies voices to one of four options: Vibrato, Low Pitch, High Pitch, or Robotic. The Voice Changer made by Velleman was the project that I decided to do. The item can be purchased here