

the Master Out Slave In hardware cannot be moved to another pin. All of the Pro Micros I/O and power pins are broken out. with QMK), you'll have to translate the pin names marked on its PCB to the AVR ones. These pins are referenced in the Arduino IDE via an integer value between 0 and 21. pin 3 on the Pro Micro is called D0 on the Atmega32u4.Īrduino makes it confusing by not mapping its pin numbers to AVR ports, but this is for a reason. Some pins on the AVR can also be used for special purposes such as serial, timer input, PWM output, etc. and they are therefore sometimes labelled by those functions on the Pro Micro.Īrduino pins to AVR ports. The same data as above, this time in order of the AVR codes to make translating from AVR to Arduino easier: This is a table to translate the Arduino pin names marked on the silk screen into ARV ports, ordered more or less alphabetically:ĪVR ports to Arduino pin names. The Pro Micro has a built-in voltage regulator (it was designed to run on batteries). There are two variants of the Pro Micro: One which feeds the AVR 3.3V, and one which is made to feed it 5V - the 5V version being the most common. If you do feed it with +5.0V from USB, however, there is a penalty - the voltage regulator will deliver only +4.9V. The AVR should run well on 4.9V, but you could also bypass the voltage regulator by bridging J1 with solder. RAW = +5V from the USB port (or power IN if you use battery).VCC = +4.9V (or 3.3V) from the voltage regulator, or +5V if bypassed.On 3.3V, the AVR is limited to 8 MHz and the firmware needs to be made for it but since most firmwares are made for the Teensy 2.0 which runs always on 5V, if you have the 3.3V of the Pro Micro you should bridge J1 to run that firmware.In this tutorial we will be using an Arduino to demonstrate the wiring and interfacing.
ARDUINO PRO MICRO PINOUT CODE
If you have another microcontroller, you'll need to adapt the wiring and code to match!īecause SD cards require a lot of data transfer, they will give the best performance when connected up to the hardware SPI pins on a microcontroller. The hardware SPI pins are much faster than 'bit-banging' the interface code using another set of pins. For 'classic' Arduinos such as the Duemilanove/Diecimila/Uno those pins are digital 13 (SCK), 12 (MISO) and 11 (MOSI). You will also need a fourth pin for the 'chip/secondary select' ( SS) line. Traditionally this is pin 10 but you can actually use any pin you like. If you have a Mega, the pins are different! You'll want to use digital 50 (MISO), 51 (MOSI), 52 (SCK), and for the CS line, the most common pin is 53 (SS). Overview The Arduino MKR MEM shield will allow you to add more flash memory and storage. Again, you can change the SS (pin 10 or 53) later but for now, stick with those pins. It also includes a slot for adding a microSD card to store several gigabytes of storage. There's one more pin CD - this is the Card Detect pin.Ĭonnect the GND pin to the GND pin on the Arduino.Connect the 5V pin to the 5V pin on the Arduino.This can allow you to store data for later analysis. It shorts to ground when a card is not inserted. (Note that some card holders are the other way around).
