Try This: Improve the Script
Try This – Prove it Works
If you’re skeptical that packet = “HAPPY” followed by getattr(Image, packet) is equivalent to Image.HAPPY, try this:
- Add this routine between sleep(1000) and while True: in the transmitter script radio_send_images.py.
- Flash the modified script with the Send to micro:bit button.
print("Image.HAPPY =", Image.HAPPY)
sleep(500)
packet = "HAPPY"
print( "getattr(Image, packet) =", getattr(Image, packet) )
sleep(500)
- If the serial monitor isn’t already open, click Show serial.
- Verify that the results resemble what’s shown here.
Image(…) has brightness data for each LED in the display. In this case it only uses 0 (LED off), and 9 (LED brightest). Values between 0 and 9 for each LED can be used to control the brightness.

Your Turn – Compact your Code
This code takes up unnecessary program space in the micro:bit module’s memory.
packet = "HAPPY"
print("Send:", packet)
radio.send(packet)
sleep(2500)
packet = "SAD"
print("Send:", packet)
radio.send(packet)
sleep(2500)
packet = "ANGRY"
print("Send:", packet)
radio.send(packet)
sleep(2500)
Your program can instead create a list like string_list = [“HAPPY”, “SAD”, “ANGRY”]. Then, inside the while True loop, the for packet in string_list can index through each string in string_list.
- Use that hint to modify the radio_send_images transmitter script.
- Test and verify your solution.