Math Learning for Kids




This project is a reverse calculator: the user is presented a random math problem to solve. The number of right and wrong answers is presented on the screen.

Step 1: Needed Parts

The parts you will need are:

  1. Arduino Nano, or another micro-controller.
  2. Keypad. I used a 4x4 membrane keypad.
  3. Display. I used an 128x64 OLED display.

For the power part I plan using a Li-Po battery with a charger-protector board.

Step 2: Schematic

The schematic is simple: the OLED is connected via I2C, the keypad is connected to 8 digital pins.

Step 3: Coding

The code uses the u8glib library for the OLED display. I tried using the newer u8g2 library, but the memory usage was too high.

Two random numbers are generated for the math problem, and a random mathematical operation (addition or multiplication).

The code is available on github: KidMathGame.

Step 4: Epilogue

This is only a demo project, it is missing some essential parts:

  • A battery, to make it portable, and an optional Li-Po charger board.
  • A case.

I also plan moving to ESP8266. The issue is with the keypad: it requires 8 digital pins, and the ESP8266 is low on them. I'll try using an I2C expander, such that the keypad and the oled will be on the same I2C bus.

Such an IOT device will have many traits:

  • The kids' math level can be tracked, and all data can be logged remotely.
  • The level of quizzes can be adjusted OTA.



    • Build a Tool Contest

      Build a Tool Contest
    • Remix Contest

      Remix Contest
    • Sweet Treats Challenge

      Sweet Treats Challenge

    2 Discussions


    1 year ago

    Great project! For the IoT version I'd recommend a WeMOS D1 mini board. It can be programmed just like the Nano, has a sufficient number of digital pins, and is unbeatable cheap.

    1 reply

    Reply 1 year ago

    I made a new version with the Wemos D1 mini: