Arduino Compatible Pro Micro (HCDVBD0013)

admin
Site Admin
Posts: 748
Joined: Sun Aug 05, 2012 4:02 pm

Arduino Compatible Pro Micro (HCDVBD0013)

Post by admin » Sat Aug 24, 2013 2:58 pm

Image

Description:

The Pro Micro is similar to the Pro Mini, except for the fact that it utilises the ATMega32U4. Additionally, there is an on-board USB transceiver inside the 32U4, which removes the need for a bulky external USB interface. There is also a voltage regulator on-board which means it can accept up to 12V DC. Please bear in mind that if supplying unregulated power, you need to connect to “RAW”, not “VCC”.

The pro micro is available to two versions, 3.3V and 5V:

3.3V Version:
Product Code: HCDVBD0024
Supply voltage (VCC): 3.3V
Supply voltage (RAW): 3.6V - 12V
Frequency: 8MHz
Dimensions: 1.3 x 0.7"
Order the 3.3V Version Here.

5V Version:
Product Code: HCDVBD0013
Supply voltage (VCC): 5V
Supply voltage (RAW): 5.3V - 12V
Frequency: 16MHz
Dimensions: 1.3 x 0.7"
Order the 5V Version Here.



Features:

• ATMega 32U4 running at 5V/16MHz or 3.3V/8MHz (depending on version)
• Supported under Arduino IDE
• On-Board micro-USB connector for programming
• 4 x 10-bit ADC pins
• 12 x Digital I/Os (5 are PWM capable)
• Rx and Tx Hardware Serial Connections


This product is manufactured by Deek-Robot and is derived from the SparkFun(TM) Pro Mini reference design which was released under the Creative commons Attribution-ShareAlike 3.0 licence.
https://creativecommons.org/licenses/by ... /legalcode


Files:

As of writing this post, the current Arduino development environment does not directly support the Pro Micro; but adding support is very simple. First of all you will need to download a zip file containing drivers and hardware files. This can be downloaded from the SparkFun website here, or a current known working snapshot can be downloaded directly from this post below:
SF32u4_boards.zip
Uzip this folder and place it in the 'Hardware' folder contained within your Arduino development environments working folder. By default this is usually C:\Users\Username\Documents\Arduino\Hardware (assuming you are using windows). If you don't see a hardware folder, just create one. Within this unziped folder you will see a driver folder that contains a driver for your Pro Micro.

Schematic:
Pro_Micro_HCDVBD0013_Schematic.zip
Modified Blink Sketch:

Code: Select all

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.
 
  This example code is in the public domain.
 */
 
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 17;

// the setup routine runs once when you press reset:
` setup() {                
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);     
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(100);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(100);               // wait for a second
}
FAQ:

Why are there only 5 PWM channels when other Arduino 13U4 based boards have 7?
This is because the 2 PWM channels that would normally be available on header pins D11 and D13 are not routed out on this board. They are still there but you would have to solder directly to the pins on the device, hence not being advertised as useable.

Why does the USB interface disappear and reappear when I program or reset my board?
It is normal for the USB port on a Leonardo to disappear whilst in the programming process, or when it is reset. This is because the main processor handles the USB interface itself via software emulation. Therefore if it is manually reset, or reset by the programming process this software emulation stops running and the USB port is temporarily lost while the Arduino bootloader reboots. There is a section on the Arduino website that explains this in more detail here: http://arduino.cc/en/Guide/ArduinoLeona ... noLeonardo

What is the maximum current I can draw from the 5V regulator?
The manufacture of the regulator specs a maximum of 400mA. Please bear in mind that this maximum is based on ideal operating conditions. As a general rule of thumb, if the regulator is getting hot to the touch then you are probably drawing too much power from it. Under normal loads the regulator should stay cool/slightly warm to the touch.
You do not have the required permissions to view the files attached to this post.

Hagie

Re: Arduino Compatible Pro Micro (HCDVBD0013)

Post by Hagie » Tue Oct 01, 2013 8:25 pm

Could you tell what JP1 is and on which ports the two green led's are connected.

Thanks

andrew
Site Admin
Posts: 907
Joined: Sun Aug 05, 2012 4:15 pm

Re: Arduino Compatible Pro Micro (HCDVBD0013)

Post by andrew » Wed Oct 02, 2013 10:55 am

JP1 is just used to configure the boards as a 5V or 3.3V version. I do not recommend shorting this jumper out as you will short out the on-board regulator.The leds are connected to D17 and PD5. By logging in you will see a schematic in PDF format.
Comments made by this poster do not necessarily reflect the views of Hobby Components Ltd.

hagie
Posts: 1
Joined: Wed Oct 02, 2013 4:08 pm

Re: Arduino Compatible Pro Micro (HCDVBD0013)

Post by hagie » Wed Oct 02, 2013 5:31 pm

Ah better now ,

ok I see that the Pin 17 is PB0 which is used as SS in SPI operations. Am I right thats not possible to use SPI aplications with this board because the LED is attached to PB0 ?

Hagie

andrew
Site Admin
Posts: 907
Joined: Sun Aug 05, 2012 4:15 pm

Re: Arduino Compatible Pro Micro (HCDVBD0013)

Post by andrew » Thu Oct 03, 2013 11:39 am

This is a good question. I don't know why Spark Fun chose to do it in this way. The LED shouldn't affect communication on the SS line, but they also chose not to route it out to a pin. If I remember correctly from discussions about this the two possible solutions are to solder a wire to R4, or a better solution is to change the pin definition in the appropriate library header file to D10.
Comments made by this poster do not necessarily reflect the views of Hobby Components Ltd.

pocketmoon
Posts: 7
Joined: Thu Dec 26, 2013 11:32 pm

Re: Arduino Compatible Pro Micro (HCDVBD0013)

Post by pocketmoon » Sat Feb 22, 2014 2:25 pm

Hi

I'm struggling to get this working under window. I have it recognised by the Arduido IDE (using the older 1.0.1) version but when I plugged it in the the PC Windows went ahead and installed some drivers for it anyway. I wasn't given the option of installing the pro micro drivers. Symptom is that I get avrdude stk500_getsync(): not in sync: resp=0x32 when trying to upload a sketch.

andrew
Site Admin
Posts: 907
Joined: Sun Aug 05, 2012 4:15 pm

Re: Arduino Compatible Pro Micro (HCDVBD0013)

Post by andrew » Sat Feb 22, 2014 3:04 pm

Did you remember to add the additional files from the first post of this thread to your Arduino environment? If so what board type do you have selected under Tools->Board?
Comments made by this poster do not necessarily reflect the views of Hobby Components Ltd.

pocketmoon
Posts: 7
Joined: Thu Dec 26, 2013 11:32 pm

Re: Arduino Compatible Pro Micro (HCDVBD0013)

Post by pocketmoon » Sat Feb 22, 2014 5:18 pm

Sorted! Downloaded " current known working snapshot " rather than latest files at sparkfun and it's working :)

vwguy16
Posts: 1
Joined: Fri Feb 28, 2014 10:32 pm

Re: Arduino Compatible Pro Micro (HCDVBD0013)

Post by vwguy16 » Fri Feb 28, 2014 10:41 pm

Hi, I received my board today, have it installed using the files in the first post...but i have an odd problem.

the following code is from the basic blink sketch ( with a little modification to point out my issue)

digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(100);


so this should light the onboard LED (17) for 1 second then turn off for .1 of a second ?

but it doesnt, it does the reverse....off for 1 second then on for .1

its the onboard led and im running it off the usb on my pc...so its not like ive gotten the led round the wrong way....unless its a bad board?

any help would be greatly appreciated


Andy



have just tried this :

void setup() {
Serial.begin(115200);
}

void loop() {
Serial.print("HIGH: ");
Serial.print(HIGH);
Serial.print(" ; LOW: ");
Serial.println(LOW);
}



and I do get HIGH : 1 ;LOW 0

so that means its working right ....im confused


:--------------------------------------------------------------

edit 2
after finding an led i wired up the output of another pin and it actually works as it should....so for some reason the onboard led is not doing as its told....high = low and low = high...

andrew
Site Admin
Posts: 907
Joined: Sun Aug 05, 2012 4:15 pm

Re: Arduino Compatible Pro Micro (HCDVBD0013)

Post by andrew » Sat Mar 01, 2014 8:58 am

This is because the way the LED on D17 is connected is different to the way you have connected your external LED. The positive side of the LED (anode) is connected to +5V and the negative side (cathode) is connected to the pin D17 (via a current limiting resistor). Therefore you need to drive the pin low to effectively ground the negative side of the LED which then allows current to flow through it. This is called current sinking rather than the method you are using which is called current sourcing. The main reason for doing it this is because as a general rule, digital pins on microcontrollers can sink more current then they can source.
Comments made by this poster do not necessarily reflect the views of Hobby Components Ltd.

Post Reply