Screaming Potato

by guusto in Circuits > Arduino

2397 Views, 18 Favorites, 0 Comments

Screaming Potato

assemble1.jpeg
assemble4.jpeg
topview3.jpeg

This instructable will teach you how to make any potato come alive, talk and scream for its live. If you ever wanted to surprise your friends and family with a vegetable that doesn't want to be eaten, if you ever wanted to understand what a potato feels when it is about to be cooked, then this project is for you!

Our inspiration
When we were brainstorming ideas for the potato challenge, we realized that all our thoughts circled around what we would do to the potato, but we never thought about what the potato would think about our actions. In other words, we realized that as humans we never put ourselves in a potatoes' shoes and thus we have never been able to comprehend a potatoes experience - until now. We immediately realized, that this potato-human experience gap is a big problem, so we decided to take action.

Our goal for this project was to build an electronic device, the so called Potato Soul, that upon being inserted into a potato would make the potato communicate in human language in response to human actions, thus making it human-relatable and closing the potato-human experience gap.

A potato with a Potato Soul is able to see a human by sensing infrared light and ask the human to leave it alone. The potato will ask again and again, until its wish is fulfilled. If some maniac decides to cut the poor potato, the Potato Soul will enable it to feel the pain by sensing the cut with an inductive sensor - and expressing it via a horrifying screech.

During writing of this instructable, we put a lot of focus on the Design & Concept part - this will allow the reader to follow our design and problem solving process and understand why and how we made specific decisions.

The code for this project is Open Source- you are welcome to contribute!

About us:
This project was done by two people, my friend haraldar and me, guusto. We were physically separated during the entire project, which was a very big challenge in itself. The most credit definitely goes to haraldar - he was responsible for the circuit design, circuit wiring, programming, final design and printing of the 3D parts, assembly, and sourcing of all parts (that included taking apart his speakers and an old radio - we had malfunctions and didn't have time to reorder components online). My contribution was the initial idea and concept, finding a quick way to preparate the potatoes and the Instructable. We developed main design concepts and made important design choices together.

Supplies

Tools:

  • Soldering iron
  • Solder wire
  • 3D-printer
  • Multimeter

Materials:

  • Medium to large sized potato or sweet potato
  • Arduino Nano Rev. 3 with soldered pins
  • LJ18 A3-8-Z Inductive sensor
  • (2x) AM312 Micro PIR Motion Detection Sensor
  • Small loudspeaker (We harvested ours from cheap speakers)
  • 9V battery
  • Jumper cables

Design and Concept

concept_1.jpeg
concept_2.jpeg

The idea behind this project is very simple: Imagine a potato that reacts and screams when someone tries to cut it. This exact image was our starting point (Image 1.1).
From here, we started to think about how this functionality could be implemented. We needed an electronic device inside the potato that would sense human presence, metal objects and also produce sound. (Image 1.2).

Upon further consideration, we developed the following objectives that this device would have to fulfill:

  1. The device must make a potato appear human by talking and screaming in response to certain actions.
  2. The device must be small enough to fit into most potatoes.
  3. The device must be self-encompassed and quickly insertable into any potato with little preparation.

Naturally, these objectives arrived with questions or rather problems that we had to solve, namely:

  1. What is the simplest and most cost efficient way to achieve our desired functionality?
  2. How can we minimize the size of the device?
  3. How can we make the potato preparation as quick and easy as possible?

In the next steps we will address these questions.

Design and Concept: Functionality Problem - Flow Chart

flowchart.png

To solve the functionality problem, we should first determine exactly what the device should do. The flow chart visualizes the logic of the Potato Soul.

Design and Concept: Functionality Problem - Input and Output

To solve this problem, we had to identify what sensors we needed, how the sensor data would be processed, and how we would generate speech and screaming. We decided to use the following architecture:


For our input we have:

  • Detection of human presence: PIR sensors. They can measure infrared light, such as body heat and thus would be perfect for human detection. They are simple to use and widely available. As a bonus, two micro PIR sensors look like eyes on the potato and make it appear more alive.
  • Detection of being cut: Inductive sensors. These sensors create a magnetic field and by using the principle of electromagnetic induction are able to detect metal objects within a short range. Such a sensor inside a potato will detect a metal knife cutting the potato.

For our output we have:

  • Producing human speech audio: Loudspeaker. A simple buzzer would not be sufficient, because it can only change frequency and thus wouldn't be able to reproduce a human voice.

With this and the flow chart in mind, it follows:

  • Processing the data: Arduino. As indicated in the flow chart in Step 2, the logic of our circuit is very basic and we also don't need any advanced computation on our inputs. This means that we won't need the processing power of a RaspBerry Pi - a regular microcontroller like the Arduino is the best fit.

So, we found that we can get by with two PIR sensors, one inductive sensor, a loudspeaker and an Arduino to create the desired functionality.

Design and Concept: Functionality Problem - Generating and Storing Speech

One thing isn't clear: How are we going to create human speech and screaming? We know how to play them, but how do we store them? There are two options:

  1. Record phrases and sounds and store them in some audio format on a SD card.
  2. Use a Text-to-speech program and store phrases in a text format, then generate speech on the fly.

While the first option offers a lot of freedom in terms of sounds that can be used, it requires interfacing with an additional SD card module. This takes up a lot of memory and may lead to problems when there are three other active sensors.

Furthermore, an additional module is pretty much the opposite of a minimal design. That's why we went with the second option: We used the open source text-to-speech library Talkie, that has audio codecs for a number of English words. These words take up much less space than an audio file, so we can easily store mutliple phrases on our Arduino without any SD card.

There are drawbacks nonetheless: The spoken words sound very strange (The included video demonstrates this), and there are relatively few words - so you may need to get creative with phrasing, if there isn't a word you need.

While the Talkie library contains a few hundred words and all the letters of the alphabet, it doesn't contain screams nor screeches. To make such a screech, we simply looked at existing words and modified their codecs to produce some truly horrifying sounds.

The last important thing to note here is that Talkie only works with ATMega168 or ATMega328 processor based Arduinos.

Design and Concept: Solving the Size Problem

hull2.png
hull3..png
hull4.png.png
hull5.png
hull6.png
hull7.png
hull8.png

To recap, we want to create a device that fits inside a potato. A potato is wet, so we need to encapsulate our device to protect the electronic components from water. Furthermore, the hull that should hold our components in place and be of the smallest possible size.


Now that we know what parts we need, we can think about a compact way to arrange them.The most effective and obvious step is picking the right Arduino. We chose a small, yet easy to work with and powerful Arduino - the Nano, which satisfies the Talkie library requirement, as it has an ATMega328 processor. This will save us a lot of space compared to an Arduino UNO!

The next step is to create a model of the device, with all components packed as tightly as possible. We did this step in TinkerCAD, because this allowed us to use existing models of electronic components in their correct dimensions and immediately export and print the shell when it was ready.

We designed a shell that would be put in a hollowed out potato. The shell was designed in a way to maximize the space inside a potato: A bottom-up boat-like structure with a curved top fits optimally into a hollow potato, while the rectangular bottom piece provides enough space and mounting options for all electronic components. Additional holes in the boat-like cap were used to act as "eye"- or sensor sockets.

The inductive sensor was placed diagonally to reduce space the neccessary height. Although its detection range is very short, its placement enables it to function properly: because the excavation in the potato is round, the potato wall thickness is minimal, thus allowing the inductive sensor to detect metal closer to the outside.

After placing the rectangular bottom piece down, the hollowed out potato with the boat-like cap inside is placed on top - and now everything is secure, fits perfectly and is not visible!

The final size of our device with capsule is around 8.5cm x 6cm x 5.5 cm (lenght x width x height). This won't fit small potatoes, but medium and large potatoes and sweet potatoes will work fine.

Design and Concept: Solving the Preparation Problem

The last problem to solve is the preparation of the potato. We wanted to make this process as simple and straightforward as possible. Our initial solution used a specialized excavation device, but we later realized that this only works for potatoes, but not for sweet potatoes - these are very hard inside and plastic excavators are either too thick to cut them or break if they are too thin.

Why would you even use a sweet potato? Well, sweet potatoes tend to be significantly larger, so if you have trouble finding a potato large enough for the Potato Soul, you should take a look at sweet potatoes.
So, our second approach was to develop an effective method to hollow out any potato, whether it is a sweet potato or a regular potato. The details are documented in one of the last steps.

Assembling the Circuit

circuit2.png
circuit1.png
circuit3.jpeg

Wire the Arduino Nano exactly like in the circuit diagram.

Programming the Arduino

Clone this repository: https://github.com/guusto/PotatoSoul.git.

Then, open the potato_soul.ino file it in the Arduino IDE. The code is very well documented, so simply read the comments and follow the instructions there.

Printing the Parts

topview2..jpeg
topview1.jpeg

Print the included .STL files. Our printer took more than 3 hours to produce each part.

Downloads

Preparing the Potato

p1.jpeg

Now that everything else is ready, its time to prepare the potato! The next steps will describe the efficient hollowing out technique we have developed just for this project.

Hollowing Out the Potato - Marking the Region

p3.jpeg
p2.jpeg

Mark the region where the Potato Soul will be inserted. This is the region that you'll have to hollow out.

Hollowing Out the Potato - Skinning and Removing the Top

p4.jpeg
p5.jpeg
p6.jpeg
p7.jpeg

Skin the marked region. Then, cut off the convex piece to flatten out the potato.

Hollowing Out the Potato - Make Incisions and Extract Pieces

p8.jpeg
p9.jpeg
p10.jpeg
p11.jpeg
p12.jpeg

Make multiple deep cuts into the potato. Then, insert the knife and wobble it, until you can extract a piece. You need to be careful, because putting too much pressure on the knife may break the potato. After the first piece, the remaining ones will be easy.

Remember to save the pieces! Don't throw out the pieces you cut out. Similarly, when you don't need a potato you prepared for the Potato Soul anymore, you can simply skin it, cut it and cook it.

Hollowing Out the Potato - Perfecting the Curve

p13.jpeg
p14.jpeg
p15.jpeg

Now stick a metal fork into the potato and peform the same wobbling motion to hollow th potato out deeper. Finally, use a sharp spoon to smoothen out the walls.

Preparing the Potato - Make Holes for Sensors

pat2.jpeg
pat3.jpeg

As the last step, create two holes for the PIR sensors and insert the lid into the potato. Now the potato Soul inhabits the potato!

Assembling the Potato Soul

assemble1.jpeg
assemble2.jpeg
assemble3.jpeg
assemble4.jpeg

We are almost done! Assemble all components in the bottom of the Potato Soul. Put the wires throuh the eye holes and attach the sensors to the wires - and that's it. Time to surprise your friends and family!

We'd love to hear your feedback on our project :)