Dasai Mochi Expression
Over 80 random animation effects create a lively and engaging experience, allowing customization of GIF speed and pauses between GIFs. Includes 80 negative GIFs as well.
Intro
With flexible intro switching between different themes, you can choose any intro from a list of 80+ GIFs.
Customize the sound
Customize intro sounds, notifications, and touch and swipe sensors.
Sensor-based interaction
Interact with and control the Mochi using touch, swipe, or button sensors. Functions can be customized for different scenarios.
Display Clock
The clock, phone battery percentage, and date are continuously updated and synchronized with the phone, even when disconnected.
Google Maps Directions
Currently showing directions, travel times, and instructions using icons and text.
Call & App Notifications
Displays caller ID, Zalo messages, Messenger, and other app messages.
Personalization
Customize with the dashboard, personalize the Mochi using a custom control panel, and choose hardware options to suit your assembly needs.
Instruct
- Prepare the ESP32 C3 Mini board hardware.
- OLED screen with SSD1360 , 0.96-inch or 1.3-inch
- TP4056 charging circuit and 3.7V battery pack (if you want to use a battery)
- TTP223 touch sensor (if you want additional touch functionality)
- 5V buzzer speaker (if you want sound)
- If you're not using a buzzer speaker to play music, prepare a combo of the MAX98357 amplifier circuit and an 8-ohm mini speaker.
- This USB Type-C cable is compatible with data transfer. To test, plug your phone into your PC; if your phone allows data transfer, the cable is working.
- Your computer has the CH340/CP2102 driver installed; if you have Windows 10 or later, you may not need to install the driver.
- Chrome or Edge browser (supports Web Serial API)
- Without plugging in the cable, hold down the BOOT button on the circuit board (next to the Type-C port on the board there are two buttons, one for RST and one for BOOT). While holding down the boot button, plug the circuit board into the computer.
- Select the firmware version on the left.
- Press the "Flash Firmware" button.
- Select the appropriate COM port.
- Select Install firmware
- Wait for the charging process to complete, it will take a few minutes.
- If you are using pins other than the default ones, please proceed to step 3 to configure The Mochi.
- After the top-up is complete, close the top-up website (to avoid having your port occupied).
- Access the setup page at XMochi App
- Select "Connect the Mochi" and choose the COM port just like when you flash firmware, but without holding down the boot button.
- If the device is ready (v4 or higher), the setup webpage will appear after a few seconds.
- The configuration you adjust on the website will be transferred to the Mochi immediately, but to save the settings, remember to click the "Save settings" button; otherwise, everything will revert after you reset.
Instructions for using the ESP32 emotion-sensing, navigation & notification device.
Introduce
The ESP32 device can display the time, facial expressions, directions from Google Maps, and receive notifications from your Android phone. To use it effectively, you need to install the Chronos app on your Android phone (the device only supports Android), connect to the device, grant the necessary permissions, and configure some options within the app. The instructions below outline the steps in order, with accompanying illustrations.
1. Install the Chronos app.
- On your Android phone, open Google Play and search for "Chronos," then install the app released by fbiego . Once installed, tap Open to launch the app.
The image above shows that the application has been installed and can be opened from Google Play.
2. Connect the device and grant permissions.
After launching Chronos, the app will guide you through connecting your watch/ESP32 device.
- On the Watch screen , select Search to scan for devices (you can also select Scan QR if the manufacturer provides a QR code). The app will request some permissions to search and connect.
- Wait for the app to find the ESP32 device. When the device name (e.g., “The Mochi”) appears in the list, tap on it to connect.
- Next, Chronos will request notification access. Tap Allow access and grant permission in the system settings. This permission allows Chronos to retrieve notifications from your phone and send them to the device.
- After granting permission, you can select Self-test to confirm that Chronos has been granted permission to access notifications. If you don't need advanced setup steps, tap Skip setup to go to the home screen.
3. Turn on the navigation feature.
Chronos supports sending directions from Google Maps to your device. To activate this feature:
- In the Chronos app, go to the Watch tab , scroll down, and select ESP32 Management .
- The ESP32 management screen will display device information. In the Settings section, turn the Navigation switch to the ON position as shown below. This option must be enabled if you want to receive directions on the device.
- Once activated, you can open Google Maps, select your destination, and begin navigating. The directions will appear on your ESP32 device.
4. Set up notifications from your phone.
The ESP32 device can display notifications for calls, messages, and other applications. Configuration steps can be found in the Notifications tab of Chronos.
- Enable call and message notifications – in the Calls and Messages section , toggle the switch if you want your device to vibrate or display a notification when a call or message comes in.
- Select the apps to receive notifications – tap on the Apps section (usually showing the number of selected apps, for example, “5 selected” or “8 selected”), then select the apps you want to send notifications to your device. Each app needs to be checked in the list. Note that you should only check the apps you actually want to use to avoid unnecessary data usage!
- Customize notification icons – to ensure notifications display the correct icons on your device, select Notification icons and check the icons that your device supports. You can then check if each icon is displayed on your device.
- Test and send test notifications – Chronos offers a Self-Test option to send test notifications and check if the device receives them. You should try this feature after completing the configuration.
5. Use the equipment
After completing the steps above, the ESP32 device will be connected to your phone and ready to operate.
- Directions : Open Google Maps, enter your destination, and tap Start . The directions will appear on your device screen.
- Display time and expressions : In the Chronos app, use the Find Watch feature to display the time, phone battery level, or a random expression on your device.
- Notifications : When there is a call, message, or notification from selected apps, the device will sound an alarm and display a message. You can choose the notification sound in the settings page . You can turn off notifications for specific items (calls, SMS, or apps) using the toggles in the Notifications tab.
6. Note
- The speed of navigation updates depends on the notification delay on your phone and the BLE connection.
- The Chronos app is constantly being updated; please check the official manual when a new version is available.
- Open the GIF Maker software ( here ) and drag the GIF files and audio files into it.
- Set the parameters as desired. Note: GIFs currently work best with files that have few frames; if using long videos, the animation may not display smoothly.
- Once you've finished editing, select Convert to BIN and then Export to GIF. The software will create an export folder right next to the .exe file.
-
Copy the newly created folder to the device's memory card at the path gifs/ (create the gifs folder if it doesn't exist). The folder structure on the memory card should look like the image below:
- Once the memory card is correctly recognized, the list of GIF themes will appear in the script section of the web interface, as in the following example.
- VCC → 3.3V
- GND → GND
- SCL → GPIO 21
- SDA → GPIO 20
Note when using TP4056: Ensure correct polarity (+) and (-) connection from the Li-ion/LiPo battery to the B+ and B- terminals of the TP4056. Output + is connected to the 5V of the ESP32C3 or Vin, and output - is connected to GND.
- TTP223 sensor:
- VCC → 3.3V
- GND → GND
- OUT → GPIO 1 (or any GPIO input)
- Buzzer speaker:
- VCC → 3.3V
- GND → GND
- IN → GPIO PWM output configuration (depending on firmware)
Thank you , Van Hung, for drawing this picture.
Thank you , Van Hung, for drawing this picture.
Thank you , Nhân Data, for drawing this picture.
Mochi Helmet Headphone
Author: Le Dac Dam
The improved Mochi helmet model features earcups (either hollow or solid) for a larger space than the original.
Download
Gundam head with base
Author: Nguyen Quoc Tu
The Gundam Head model is designed for OLED screens and comes with a mounting base for components.
Download
Mochi keychain
Author: Doan Nguyen Thanh Triet
An improved version of the mochi head with a base specifically designed for the charging circuit.
Download
Mochi TV
Author: Tan Nguyen
The Mochi TV model includes a component mounting base, frame, and cover.
Download
Mochi TV v2
Author: Tan Nguyen
The upgraded version of v1 has a changed core structure; please use M2.5 screws to attach the monitor frame.
DownloadChangelog
- Fix bugs that appeared in version 4.3.
- Special screen and audio processing for balance fluctuations.
- The logic for displaying GIFs has been changed. Previously, the main GIF would run in the background in a separate thread, and when a scenario was triggered, that thread would freeze and make way for the scenario GIF. Later, with the introduction of memory cards, as overlapping threads became too common, all GIFs were placed in a queue. When a scenario GIF was triggered, the scenario GIF would be inserted into the queue. This allows the scenario GIF to be interrupted and transitioned without taking up screen time. The scenario GIF will also play until the audio stops completely, allowing you to play the entire song!
- On the weather display screen, the time and date will cycle through.
- Fix screen freezing issues by changing the logic for displaying GIFs.
- Fix the issue where the "find watch" button in the app wasn't working correctly.
- Fixes the issue where selecting "Use memory card" but not inserting a card causes the system to freeze.
- Supports external GIFs via memory card; GIFs can be combined with audio if desired.
- You can use audio from a memory card.
- You can add GIF scripts taken from the memory card.
- Add weather to the clock scenario (connect Chronos to sync weather data).
- Add CPU-info to the clock screen (must be plugged into a device running the app).
- Fix the default stuck speaker terminal error.
- Add a language selection option to the website.
- Sound for each GIF. Many GIFs I found on YouTube don't have sound, so I'm stuck. Anyone with real ones, please contribute! :v Tomorrow I'll filter out GIFs with sound so you can choose quickly on the website.
- Hidden feature: Added a built-in menu to customize some basic settings. To open this menu, triple-click the sensor; once the menu appears, click once to move, hold down to select, and click again to change.
- Add English as a language setting (mainly for the menu).
- Add settings to toggle GIF sound on/off.
- Fixing the chronos error when Google Maps shows nothing: I figured this out myself after someone reported it, but I didn't experience the error so I'm not sure if the fix is correct.
- Fix nonsense
- Allows for upside-down screen orientation, giving users more customization options for fitting into cases.
- Fix GIF delay issue, incorrect delay value.
- The waiting delay has now been shortened to make it less boring.
- Optimize some GIFs
- Add intro sound and notification sound = moshi moshi, wherever you assign it, it will play there (touch).
- Here are some more GIFs from the Liberty Walk collection.
- Revise the Bluetooth on/off notification, add Bluetooth off and Bluetooth not connected icons to the watch.
- The default GIF delay is 5 seconds to match the original version; settings can be from 0 to 60 seconds.
- Add sensor scripts to enable skipping to the next GIF.
- The option to automatically turn off Bluetooth after x minutes if not connected saves battery power.
- Add an internal clock that automatically retrieves the time when accessing the website control panel or connecting a phone; it also automatically retrieves the time if an internet connection is available.
- Add more scenarios with touch sensors: turn Bluetooth on/off, display the clock, skip GIF (Next GIF)
- 🐛 Fixed the issue where the clock display lagged when touched.
- ✨ Remove the Wifi Control Panel and replace it with a website control panel.
- ✨ Added audio support with a buzzer speaker
- ✨ Added touch sensor support
- ✨ Added customizable audio and GIF features for events
- ✨ Allows you to compose and customize intro music, notifications, and touch effects.
- ✨ The ability to change hardware settings (connector pins and screen type) allows for increased personalization and easier cable management to suit your preferences. Supports 1.3-inch screens.
- 🎉 First stable version
- ✨ Complete WiFi Manager
- 🐛 Connect to your phone using ChronosESP (Thanks to fbiego for the amazing library)
- Increase the number of emotes to 60 + 60 negative emotes.
- 🛠️ Adding a control panel via Wi-Fi allows you to adjust the speed and delay between expressions, as well as turn sound effects on or off.
- Customize GIF toggle
- 🚀 First version
- 📡 Dasai Mochi Clone with 40 expressions
