Sunday, February 14, 2016

Continued refinement of the ATmega32M1 / ATmega64M1 support under Arduino IDE

Though slow, there has been progress in enabling the ATmega32M1 / ATmega64M1 uC inside the Arduino.  Today new Arduino IDE support files are available under the "Arduino Libs" resource tab above.  They corrects a few errors, and a new 'version' is available that is compatible with the latest Arduino IDE 1.6.7 without producing warning messages.

At this point we have demonstrated the basic of the porting effort, SPI has been demonstrated to functions - as well as I2C using one of the SoftI2C libs.  The advanced PCS (Power Stage Controller - think really smart PWM) is working, as is the amplified differential ADC inputs.  And a 1st step at utilizing the built in CAN subsystem was accomplished, via a rather ugly rough-n-ready porting of the Atmel AT90CAN lib.

Over the coming months I am looking to create a more 'Arduino like' library for the  CAN subsystem, and may also look at a like one for the PCS subsystem.  If anyone is interested in helping out, feel free to contact me!


  1. Curious... Why drive the power stage with outputs from your microcontroller instead of using an off-the-shelf PWM controller? Most of them will have nice features like pulse by pulse current limiting, leading edge blanking, slope compensation, etc. Takes a lot of the load off your mcu plus adds some nice safety features if the cpu locks up. Plus the obvious advantage of higher frequency switching.

  2. Hi, great question - in fact the AtmegaxxM1 has a built in advanced PWM controller called a Power Stage Controller with many of those features you talked about.

    It is one of the reasons I selected this chip.