Mintyboy Devlog — Feature Expansion
Overview
Mintyboy has evolved from a basic handheld into a small multi-purpose system. It now combines games, utilities, and live data features on a single ESP32 with a 1.96 inch TFT display.
The main focus recently has been expanding functionality while keeping everything responsive and usable on very limited hardware.
Games
The games system has grown a lot and is now one of the core parts of Mintyboy.
2048
Tetris
Pong
Flappy Bird
Snake
Breakout
Minesweeper
Simon Says
Challenges
The biggest challenge across all games is performance and memory. The ESP32 isn’t powerful in terms of graphics, so everything has to be drawn efficiently.
Tetris required a full grid system, rotation logic, and line clearing without slowing down rendering
Minesweeper needed a hidden tile system, recursive reveals, and flag handling, which added complexity fast
Flappy Bird was mostly about tuning physics and timing so button input felt responsive and fair
Snake and Pong were simpler but still required smooth updates without flickering
Another issue was keeping a consistent input system across all games. Since everything uses the same buttons, the controls had to feel natural in every game without rewriting input logic each time.
Calculator
The calculator is a small feature but surprisingly tricky to implement properly.
Supports basic math operations
Displays a full expression before evaluation
Shows results clearly on screen
Challenges
The biggest issue was input navigation. Without a keypad or touchscreen, selecting numbers and operators using buttons can feel slow if not designed well.
Handling edge cases like multiple operations, clearing input, and preventing invalid expressions also needed extra logic.
UI layout was another constraint, since everything has to fit on a very small screen without becoming confusing.
News Feature
The news system pulls live headlines from a BBC RSS feed.
No API key required
Uses HTTP requests
Parses XML data
Displays headlines in a scrollable format
Challenges
Parsing XML on an embedded device is not ideal. Memory usage becomes a problem quickly, so the system only extracts the necessary parts instead of storing the full response.
Text formatting was another issue. Headlines can be long, so they need to be wrapped correctly to fit the TFT display without cutting off words awkwardly.
There’s also the delay from network requests, which had to be handled so the UI doesn’t freeze while loading.
Stocks Feature
The stocks feature is one of the most complex systems so far.
User inputs a ticker symbol
Fetches data from Yahoo Finance
Displays current price
Renders a small price chart
Challenges
Handling API responses was the first hurdle. The data needs to be parsed and reduced to only what’s necessary.
Drawing the graph was the hardest part. Since there’s no charting library, everything is done manually:
Normalize price data
Scale it to screen size
Draw lines between points
Another issue was keeping the graph readable on such a low-resolution display. Too much data makes it messy, so it had to be limited and simplified.
System Integration
As more features were added, managing the overall system became harder.
Challenges
Avoiding blocking code so the device doesn’t freeze
Managing memory between games and network features
Keeping the UI consistent across completely different apps
Handling transitions between menus and features cleanly
Even simple things like switching between apps required structure to prevent crashes or glitches.
System State
Current features:
Games system with multiple titles
Calculator
News reader (RSS-based)
Stock tracker with chart rendering
What else should I add guys??
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.