I have Arduino Pro Micro connected via USB to my Mac (Mac OS Sierra 10.12.6). Arduino IDE is 1.8.7, and the board is identified there as 'Board: SparkFun Pro Micro / Processor: ATmega32U4 5V/16 Mhz'. Board info gives: 'BN: Unknown board / VID: 1B4F / PID: 9206'.
From the Tools menu, select Tools - Boards - Arduino Pro or Pro Mini From the Tools menu, select Tools - Processor - ATmega328P (3.3V, 8MHz) Then from Tools select the Port to be the serial port of the Feather. Browse for Arduino Driver Software. In the next dialog box, make sure that Include subfolders is checked and then click the Browse. Browse for Driver. In the dialog box that pops up, navigate to the drivers subfolder of the Arduino folder that you unzipped earlier. Click the drivers folder to select it and then click the OK button. Select the Arduino drivers Folder. The installer will copy all the necessary files into your Arduino Software, when you click the 'Install' button. When installation is finished, you will see this final screen. Just click Done to quit the installer. When using Arduino, be sure to select Teensy in the Tools Boards menu.
If I send to it more than 384 bytes of data at once, only 384 bytes will be displayed, and the board will freeze, freezing Arduino Serial Monitor as well (or
screen) until I unplug the board from USB. While frozen, I can't upload new sketch to it either.
Here's the simplest code that I use:
So it reads the data at the fastest speed possible and just echoes it back. If I don't echo the data back, but just read it to empty the serial buffer, the problem still persists.
Once I upload this sketch to Arduino, I can either open the Serial Monitor, or use
screen /dev/cu.usbmodem14121 9600 from the console. As I type on the keyboard in
screen, or send entire strings via the Serial Monitor, the input will be echoed back. But If I copy a large block of text (more than 384 symbols) and paste that into the
screen session or paste and send via Serial Monitor, only the first 384 symbols will be echoed back, and Arduino will freeze.
Rebooting the Mac doesn't help.
I noticed that if I force the serial speed to 1200bps (for example, by using
screen /dev/cu.usbmodem14121 1200), then I will see no freezing. 2400bps and above results in the same freezing issue. I tested this on 3 different Arduino Pro Micro boards from different vendors, and all have the same issue. I used bare boards, with no external components attached to pins.
I understand that these boards connect USB directly to ATmega32U4 chip, so the problem seems to be either in the chip itself (less likely) or the USB drivers / HardwareSerial implementation in Arduino (more likely).
Do you kind of want a macropad, but aren’t sure that you would use it? Hackaday alum [Jeremy Cook] is now making and selling the JC Pro Macro on Tindie, which is exactly what it sounds like — a Pro Micro-based macro keypad with an OLED screen and a rotary encoder. In the video below, [Jeremy] shows how he made it into a music maker by adding a speaker and a small solenoid that does percussion, all while retaining the original macro pad functionality.
[Jeremy]’s original idea for a drum was to have a servo seesawing a chopstick back and forth on the table as one might nervously twiddle a pencil. That didn’t work out so well, so he switched to the solenoid and printed a thing to hold it upright, and we absolutely love it. The drum is controlled with the rotary encoder: push to turn the beat on or off and crank it to change the BPM.
To make it easier to connect up the solenoid and speaker, [Jeremy] had a little I²C helper board fabricated. There’s one SVG connection and another with power and ground swapped in the event it is needed. If you’re interested in the JC Pro Macro, you can pick it up in various forms over on Tindie. Of course, you might want to wait for version 2, which is coming to Kickstarter in October.
Arduino Pro Micro Driver Mac Download
Arduino Pro Micro Driver Mac Version
There are many ways to make a macro keyboard. Here’s one that also takes gesture input.