Arduino Programming Techniques: Part List

Jump to navigation Jump to search

back to Arduino Programming Techniques

For the exercises and examples you will need:

  • Arduino Mega or a clone.
    Clones are available via AliExpress from about $7, they usually have CH34x programmer, which means you may need to install a driver for it. On Linux the driver is usually pre-installed, on Windows it's easy to install, on Mac a driver is available, but a bit tricky to install.
    If you get the optional PWM controller listed below, you can use an Arduino UNO Rev 3 or compatible which you may already have.
  • Breadboard
  • Male-Male jumper wires.
  • A few 10KΩ resistors.
  • 1 x 330Ω resistor
  • Male-Female jumper wires are a good idea, since they enable you to take out some of the components off the breadboard.
  • 2 x KY-040 Rotary Encoder
  • 2 x KY-016 or 2 x RGB LED (common cathode) and proper resistors (220Ω for Red, 150Ω for Green, 150Ω for Blue; It's should be OK if you use 220 Ohm for all.)
  • 2 x AD Key Keyboard Simulate Five Key Module Analog Button (translates 5 buttons to a single analog value.) AD Key.jpeg
  • 1 x Nokia 5110 Screen with PCB adaptor. You may have to solder the headers. From the little experience I've had, the ones with the red PCB don't have the header pre-soldered, the blue ones do, but don't count on it.
    Nokia 5110.jpeg
  • 2 x 10KΩ or more Potentiometer (specific resistance is not very important, since we use it only as a voltage divider for analog input.)
  • Optional: 1 x 16-Channel 12-bit PWM/Servo Driver - I2C interface - PCA9685. The part will only be used in an example, but will not be required for any exercise. If you chose to get this part, make sure you get the RGB LEDs not as part of the KY-016, since this board already has resistors. If you solder the board as designed, you will also need M-F jumper wire. However, I recommend soldering female headers instead of male, and also leave the V+ and GND holes next to the PWM holes without the headers to gain easy access, (see picture.) After the course ends, if you chose so you can desolder the headers and solder the male ones that are supplied with the board, and use it for its primary designed purpose: servo driver.


The following items are for late in the course, DIP switches are usually sold from china in quantity, so you may want to purchase with other participants (although they are cheap even if you buy them in the minimal quantity available.)

  • 1 x CD74HC4067 16-Channel Analog Digital Multiplexer Breakout Board Module. You may have to solder the headers, which might not be included.
  • 2 x 8p DIP switch or 4 x 4p DIP switch or any other combination that gives you 16 on/off switches in that you can plug into your breadboard.

However, to avoid jumper wire mess (which would also require many jumper wires,) I suggest the following:

Get 2 x 8p DIP Switch, file off the edges, so they would fit next to each other on the breadboard without a gap.

Get 2 x breadboard of the same type, even the small 400 hole type would do. Remove 2 power/gnd modules 1 from the upper part of one, and one from the lower part of the other.

Connect the 2 breadboards together.

Get 16 header pins row and solder the pins together using non-isolated wire.

Then you can connect the whole thing like that:


The breadboard connects the multiplexer to the DIP switches directly. No jumper wires required. Also spared are 15 of the 16 jumper wires connecting the switches to VCC.

back to Arduino Programming Techniques