Solve The Problem!
Today we want to draw your attention to a problem (Yes, PROBLEM!) encountered by our training partners in various classrooms. During their first lesson with Maker UNO, this simple Arduino sketch is uploaded to the board.
Take a look at the strange outcome on Maker UNO board below. All of the LEDs light up at random brightness, instead of only one LED at pin 4 which is configured in the program above.
What happen? Let's look into this issue right from a tutorial in Arduino's website.
What does it mean? This simply means that if Arduino Uno's I/O pin isn’t connected to anything, it can be either HIGH or LOW, and even any voltage level in between (and this can change randomly), because these pins are in high impedance state. You won't notice anything on the original Arduino Uno board unless you probe the pins with a multimeter. However, fred not! There's nothing wrong with the default to input configuration and in fact it's the common practice.
What does it has to do with Maker UNO? Since Maker UNO is using the same ATmega328 chip on Arduino Uno, this also affects the digital I/O pins on Maker UNO board. The situation is further exaggerated by the onboard LEDs. This random brightness of the LEDs has caused a lot of confusion to our first batch Maker UNO users who are new to Arduino.
What do we do now? Should we adhere to Arduino Uno's convention (ignore the random voltage level) or solve the issue (incur incompatibility with original Arduino board)? So we gathered feedback from our users and cracked our heads for potential solutions.
Finally we come out with Maker UNO custom board package for Arduino IDE. By using this board package, all digital I/O pins on Maker UNO will be initialized to OUTPUT and set to LOW by default. So when an LED is programmed to blink, all other LEDs will remain turned off. Those digital I/O pins which are not turned on in the program will not light up randomly and cause confusion. After one understands the fundamental concept of I/O, he can always choose to use the default Arduino/Genuino Uno board should the need arise.
What is the best? Though this may not be the best engineering practice, please be assured that it is the best solution we can offer after considering user-friendliness, compatibility and fulfillment deadline. We want to uphold the initial objective for Maker UNO that it is an educational tool designed for beginners and STEM educators. These users should breeze through their first lessons with Maker UNO without confusion, yet being able to use Maker UNO for greater projects in the future.
How to install? Please follow the steps in our Maker UNO Edu Kit Module, page 13-15.