Introduction and Comparison:
The main subject that I will be discussing in this article is microcontrollers, mainly Arduino for now. What is Arduino, and what is it useful for? Well, the immediate benefit is that Arduino is an open-source programmable board supported by a diehard community. With almost limitless possibilities. These boards can do everything from control motors to actuators to lights and everything I can’t think of right now. Programming takes just but a basic understanding of computer logic for anyone to get going. With a library and large community at one’s fingertips, these boards are some of the easiest to use. Boards you say? Yes, Arduino has a massive selection of boards to choose from to fit the needs of the job desired. This may sound daunting, but it really is not. The two most common… or at least the two that I use the most are the Uno, its DFrobot clone brother, Romeo, or the Micro. These two boards have their individual advantages and disadvantages.
But what can I use them for in my cosplay costume?! Have you ever wanted something to work by simply pushing a button? Light up or move seemingly by magic? Come to life? Basically, that is what can be done.
The listed boards are the three most common boards that I use in my projects. The specs listed are not the full specs, they are the main points for discussing their advantages and disadvantages. References and reference links are available at the bottom of this section.
This is the Arduino Uno. Its appearance may vary slightly depending on the version, and it is the most commonly used because of its versatility and it component add-ons which further broaden its usefulness.
- Digital I/O Pins: 14 (6 provide PWM output) Pins 0 and 1 are usually reserved only for serial communication
- Analog Input Pins: 6
- Dimensions: 2.7in x 2.1in
- Price: $24
These specs are a not as straightforward as the Uno because pin functionality can be changed depending on how the board is programmed. I will be listing them on their total function.
- Digital I/O Pins: 12 (7 provide PWM output) Pins 0 and 1 are reserved for serial communication
- Analog Input Pins: 11
- Dimensions: 1.8in x 0.7in
- Price: $25
- Digital I/O Pins: 14 (14 provide PWM output) Pins 0 and 1 are reserved for serial communication
- Analog Input Pins: 8
- Integrated Bluetooth Socket
- Integrated 2 way DC motor driver
- Separate and automatically switching auxiliary power input
- Dimensions: 3.5in x 3.1in
- Price: $37
Right off the top, these three boards are the ones I use the most because they fit perfectly to the projects I choose them for. Each has their pros and cons.
I must advise that I cannot be completely unbiased– I have been using DFrobot products for longer than any other, so I may favor them slightly more… only slightly.
This board is the backbone of Arduino. It is highly customizable with many possible add-ons to suit the needs of the project. I recommend this board to any newcomers because it is the most widely used board within the community; therefore there is a ton of help out there for anyone who gets stuck or has some kind of a problem.
This tiny board is, in a way, a more compact version of the Uno. I tend to lean toward this board more than any other because of its size and pin configuration setup. Its tiny size makes it much easier to hide in a costume or prop… unless it is a massive costume or prop in which it doesn’t matter.
DFrobot is a competitor to Arduino and there are a few other companies out there as well. The Romeo runs on the same microcontroller as the Uno and Micro and therefore can use the Arduino’s programming software and library. The Romeo is, and I will probably receive flak from this, a clone of the Uno only better.
What I find nice in comparison to the Uno is that the digital pins are set up to supply servos right off the board without wiring. Same with the analog input. It is already set pins to supply the analog sensors as well. The built in Bluetooth socket is a plus as well. But only fits the DFrobot Bluetooth module. Which is not a drawback at all.
A major disadvantage to all DFrobot products is that the community is not nearly as big as Arduino’s. This makes getting help very limited. Another drawback is that not all of the Arduino programming library is compatible with the Romeo. This can be very frustrating especially if it is a complex project and difficult to pinpoint the problem.
I prefer the Micro over the other boards because of its small size. It is more than capable of doing any project. That is until there is need for more pins. In that case I will chose the Romeo over the Uno because its similarities to the Uno but the pin set up makes it less work, less wiring essentially.
Side note: no matter the board brand, they all work similar to each other and can be programmed to work with each other.
Here is a video of what I use the boards for: https://www.youtube.com/watch?v=CUfakvVuTWc
- Digital I/O Pins
- These pins are used for both digital input and output communication
- Output signal example:
- Servos (motors that track their position, requires PWM output)
- Actuators (motors that move linearly)
- Serial communication (This will be discussed in depth later but it also has an input signal as well. This is how boards communicate with each other)
- Input signal example:
- Switches (This include anything that has one of two outcomes either on or off)
- Analog Input Pins
- These pins are for analog input, outcomes that are not either on or off. However, some forms of digital input can be sent through these pins with success. A lot of the sensors that can be utilized by the board send their signals in analog form. But as well, there are also many sensors out there that send data in PWM form.
- Potentiometers (best example is an old radio volume dial)
- Joysticks (a joystick broken up into two positions. Some have a button by pressing down on the joystick, that is digital signal)
- PWM or Pulse Width Modulation
- In simple terms this is a digital signal that is… pulsing. This signal is a good form of digital communication for both sending and receiving. The most common use of PWM is for servos. A signal pulse is set by the microcontroller through the desired pin. The small board on the servo reads this pulse and compares it to the position of the motor and if they do not correspond it moves the motor to the set position. Some sensors also use this form of communication to relay their data to the board. PWM can also be used for LEDs as well, however some recommend not doing it. Which in all the time I have been using these boards I have not damaged the board… I have blown LEDs but they are inexpensive.