

At its core, Medic Mini runs on an ESP32-C6 paired with a 1.47" Waveshare display, housed inside a custom PCB and a 3D-printed enclosure I designed from scratch. The interface is clean and purposeful: users are prompted with one symptom at a time and respond using three tactile buttons—Yes, No, or Not Sure.
I designed Medic Mini to serve as a simple, standalone tool for diagnosing basic medical conditions like fever, viral infections, and fatigue. The current logic is based on common symptoms and straightforward decision rules, but this is just the beginning. I plan to expand its diagnostic database by collecting more symptom data and working with medical professionals to refine the logic.
Based on the pattern of responses, the device offers a basic diagnostic suggestion, making health checks feel as simple as flipping a switch.
This Article covers the whole build process of this project, so let's get started with the build.
Self-Diagnostic Idea


The concept behind Medic Mini was born out of a simple frustration: most health checkers are either too complex, too expensive, or too slow.
I wanted something instant, intuitive, and portable, a device that could walk someone through basic symptoms without needing an app or the internet.
The idea came from observing how people respond to simple yes/no questions when describing how they feel. That’s where the logic started:
• Ask one symptom at a time
• Let the user respond with a button press
• Track the pattern of responses
• Offer a basic result or suggestion
It’s not meant to replace a doctor; it’s meant to give clarity when you’re unsure. Whether it’s for kids, travelers, or just quick reassurance, the goal was to make a health checkup feel like flipping a switch.
The spark really came after watching my own parents. One day, my mom had a headache that seemed minor but by the next day, it turned out to be viral. That made me realize how many symptoms are actually straightforward to track and interpret.
So I thought, why not build a diagnostic device that can guide people through that process?
Right now, the data I’ve collected is limited, but the potential is huge. With input from doctors and medical professionals, we could expand the database, refine the logic, and even integrate sensors to read pulse, temperature, and other vitals.
Medic Mini is just the start; the goal is to make accessible, intelligent health tools that anyone can use.
Basic Setup- ESP32 C6 Devkit Breadboard Edition


To get started with the electronics, I built a simple breadboard setup using the ESP32-C6 DevKit connected to a 320×240 ILI9341 display.
For user interaction, I added three tactile buttons—Yes, No, and Not Sure—mapped to GPIO pins. This setup served as our base model for testing the core logic and UI flow.
Once everything is working reliably, the plan is to shrink the entire system into a compact, handheld device using a custom PCB and a 3D-printed enclosure.
We started by placing the ESP32-C6 DevKit on a breadboard alongside a 320×240 ILI9341 display and three push buttons for user input.
Using the provided wiring diagram, we connected the display to the ESP32 Devkit in the following order.
- DISPLAY's MOSI to GPIO6
- SCK to GPIO7
- Chip Select to GPIO10
- Reset to GPIO11
- DC to GPIO12
- The LED Pin of Display goes to 3V3 of the DevKit.
- VCC goes to 5V
- GND to GND
This setup gave us a clean, testable base to test the UI and logic before moving on to a custom PCB and enclosure.
CODE for Breadboard Edition
For our Breadboard setup, we use the following code and let's have a quick breakdown of how it works.
#include <Adafruit_GFX.h>
#include <Adafruit_ILI9341.h>
#include <SPI.h>
// Display pins
#define TFT_CS 10
#define TFT_DC 12
#define TFT_RST 11
// Button pins
#define BTN_YES 15
#define BTN_NO 23
#define BTN_UNSURE 22
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_RST);
// Symptom list
const char* symptoms[] = {
"Headache", "Fever", "Cough", "Fatigue"...
Read more »
Arnov Sharma











SimonXi