Abstract
Have you ever tried to communicate with a baby or toddler who cannot talk yet? What about another kid or an adult who cannot speak due to a medical condition? There are many ways we can communicate without speaking, like writing or using sign language. We can also use technology to help make it easier to communicate. In this project you will program your own communication aid to help someone who cannot speak show their emotions or simple messages.
Summary
None
This project requires a micro:bit and a computer with an internet connection and a USB port. See materials list for details.
No issues
Objective
Program a communication aid to show emotions or messages.
Introduction
There are many ways we can replace speech or writing as forms of communication. Things or devices that help people communicate are called communication aids. Some are low-tech, like a simple printed piece of paper with pictures that a user can point at (Figure 1). Others are electronic devices that can generate speech (speech-generating devices) depending on which button is pushed (Figure 2). In general, these devices fall into the category of augmentative and alternative communication (AAC). Augmentative communication devices help supplement existing communication methods but do not replace them completely. Alternative communication devices can completely replace speech or writing.
These devices are used by people in all stages of life for many different reasons. People can have trouble with verbal communication due to a variety of medical conditions, such as autism spectrum disorder, cerebral palsy, anxiety disorders, aphasia, speech disorders, stroke, or traumatic brain injury, although individuals' abilities can vary widely. Some people may be able to speak but be hard to understand or have difficulty communicating, and some might be completely nonverbal, or unable to speak at all. Not everyone can push buttons or point with their fingers, so some communication aids also work with different inputs, like eye movements or hand gestures.
In this project you will make your own communication aid using a tiny programmable computer board called a micro:bit (note the spelling - "micro:bit," not "micro bit" or "microbit"). The micro:bit has a variety of inputs, like buttons and an electronic sensor called an accelerometer that can detect when the micro:bit shakes or tilts. It also has a buzzer and grid of LEDs that you can use as outputs to play sounds or display or shapes. By writing a program to make the outputs react to the inputs, you can design your own communication aid that lets someone show messages or emotions.
The procedure for this project will show you how to make a basic communication aid that shows a smiling face when you press one button, a frowning face when you press another button, and a message when you shake the micro:bit. However, you can program your communication aid to do whatever you want!
Terms and Concepts
- Communication aid
- Speech-generating device
- Augmentative and alternative communication (AAC)
- Verbal communication
- Nonverbal
- Input
- micro:bit
- Button
- Sensor
- Accelerometer
- Buzzer
- LED
- Output
Questions
- What are some reasons someone might need to use a communication aid?
- What are some different types of communication aids?
- What are some examples of inputs and outputs for a communication aid?
- What do you want to program your communication aid to do?
- Do you want to make a communication aid for someone with a specific condition? What types of inputs and outputs might make sense for someone with that condition?
Bibliography
- American Speech-Language-Hearing Association (n.d.). Augmentative and Alternative Communication (AAC). Retrieved July 30, 2024
- Micro:bit Educational Foundation (n.d.). Getting Started. Retrieved June 7th, 2024
- Science Buddies Staff (n.d.). Engineering Design Process. Science Buddies. Retrieved June 10th, 2024
Materials and Equipment
- micro:bit Go Bundle. This kit contains everything you will need to get started working with micro:bit:
- micro:bit board
- micro-USB cable
- 2xAAA battery holder
- AAA batteries (2)
- Computer with internet access and USB port
Disclaimer: Science Buddies participates in affiliate programs with Home Science Tools®, Amazon.com, Carolina Biological, and Jameco Electronics. Proceeds from the affiliate programs help support Science Buddies, a 501(c)(3) public charity, and keep our resources free for everyone. Our top priority is student learning. If you have any comments (positive or negative) related to purchases you've made for science projects from recommendations on our site, please let us know. Write to us at [email protected].
Experimental Procedure

- If this is your first time using a micro:bit, follow the Getting Started instructions on the micro:bit website to learn how to use your micro:bit and connect it to your computer.
- Decide what programming language you will use for your micro:bit:
- If you are new to coding, we recommend using Microsoft MakeCode to program your micro:bit. MakeCode is a graphical programming language where you make computer programs using colored blocks of code instead of a text editor. The example code in this procedure uses MakeCode. We recommend following a few of the MakeCode tutorials before you proceed.
- You can also program your micro:bit in Python, JavaScript, and Scratch. You may prefer this approach if you already have programming experience in one of these languages. See the Let's Code page for more details.
- Make a plan for your communication aid. What you program is up to you, but here are just a few suggestions. You can learn about other micro:bit input and output options on the Features page.
- What outputs do you want to use?
- You can use the LED grid to display icons that indicate emotions, like hearts or smiley faces.
- You can use the LED grid to display scrolling text messages.
- You can use the buzzer to play sounds or music.
- What inputs do you want to use to control the outputs?
- The micro:bit has two buttons. You can press them individually or at the same time, giving three possible combinations.
- The micro:bit also has a touch-sensitive logo that acts like an extra button.
- The accelerometer can detect a variety of motions, like shaking or tilting the micro:bit.
- What outputs do you want to use?
- Write the code for your communication aid. Figure 3 shows an example program that will do the following:
- Show a smiley face when button A is pressed.
- Show a frowning face when button B is pressed.
- How the text "Hello!" when you shake the microbit.
- To build this program:
- Drag the
on button A pressedblock out from the Input menu. - Drag a
show iconblock out from the Basic menu.- Snap it inside the
on button A pressedblock. - Use the drop-down menu to select the smiley face icon.
- Snap it inside the
- Drag the
on button B pressedblock out from the Input menu. - Drag a
show iconblock out from the Basic menu.- Snap it inside the
on button B pressedblock. - Use the drop-down menu to select the frowning face icon.
- Snap it inside the
- Drag an
on shakeblock out from the Input menu. - Drag a
show stringblock out from the Basics menu.- Snap it inside the
on shakeblock. - Change the message to whatever you want.
- Snap it inside the
- Note that you do not need to add anything inside the
on startorforeverblocks.
- Drag the

- Test your communication aid using the in-browser simulator.
- You can click the A and B buttons. Make sure the correct icons appear.
- Since you cannot physically shake the micro:bit in your browser, there is a "shake" button that is not present on the real micro:bit. Click the button and make sure the message displays.
- Download the code and test it on your physical micro:bit.
- What improvements or changes can you make to your communication aid? See the Variations section for more ideas.
Ask an Expert
Global Goals
The United Nations Sustainable Development Goals (UNSDGs) are a blueprint to achieve a better and more sustainable future for all.
Variations
- Try out the blocks under the Music menu as additional outputs. Can you play "happy" or "sad" melodies or tones that go along with your smiley and frowning faces?
- Try out the other motions that the accelerometer can detect by changing the drop-down option in the
on shakeblock. - Even though there are only four possible button combinations (button A, button B, buttons A+B, and the touch-sensitive logo), can you program your micro:bit to display more than four message options? For example, can you use a single button to cycle through multiple messages?
- Try some real-world testing of your communication aid. If you have a younger sibling or other family member who cannot speak or needs help communicating, can you design the device with their needs in mind?
Careers
If you like this project, you might enjoy exploring these related careers:











