after purchasing my first A-Star Micro I want to make it 3.3V IO compatible.
I already found a post on an Orangutan where the change seems easily made and try to build a little step-by-step thread here describing the required changes for A-Star Micro.
The first steps I took before changing any hardware on the board:
- Decrease brown-out voltage to 2.6V via AVR ISP programmer (like for Orangutan)
- Made no change on CKSEL fuses because they should work with 8-16 MHz resonator range.
Afterwards I replaced the 16 MHz crystal resonator with an 8 MHz resonator to allow 3.3V operation of the ATMega32U4. Power supply is still 5V up to here.
This leads to the USB malfunctioning. I suppose this is due to all bootloader code and clock divider settings of USB interface are built with 16 MHz.
Therefore, I compiled the Caterina bootloader from https://github.com/pololu/a-star/tree/master/bootloaders/caterina with F_CPU = 8000000 instead of 16000000 and VID=0x1FFB and PID=0x0101. Afterwards renamed Caterina.hex to Caterina-A-Star8Mhz.hex and programmed it to the board with AVR ISP.
Afterwards the USB is working again and I added the following lines to the boards.txt file in \Arduino15\packages\pololu-a-star\hardware\avr<version>:
[details=boards.txt]a-star32U4_8.name=Pololu A-Star 32U4 8MHz
a-star32U4_8.build.usb_product="Pololu A-Star 32U4"
This contains the changed 8MHz CPU clock, the changed brown-out detection to 2.6V in the fuse settings, and the new built caterina/Caterina-A-Star8Mhz.hex, which has to be placed accordingly.
Now after choosing the “Pololu A-Star 32U4 8MHz” and the corresponding serial port, the board was directly programmable via Arduino IDE 1.8.1.
Now the Board is fully functional at 8 MHz but ist still using 5V internal supply voltage. Therefore, I replaced the voltage regulator with an LP2985-33, removed the transistor and bridged the VBUS_IF pad to the VIN pad to also get 3.3V supply via USB.
Afterwards the LEDs light up a little darker and the board is now on 3.3V including IO voltage
I hope that someone might find this little tutorial useful, but I don’t give any warranties.
USE THIS ON YOUR OWN RISK!
P.S.: Here are the boards.txt file and the compiled Caterina (packed together with the blink example sketch like described here: https://github.com/pololu/a-star/blob/master/bootloaders/caterina/Caterina-A-Star.txt) for 8MHz:
boards.txt (3.3 KB)
Caterina-A-Star8Mhz.hex (22.2 KB)