Final Project
This is the page for describe my final project: Cultural Memory Globe
About My Final Project: Cultural Memory Globe
I love traveling. Why? It is because I like to feel the difference of each unique local nature, culture, and people’s lives of each places. These days we can learn differences between different areas of the earth through the internet or SNS, and feels as if we know about it. However, once I visit the place actually, I really understand what is the place like. Through the final project, I would like to create something make you feel uniqueness of each places and cultural graduation of the world. This would be also nice to record my travel memories with actual feeling.
First Sketch
This is my first sketch of the device.

Features
Basically, this device consists of 2 parts: globe and base. When you choose the country on the globe, the device will project the photos/videos of the country, and also, if possible, it shows the temperature of the place with LEDs or heat.Basic Function
- INPUT : Tap a country you want
- OUTPUT :project the photos/videos of the country/change temperature of the device
- Surface Material (Globe): Not decided(Glass or metal?)
- Surface Material (Base): Wood
Planning
Then, I made plan for each week (Just in case my job get too much busy).# | M | D | Class | Plan |
---|---|---|---|---|
1 | Jan | 22 | principles and practices, presentations, introductions, project management | Finish my rough sketch |
2 | 29 | computer-aided design | Model the device | |
3 | Feb | 05 | computer-controlled cutting | Try to make/think about base part |
4 | 12 | embedded programming | Try to program the function of tap and glow | |
5 | 19 | 3D scanning and printing | Try to make inside of the device / print out glove part | |
6 | 26 | electronics design | design the electronics of the device | |
7 | Mar | 05 | computer-controlled machining | - (Make something big) |
8 | 12 | electronics production | Cut/print the electronics of the device | |
9 | 19 | input devices | Try to make sensor parts | |
10 | 26 | output devices | Try to make speaker/projector parts | |
11 | Apr | 02 | networking and communications | Try to make signals between globe part and base part |
12 | 09 | mechanical design、machine design | - (group assignment week) | |
13 | 23 | molding and casting | Try to create a mold for casting the globe | |
14 | 30 | interface and application programming | Try to make app which can add/manage photos | |
15 | May | 07 | system integration | Try to make it integrated |
16 | 14 | wildcard week | Try to cast the globe part with (possibly) glass? | |
17 | 21 | applications and implications,project development | - | |
18 | 28 | invention, intellectual property, and income | - | |
19 | Jun | 06 | weekly assignments deadline | - |
09- | final project presentations | - |
Week 2 : 3D Modeling
In week 2, I tried modeling of the device. First, I mage a rough sketch for modeling.

Then, I model it as follows:
- Think and design overall structure of the device with Tinker Cad
- Modeling for ‘Globe’ part with Blender
- Modeling for ‘Base’ part with Fusion
- Combine Globe and Base in Blender




For the details, please see Week2 Computer-Aided Design page.
Week 6 : Consider the configuration of the processor and peripherals
This week I searched about possible processors/microcontroller and configurations.
Board | ESP32 | Seeed Studio XIAO ESP32S3 | Seeed Studio Xiao ESP32C3 | Seeed Studio XIAO ESP32C6 | Arduino Nano | Raspberry Pi Zero W (Projection) |
---|---|---|---|---|---|---|
Microcomputer | ESP32 | ESP32S3 | ESP32C3 | ESP32C6 | ATmega328P | RP3A0 |
Datasheet | esp32_datasheet_en.pdf | esp32-s3_datasheet.pdf | esp32-c3_datasheet_en.pdf | esp32-c6_datasheet_en.pdf | A000005-datasheet.pdf | https://www.raspberrypi.com/products/raspberry-pi-zero-w/ |
Final configuration plan at this point
During the Lab session, I was advised that if touch + projection is required, the following configuration example would be good. As expected, a Raspberry Pi is required instead of a microcontroller to project videos.
Application | Microcontroller | Input | Output |
---|---|---|---|
Touch input detection | xiao (RP2040 or ESP32) |
step response (need to decide numbers) |
- |
Projection | Raspberry Pi | - | projector (need to be chosen) |
Week 9 : Consider how to input
For this week, I try out various types of touch sensors.
- Processor (xiao ESP32S3)
- 1 pin with Resistor (xiao RP2040)
- 2 pin (xiao RP2040)
- MPR121 (xiao ESP32C3)
Results
The results for xiao ESP32S3 are as follows:
Pin | Figure |
---|---|
T1 | 28600 |
T2 | 27500 |
T3 | 32000 |
T7 | 30700 |
T8 | 29100 |
The results for 1 pin with Resistor are as follows:
Horizontal: Length of wire × Vertical: Size of resistor
*I couldn't figure out the N/A part very well.
No wire(board direct) | 25cm(thick) | 25cm(0.2㎜²) | ||
---|---|---|---|---|
1 | 100k | 7500-15000 | 500 | 200 |
2 | 100k | ~15000 | 1000 | 200 |
3 | 1M | N/A | N/A | N/A |
4 | 1M | ~10000 | 6-700 | 400 |
5 | 2M | 8000~20000 | N/A | 500 |
For the details, please see Week9 Input Device page.
Week 10 : LED for lightning
For this week, I try to use Neopixels to light up the sphere.
First I connected it to the S3 and tested it.
It worked fine at first, but then it stopped working, so I used the C3 to test different ways of
lighting it up.
I also thought about how to display it.



For the details, please see Week10 Output Device page.
Week 11 : Try wifi connection / communicate with Raspberry Pi
For this week, I tried some communication especially for FP:
1. Use xiao ESP32C3 as WiFi server
2. Communicate with Raspberry Pi with I2C
3. Projection test for Raspberry
NeoPixel - On/off with browser
I tried to turn on and off NeoPixel from the browser.
I made it from ”SimpleWiFiServer” test code and the code I made last week for NeoPixel.
Code is on week 11 page
It worked!

However, the NeoPixel were lighting up a little strangely. This will need to be adjusted if I use it finally.
2.I2C - Raspberry Pi(Master)-ESP32C3(Slave)
In the Final Project, I want to use a Raspberry Pi for projection, so I tried communicating with
Raspberry Pi.
Load the slave code into Xiao. I used the code provided by Maki-san. (code is on week 11 page)
Check the connection with “i2c detect” command

Make master code into python (helped by Tsuchiya-san). The behavior differed slightly depending on the library, and it was difficult to get it to respond properly, but after adjusting various things, I was able to get it to work well with the following code.



Testing video processing capabilities by version
I sent video data to Raspberry Pi and did a playback test.
Raspberry Pi Zero → Not smooth
Raspberry Pi 3 → Somewhat not smooth
Raspberry Pi 4 → OK
Raspberry Pi 5 → Super smooth

For the details, please see Week11 Networking and Communications page.