QuasarQ
Greetings everyone and welcome back; meet QuasarQ—a space quiz device built to challenge your curiosity and test your knowledge of the universe.
The goal of this project was to create a compact, interactive device that helps young kids learn about space in a fun and engaging way.
The inspiration came from my 11-year-old nephew, who’s deeply fascinated by stars, planets, and everything beyond. I recently got him a telescope, and that sparked the idea—why not build something that could serve as a simple educational tool for him and his space-loving friends?
Powered by the ESP32-S3-LCD-1.69, it delivers fast-paced questions with crisp visuals and tactile controls. We modeled and 3D printed a custom enclosure with four tactile buttons, each mapped to an answer choice.
This is how this device works: the device asks a question, and we are given four choices; we select any answer by pressing one of four buttons.
If we get it right, we’re greeted with a “Correct!” splash screen. If we miss, it shows the correct answer so we can learn and move on. There are 20 questions in total, and at the end, QuasarQ displays our score out of 20. After a short pause, the quiz resets—ready for another round.
By pressing and holding Button A for three seconds, the device enters deep sleep mode. To wake it up, simply press any button again. This feature allowed us to skip using a physical ON/OFF switch that would cut power entirely. Instead, we implemented a software-controlled sleep system, making the device more compact and efficient while still giving users full control over power management.
This article covers the full build process of the project. so let's get started with the build.
Supplies
These are the components used in this project:
- Custom PCB
- 4x4 tactile push buttons
- ESP32 S3 1.69 Inch Display- Waveshare
- 3D-printed Enclosure
- M2 Screws
Device Design
We began the design by importing a model of the ESP32-S3 display board into Fusion360. From there, we created a basic box-style enclosure around the screen. In the lower section, we modeled a switchboardand added four custom switch actuators labeled A, B, C, and D to match the quiz interface. To secure the switch PCB, we included two screw bosses with 1.8 mm diameter holes—ideal for M2 screws.
The enclosure was sized to comfortably fit in a child’s hand, making it easy to hold and interact with. It’s split into two parts: a front section and a rear lid. All components were printed in white PLA, except for the switch actuators, which were printed in grey PLA to give the device a clean, duotone look.
Circuit Design
The circuit design of this project was actually pretty simple; we just needed to make a switch PCB that consists of four 4x4 tactile push buttons, so we started the schematic by adding four push buttons in the schematic and connecting each of their four pins together; this will be connected to GND. We added a CON5 pin on which we connected all push button pin 1 along with the GND pin of the push button.
For the PCB design, we used the outline from the CAD model and prepared a basic outline, then placed switches in their designated positions, connecting traces from switches to the CON5 port, and completed the board.
For aesthetics, we added some graphics on the silkscreen layer of the PCB, which increases the aesthetic appeal of the board.
PCB Assembly Process
- The switch PCB assembly begins by placing all the tactile push buttons in their position.
- We turn the board over and use a soldering iron to solder each pad.
ESP32 S3 1.68 Inch Display
The ESP32-S3-LCD-1.69 truly shines at the heart of this build. Compact yet mighty, it packs a dual-core Xtensa LX7 processor clocking up to 240 MHz—delivering smooth performance across input, logic, and display tasks. Thanks to built-in Wi-Fi and Bluetooth 5, it connects effortlessly without extra modules or messy wiring.
Memory-wise, it’s stacked: 512KB of SRAM, 384KB of ROM, plus 8MB of onboard PSRAM and 16MB of external Flash.
This board is loaded with features that enhance our Guessatron, including a 1.69-inch capacitive LCD screen, a lithium battery charging chip, and a six-axis sensor with a three-axis accelerometer and gyroscope.
It has an ETA6098 lithium battery charging chip for long-term power management, a QMI8658 inertial measurement unit (IMU) for motion tracking, and an RTC chip for clock functions.
Although the ST7789V2 LCD controller's active display area is 240(H) × RGB × 280(V), it offers a 240 × RGB × 320 resolution. It is compatible with RGB444, RGB565, and RGB666 color formats; for best visual results, our project uses RGB565.
The display's smooth corners add to its elegant, small appearance, and the four-wire SPI interface guarantees effective GPIO usage and quick communication speed.
You can check out more about this display from its Wiki page: https://www.waveshare.com/wiki/ESP32-S3-LCD-1.69
Switch Board - ESP32 S3 Display Assembly
- We start the switchboard and display assembly process by soldering jumper wires to ESP32's GPIO18, GPIO16, GPIO2, GPIO10, and GND.
- Next, we paired the switchboard with the ESP32 display board using the jumper wires; we simply followed the attached wiring diagram for connection.
Power Source Assembly
Next comes the power source assembly process; here we are using a 600 mAh 3.7 V LiPo cell whose positive and negative terminals we connect with the ESP32 Display's battery terminals using a soldering iron.
The ESP32 1.68-inch display we are using features a built-in lithium/LiPo charging IC that charges and discharges the cell properly, eliminating the need for a power circuit.
Body Assembly
- We begin assembling the body by placing the 3D-printed button actuators into their designated slots. Each button is labeled A, B, C, or D to ensure correct placement and orientation.
- Next, the ESP32 display is positioned and secured using a bit of hot glue.
- The switchboard is then mounted onto two screw bosses and fastened with two M2 screws.
- After that, we insert the LiPo cell into the enclosure and close the device from the back using the lid. The lid is held in place with four M2 screws.
With that, the device assembly is complete.
CODE
Now comes the most important bit of this project, which is the code. here's a small breakdown of the code we used and it's a simple one.
We start by including the graphics library and defining basic colors for use throughout the UI.
Next comes the Display Initialiazation, we use the below section that Sets up SPI communication and initializes the ST7789 display with 240×280 resolution and portrait layout.
This Section Defines the backlight pin and four input buttons mapped to answer choices A–D.
We added layout constants that control the positioning of question text and answer options on screen. Ensures clean spacing and alignment.
Then there is the Quiz Data, that Defines a Question struct and stores 20 space-themed questions with 4 options each and the correct answer index.
These are state variables that track quiz progress, score, and whether the device is in sleep mode.
In Setup Functions, we have set up four buttons as inputs with pull-up resistors and a backlight pin as output.
Also, we initialize the display in the setup function, meaning here the display starts and the splash screen is displayed.
In Loop, first there is the Sleep Mode Handling part.
If the device is in sleep mode (backlight off), it waits for Button A to wake it.
We also added a short delay (SLEEP_LOCK_DELAY) to avoid accidental wake from the same long press.
Then there is the Quiz Start Trigger.
If the quiz hasn’t started yet, any button press will begin the quiz.
In the end, we have added the answer checking and progression function.
After an answer is selected, the device shows feedback and moves to the next question. If all 20 questions are done, it shows the final score and resets after 10 seconds.
RESULT
Here's the end result of this small build—QuasarQ, a space quiz device designed to spark curiosity and make learning fun. It’s compact, responsive, and built with care, from the custom 3D-printed enclosure to the tactile button layout and crisp display interface.
Right now, we’ve only added a set of 20 questions just for testing purposes. The actual plan is to build a full database of 200+ space-related questions. The idea is that the device will randomly pick 20 questions from that larger pool every time it runs, so each quiz session feels fresh and different.
That’ll make it way more engaging, a bit more challenging, and definitely more educational—especially for kids who keep coming back to play and learn.
For now, the build is complete, and all the related files are included in the attachments.
Special thanks to HQ NextPCB for providing components that I've used in this project; check them out for getting all sorts of PCB or PCBA-related services for less cost.
Thanks for reaching this far, and I will be back with a new project soon.