Skip to content

Latest commit

 

History

History
196 lines (151 loc) · 7.09 KB

File metadata and controls

196 lines (151 loc) · 7.09 KB

Development Log

v0.0.1

  • ESP32 configured
  • E-Ink display working
  • First UI rendered

ESP32 to display wiring

  • yes I know, I have soldered pins in a wrong direction (fixed it later)

Display plugged in First screen text First UI rendered

Front lid

Many tries of the front panel

Front lid Prototype 1 (18.6.2026)

  • First enclosure top cover printed
  • Learned enclosure is too small for PCB
  • Screw holes tested, quite small

First front panel - front First front panel - back

Front lid Prototype 2 (19.6.2026)

  • Fits well, but it sits on top of the PCB, needs to be made slightly over the edge

Front lid Prototype 3 (19.6.2026)

  • Fits well, but still I need to adjust the "back" part to have a good grid for the PCB + edges

Front lid Prototype 4 (19.6.2026)

  • almost perfect, maybe will adjust the site a bit more
  • In the future, I might make it deeper

Fourth front panel - front Fourth front panel - back

First button (21.6.2026)

  • first button input succeeded!
  • and don't forget, BUTTONS HAVE ORIENTATION!

BUTTON PRESSED BUTTON RELEASED

First button - works

  • then I conected the display as well and added a function which refreshes the display
  • when I know clikc on the button, the screen refreshes Display refresh

v.0.0.2

  • first button connected to pin 0
  • gui refreshment
  • renamed happiness to fun so in gui is displayed F instead of second H

Button functions (27.6.2026)

  • the button now feeds the monster by 10 until its back to 0

Button State - hungry Button State - less hungry

New GUI

  • I have updated the gui to look a bit cleaner and polished, obviously its not final yet
  • I had to also rename happines to fun so there are not 2 H displayed, it was quite confusing
    • I am considering to change it later to something like HUN, ENG, FUN, AGE or just use icons

New GUI

Update

  • I have connected two more buttons and added them on pins 8, 9 and 10
  • Feed button was removed and function in code as well, currently the code only prints out which button was pressed
    • LEFT
    • MIDDLE
    • RIGHT
  • later, I might add more buttons, but currently this works fine
    • the breadboard is a mess, I know, but it will eventually be better. 3 Buttons
  • added interaction with gui when button is pressed, for example
    • press left button => feed the Monster,
      • hunger is decreased by 10
    • press middle button => play with the Monster
      • fun is increased by 10
      • hunger is increased by 10
      • energy is decreaased by 5
    • press right button => Monster sleeps
      • fun is decreased by 5
      • hunger is increased by 5
      • energy is increased by 10

v.0.0.3 (28.6.2026)

  • Added flash storage system
  • It was quite easy actually so I am happy for that
  • Saving is performed after a button is pressed
  • Would like to also add an autosave every 5 minutes

v0.0.4 (11.07.2026)

#### Audio System

  • Soldered speaker to MAX98357A amplifier.

  • Wired amplifier to ESP32-C3.

  • Created audio module (audio.hpp and audio.cpp).

  • The speaker produces buzz instead of clear tone and I have no idea why, maybe wrong I2C config

  • Wiring to ESP:

    MAX98357A ESP32-C3
    VIN 3.3V
    GND GND
    DIN GPIO0
    BCLK GPIO1
    LRC (WS) GPIO20
    SD -
    GAIN -
    SPK+ Speaker +
    SPK- Speaker -

Update (13.07.2026)

  • finally managed to implement clear sound with a specific configuration
  • the problem was not the HW but the config for the audio, wiring can stay as it is
  • you can hear one beep sound when you power the device Speaker connection + spaghetti monster

v0.0.5 (14.07.2026)

  • I have decided to switch to a new ESP32 module, the ESP32-S3 mostly because of more GPIO pins which I will need for accelerometer.
    • Currently waiting for the module to arrive (approx. 2 weeks)

UI and Menu System

  • added basic menu when middle button is pressed
  • user can navigate using left button, right button and middle button to confirm What's on menu for today v0

Update (24.07.2026)

  • I have added more polished menu system and made the code more readable and organized
  • Settings are still mock, but I will implement them later - the user should be able to turn off the sound and change Monster name
  • Next focus is monster logic

v0.0.6 (24.07.2026)

  • I have added basic monster logic, the monster has different states and moods
  • There are few different options
  • States:
    • None,
    • Playing,
    • Eating,
    • Sleeping,
    • Dizzy,
    • Sick,
    • Injured,
    • Dead,
  • Moods:
    • Happy,
    • Normal,
    • Hungry,
    • Tired,
    • Bored,
    • Sad,
    • Critical
  • Currently it needs to be tested, but not all of them are implemented, for example Dizzy logic will be added when accelerometer is added

Moods and everything - Normal Moods and everything - Happy Moods and everything - Sad

Status and everything - Hungry Status and everything - Sleeping

Update

  • I am trying to add species, starting with slime, Blob

New menu entry (26.07.2026)

  • I have added new menu entry "Info" which displays more info about the Monster itself - Name, Species and Status
  • the status is currently None, because the monster is alive and healthy, I don't want to add there short term status, only the long term ones
  • In a future I want to add an option to reset the monster
  • I also increased the sleep and entertainment gain, because it was too low

What's on menu for today v1 Monster info

New ESP board struggle (12.08.2026)

  • It has been some time since I last worked on this project, but the new ESP finally arrived!
  • I tried switching to the new ESP32-S3 Super Mini board, but what a pain that was!
  • After about 3 hours of debugging, arguing with ChatGPT, and almost losing my mind, AI decided that I should create a custom configuration for this board since none of the available ESP32-S3 configs in PlatformIO were working. So here we go.
  • The best part is that it works! Or at least I can see the === MONBIT === log.
  • The question is whether it's going to work with all the peripherals connected, but that's a TODO for now.

Just a quick note: I wanted to use AI as little as possible, but yeah... here we go.

If you are interested for the custom configuration, I have created a repo for it: ESP32-S3 Super Mini config for PlatformIO