Skip to content

Project Development

Week 1

This is my current sketch on my project idea

real

2

The points that I want this project to have include

  • The bot has to be able to move and sense objects
  • It should have a display that can make different expressions
  • It should have a camera inside it to be able to take pictures the area it is moving in
  • It should have a friendly and pet looking shape.

Week 2

This is the 3-d design of my project(you can see the layout changed quite a lot) I left the holes in the design to show a clearer view of how it’ll look.

The placement of the components are: - The head will hols a seperate circuit board with the 2 matrix displays and the esp32 camera. - The neck will be hollow to connect the display circuit board’s wires. - The ultrasonic sensor will pop out of the main body. - The battery will have a seperate case that I can access from the bottom to cahnge it, or charge it.

Week 4

This week I decied what microcontroller board to use with the advice from my seniors and instuctors.

esp32 wroom32

Week 5

Cardboard prototype

We were assigned to make a prototype so we have a clearer vission of what we want to make, with where the components go and the size of the model.This was my prototype(without the wheels for now, because I think I will use plastic wheels from a toy, or a building kit)

cb p

These are the measurements for this model

measure

This is the plan I have for where to place the components

components

After building this prototype, my whole idea of my project changed. I got a clearer idea of what I wanted to make and the measurements. I ended up changing the shape and placement of my components as well. After making this, I feel like my prokect is more relistic and possible. It feels like I made progress and actually managed to take a step forward (of course with a lot of help from the others.)

Week 6

I made a basic circuit sketch with one of my components, and now how to connect the other components as well.

circuit

My plan is to have 2 seperate circuit boards.

  • Firstly, of course the microcontroller, which will have all the pinouts needed for the other components as well.
  • Then, a board I plan to place in the head which will act as a seprate support for the esp32 cam and the matrix display. This is just to make it neater and more understandable.

Week 8

The first microcontroller Iw as going to use was the esp32 wroom 32, But after countless trys, I couldn’t solder it properly for the first time, So i decided to work with something more simple.These were all the boards I made before working on the xaio.

all

I’m either going to try esp32wroom later onwards, or I’ll be networking 2 xaios together.

pcb

heroshot

Week 10

This week, I managed to work with an oled, which is one of the components I’ll be using for my final project.

oled

Week 12

This week, we had machine week so I got to experience what final project development and making would feel like. Honestly, did not enjoy much. I ended up getting sick and couldn’t help the others, plus I was behind on my neuval as well so I was given time to update my progress. I feel like I could have done more and helped more, but I’ll make sure to cahnge next time.

Week 13

For this week, I decided to make the designs and planing fort my final project. In the planning area, we had a zoom call with my instructor, and he listed out the things we need to do for our final project. Theres only 5 weeks now, so I really needed to make more progress in my final project.

plan

The first design I made was the head of the bot. I believe i’ll edit this later on, because I did not consider the neck properly.

head

I mainly wanted to check if the lid idea works for this design, so heres how it went.

lid

The microcontroller I’ll be using is xaio. I discussed this with my instructors and this was what the recomended .

xaio

image_sourse

I also made a list with my local instructor on all the amount of work i have left.

amount of work

Once I printed the design I made, heres how it turned out.

head

After that I tryed out the model to see if the lid and space for the matrix display would work.

The matrix fit into th edesign perfecly so I think I’ll keep this the same

matrixmatrix

The lid worked pretty well, but I think I need to add a lock so that the lid doesn’t fall off.

lid

I also need to think about the neck properly, but leys leave that for now

Week 14

I started by making the design and planning for the bottom of the robot. I already tryed out the matrix displays, and the ultrasonic so I decided that its about time I did the moter test.

Heres a car set we had in our lab, This was a project another student worked on one time, so the picture bellow is a model of it fully working

car

From this set, I will be using the wheels and the design of the base.

wheels

base

Week 15

Blinking Eyes

#include <LedControl.h>

// DIN = 12, CLK = 11, CS = 10
LedControl lc = LedControl(12, 11, 10, 1);
byte eyeOpen[8] = {
  B01111110,
  B10000001,
  B10000001,
  B10111101,
  B10111101,
  B10000001,
  B10000001,
  B01111110
};

// Half-closed eye (top lid coming down) (vertical flipped)
byte eyeHalfClosed1[8] = {
 B00001110,
  B00110010,
  B01000010,
  B01111110,
  B01111110,
  B01000010,
  B00110010,
  B00001110
};

// Closed eye (vertical flipped)
byte eyeClosed[8] = {
  B00011000,
  B00011000,
  B00011000,
  B00011000,
  B00011000,
  B00011000,
  B00011000,
  B00011000
};

// Half-closed eye (bottom lid going up) (vertical flipped)
byte eyeHalfClosed2[8] = {
  B00001110,
  B00110010,
  B01000010,
  B01111110,
  B01111110,
  B01000010,
  B00110010,
  B00001110
};
void setup() {
  lc.shutdown(0, false);       
  lc.setIntensity(0, 8);       
  lc.clearDisplay(0);          
}

void loop() {
  displayFrame(eyeOpen);
  delay(6000);

  displayFrame(eyeHalfClosed1);
  delay(500);

  displayFrame(eyeClosed);
  delay(1000);

  displayFrame(eyeHalfClosed2);
  delay(500);
}

void displayFrame(byte frame[8]) {
  for (int i = 0; i < 8; i++) {
    lc.setRow(0, i, frame[i]);
  }
}

Last update: May 7, 2025