Final Project Documentation Questions 1-3


Document a final project masterpiece that integrates the range of units covered, answering:

1. What does it do?


This is a ball jointed doll that incorporates a brain system in the head portion of the doll. The doll includes a variety of input devices such as touch sensors, magnetic sensors, microphone, an accelerometer, etc. The doll also includes a variety of output devices such as an LCD/OLED screen and a speaker. With the combination of these sensors and devices alongside a custom virtual assistant setup, my traditional art doll becomes a true desk buddy who can sit, stand, and interact with myself and the world around her.

2. Who's done what beforehand?


Articulated dolls have been around since 200BCE. The modern ball jointed doll was popularized in the 19th century. The modernized Asian Ball Jointed Doll, which my doll design is based off of, was popularized in 1999 by Volks with the Super Dollfie Line. The modern ball jointed doll is a collectable art doll with prices ranging from hundreds to thousands of dollars.

My doll is based off of the ⅙ barbie scale size which equates to about ⅙ standard human size or around 12inches in height. Commonly ball jointed dolls would be made of resin or porcelain and hand crafted then mold and casted.

There are currently no ball jointed style dolls which integrate electronics or circuits to truly bring them to life as a desk companion. In the doll world, the closest similarities to my project would be interactive play dolls with speakers and buttons, the 1990’s Furbies by Hasbro, the mind 2000’s internet connected My Friend Cayla/Teddy Doll by Genesis Dolls, and the new Hello Barbie AI integrated play doll.

In the robot and desk pet world, the closest similarities to my project would be a standard desk pet companion like Eilike by Energizer Labs, EMO by Living AI, and Ortomi.

3. What did you design?


In my project, I designed a custom 3D printed doll body based off a traditional ball jointed doll design. I added a robot theme to the body sculpt and incorporated a movable heart into the torso while being able to maintain the elastic stringing system needed to assemble the ball jointed doll.

I also designed a custom pcb using a microcontroller and my connected input and output devices to act as the “brain” for my doll. This is encased in the slightly oversized head of my doll.

In addition to the doll and the custom electronics, I created a wireless charging system integrated in the doll and a custom chair for the doll to sit in for charging. Hidden inside the chair is also a raspberry pi, which has a custom server set up, using Home Assistant, that communicates with my microcontroller to act as a custom virtual assistant robot. I trained my robot to have a custom wake up command using my robot's name: Triss.

What Weeks are Utilized in my Project


  • 3D Printing / CAD : Robot Body
  • Electronic Design and Production : PCB Design / Robot Brain
  • Networking: Raspberry Pi to Microcontroller , Server
  • Output: Screen (LCD or OLED), Speaker
  • Input: touch sensor , Microphone, reed switch , accelerometer
  • Embedded Programming : Code
  • System Integration : Put it all together
  • Molding /Casting : outfit?
  • CNC / Laser Cut : Charging Chair / raspberry pi Storage

  • Final Project Gantt Chart





    Final Project Bill of Materials



    Week 10 - 12: Electronics Research


    I started doing some more in depth research on the electronics and tools I would need to use in my projects. I am still working through which input sensors I want to include in my robot, but I have been testing out a variety of inputs and outputs to see what feels right. I ahve also been doing a lot of research in this stage, below is a list of my resources I have used for my research.

    Week 6 Update: My Robot Needs a Name


    I started brainstorming ideas to name the robot. If I plan to have any sort of virtual assistant activity I want to have a custom name as a wake up call. I was really blanking on the name so I asked some friends for some suggestions. I also asked my 6th grade advisory students for some name suggestions for my robot character.

    For everyone I asked, I kept it open and vague to see what people would come up with. All I told them was that it was a girl robot. Below are a few of the names, some silly and some serious, I received and notes or my thoughts about each name.

    • Banana - My 6th grade boys thought this was a great name, me not so much.
    • Alexa - My 6th grade girls suggested this one and I discussed with them why I can't use a name that is already in use.
    • Robot - Too vague.
    • Rob - This was the follow from the same friend above. It is short for robot.
    • Build-A-Bot - I love this for a company name considering you decorate the robot!
    • Botty - A librarian friend of mine suggested this one. They said it’s like Betty, but for a robot.
    • BoBo - Suggested by a collegue, I thought this was such a cute name, but didn’t feel right for this bot. Maybe a future robot doll friend?
    • Gear - Too simple.
    • Click - Too simple.
    • Mags - I didn't hate this one. The concept is short for magnets, since the robot uses magnets for customization.


    Overall the names were good, but not quite feeling right yet to me. Two of my advisees said they really wanted to help name the robot so they sat and brainstormed some other names together and came back to me the next day with their top name. They said it's like electric, but with an A: Alectric.

    I wasn't sold on the name, but I did actually feel like it was on the right path. I decided to workshop that name later that evening and came up with a variation of the name: Alectriss and Triss for short. I really like how this one sounds when said outloud. It rolls of the tongue nicely and I practiced saying it a few times with commands like I would an Alexa and I really think this is it!

    So, welcome to the world: Triss

    Week 5 Update: Concept Update


    During week five I decided to mix my robot project idea with some of my hobbies. I collect ball jointed dolls which is a type of fully customizable doll that is strung with elastic to allow it to hold poses and stand unsupported. The tension in the string and the way it is strung through the body joints are key to the doll holding poses versus falling over.

    I decided to use the 3d model design I made in week one of my possible robot head style and shrunk it down to make it the head of my own custom robot themed ball joint doll. I then made a basic body sculpt with the necessary channels for stringing and the neck attachment for the doll head and test printed it. I think the robot head on the slightly anthropomorphic robot body looked absolutely adorable and since it is only about 9 inches from top to bottom it is still a great desk companion size.

    This had me thinking, that maybe I want to redesign the concept of the robot to be more than just a head. If I scale the doll up a bit bigger, closer to a Barbie size scale, I would give myself more room in the hollowed robot head to fit the electronics. This could make it feasible to turn my robot desk pet into an intelligent/smart ball join doll desk friend instead.

    The current design can't sit, so I am still working on redesigning different portions of the doll body, but I want the doll to be able to sit and stand so that it can be posed on one's desk or just sitting on the side of the monitor stand hanging out with you.

    Also, now that I have given my robot arms and legs, I can create hand attachments to allow the robot friend to be useful to hold stuff!

    Week 5 Update: New Charger Concept


    Since my new robot design now has legs and a body, I was trying to figure out how I would integrate that back into my original design for the charging block. While thinking about ways to essentially chop the robot in half, I had a more aesthetically pleasing design idea. Instead of having the robot split in half to attach to the charger, why not turn the charger into a chair design that the robot can sit in on one's desk! It would be functional and have a pleasing design when not in use, plus my robot friend wouldn't need to be split in two for charging!

    Week 5 Update: Robot Brain Research


    I found this interesting video from a content creator who created his own AI voice assistant. The video was about 40 minutes long, and he walked through the basics of how he set up his system, what apps/software he used, and his experience with it.

    The Home Assistant documentation and download page only has instructions for using a raspberry pi. While I know how powerful this board is, I also know it would be way too big for even my planned scaled up design. I had a quick conversation with chatGPT to see if it could suggest a capable board that is closer to the size of the Xiao Seed ESP32 that I was testing and playing with in Week 4. Unfortunately, it said their smaller boards just wont work. It did give me a suggestion though of using a combination of the Raspberry pi to run the local server and the xiao being the robot brain connected over wifi.

    Week 4 update: Embedded Programming


    In week four were tasked with exploring different microcontrollers and trying out some basic imput and outputs. Since I knew I was going to need a handful of input sensors for my robot design, I decided to test some of the ones I had available as part of my week 4 individual activity. Since I had them available to me, I tested out using a basic push button switch, a reed switch, and a touch sensor. You can check out my week 4 page for more in depth details on my exploration of these basic sensors.

    Week 2 Update: 2D and 3D Project Designs


    For week two , we were tasked with exploring a variety of 2D and 3D software, then picking the ones we worked the best with. We were also tasked with creating a model of our final project using our chosen software(s). I chose to use Blender since it is a software that I am comfortable with and have been using for some time now.



    I started with creating the head, since in my opinion that is the most important feature on the robot. I started with adding a cube to the design field by accessing the Add menu by using the keyboard command Shift-A. I adjusted the shape of the cube, starting in the front view, by adding more edges using loop cut, and then editing the shape by scaling and moving the vertices. I did the same on the side view, but moving the back vertices inwards closer to the front of the head.

    Then I added an additonal cube and did the same process but made it slightly smaller. For this smaller cube I also added an inset face on the front and extruded the face outwards. This smaller cube is used as a boolean object to hollow out the inside of the robot head and make a cutout for the screen placement.

    Next I added a cylinder to my design field and shrunk it down in size to represent the magnets I plan to add to the inside of the head. I did not use a real world size at this time, as I am just trying to plan out the magnet placement. I moved and copied the magnet and played around with the placement around the top, sides, front, and back of the head.

    Next I added another cube which I squished to make thin and stretched to elongate to use as the screen for the robot. I wanted to explore materials a bit more, so I found an example image of a glass like material and tried my best to use the material editor and recreate the nodes.

    Glass Material

    Below, you can see three screenshots of what my robot project could look like when it is complete.

    The main body shape most likely won't change significantly, but I do plan to incorporate a clock so there may be changes to the front.

    The head shape may change if needed to fit the electronics, but the chosen head shape was my favorite and also favored by my family and friends whom I shared my sketches with. In the first image, you can see the possible placement of the magnets for decorative attachments. In images two and three, you can see examples of how one could customize their desk robot to match their personality with printed or sculpted attachments like sailormoon themed toppers or antennae.

    My robot design with magnet locations
    My robot design with random decorations
    My robot design with a SailorMoon theme

    My Final Project Sketches and Idea


    For week one, we were tasked with defining our final project and showing some initial sketches.



    What is my project idea?


    For my project, I want to create a little desk robot companion.

    The main robot electronics will be fully enclosed in the head portion, making it portable with an optional clip for a bag. It will have a base as its body which I plan to call desk mode. In desk mode, the robot will be able to charge from the base body. To make the body functional as more than just a charger, I plan to add in a simple clock so with or without the head it can be used as a functional desk clock.

    Additionally, I want my robot to be fully customizable on the outside. I plan to embed a series of magnets into the head frame that can be used to attach decorative parts.

    initial sketch of my robot

    My Project goal for Fab Academy:


    My goal for this project over the next several weeks is to create my desk companion and give it a custom personality to match my own. I want my robot companion to be customizable, and I want to create a set of sample customization parts. I want my robot to be interactable with at least one touch sensor and one magnet based sensor. (possibly using a reed switch?) I want to design a silicon carry case with a bag clip to hold the head in. I want to create a charging body base with the clock feature.

    Main Robot Features


    General companion features

    Animated eyes

    Responses to sensors like touch and sound

    Bonus actions when certain magnets are connected to a customization

    Charging Base


    Project Stretch Goals:


    Additional sensor input and outputs.

    Motor controls when attached to the base to allow the head to turn.

    AI or virtual assistant type features.

    Wireless charging base.