ABC Camera

ABC Camera is an interactive version of the classic letter block toys. Comes with a spelling game, and can be adapted for other software.

Similar projects worth following
Letter blocks are classic toys, since manipulating letters physically is a very accessible way to learn how to recognize and combine them. ABC Camera is a toy that has all the educational benefits of the classic letter blocks, but also provides the learner direct feedback and prompts. The toy will display possible continuations for the letters that have been combined so far. When a word is complete, the toy will display an image representing the word.

ABC Camera consists of a main unit and a number of letter blocks that can be slotted into to the main unit one after the other. The main unit contains a Raspberry Pi, a camera, and LEDs, which provide lighting for the camera. On the inside of the letter blocks there are protrusions which are used to identify blocks and their rotations. Image recognition software (OpenCV) is used to detect the protrusions from the image captured by the camera. The casing of the main unit and the blocks are built with LEGOs for reusability.

The purpose of this project is to test an interactive method of teaching letters and spelling to small children. In a nutshell, the project is a photo gallery application that can be navigated with an input device resembling traditional letter block toys. So it combines an interface that's proven to work with small children with an activity that interests them, i.e. viewing photos. The input device can of course be adapted to work with other software.

The input device is based on the optical recognition of shapes. The main unit houses a camera, and hollow letter blocks are slotted on to the main unit so that the center point of the camera lens aligns with the centers of the hollow letter blocks. Each letter block has a number of protrusions (inward-sticking LEGO blocks) on the inside, and these protrusions are what allows the device to determine, which letters have been input.

One important aspect of the project is that it's made almost entirely from multi-use parts. Learning toys like this will only be used for a limited amount of time, so it's important that they can be recycled or reused efficiently. ABC Camera consists of a Raspberry Pi, a Pi camera, breadboard, LEDs, some jumpers, and a lot of LEGO-style bricks. These can be used as toys or for other hobby projects, and most can be sold in second-hand markets. Similar devices could probably be built more simply and cheaply with custom-made or specialized parts, but they would be much more difficult to reuse. ABC Camera on the other hand can be used as a child's first computer (with the addition of a keyboard) or modified into a child-friendly camera (with a battery pack, shutter button, and optionally a thermal printer). Slightly older children can use the components to learn the basics of electronics.

  • 1 × Raspberry PI 3 Single-board computer, processes images and runs the game
  • 1 × Raspberry Pi Camera Camera for producing images for recognizing blocks and their rotations
  • 1 × Four green LEDs Provide lighting to make the image processing tasks easier
  • 1 × LEGO blocks of various sizes and colour The Pi and the Camera have a LEGO housing, and the letter blocks are also made of LEGOs. LEGO are chosen to simplify image processing.
  • 1 × Camera cover Covers the main unit and provides a centered attachment point for the camera and the lighting LEDs.

View all 6 components

  • The initial state of the project

    Tommi Nieminen09/19/2017 at 11:22 0 comments

    I started this project earlier this year and made a basic working prototype. My goal now is to refine it into something that other hobbyists can reproduce easily. The main issues with the current prototype are the following:

    1. The cover plate that the camera and the LEDs are attached to is just a badly fitting piece of MDF board with some holes in it. The LEDs are aligned with Blu Tack, and the camera is off-center and incorrectly rotated, which needs to be corrected in the software.

    2. The recognition algorithm needs to have some tolerance built into it, since the letter blocks won't always be perfectly aligned with the camera. The current tolerance method is computationally heavy, which leads to a noticeably delay in letter recognition.

    3. Ambient light has a significant effect on recognition results, and the prototype only works reliably in low light conditions.

    4. There's no proper hardware or software documentation.

    I'll try to these problems over the next few weeks, and hopefully create something that others can build for their children.

View project log

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates