Jump to content
Ultimaker Community of 3D Printing Experts

Controlling analog pins as digital pins in Marlin

Recommended Posts


I'm interested in controlling some of the analog (ADC) pins as digital pins on the Ultimaker 2 board. I've seen that this can be done in Arduino using digitalWrite (https://www.arduino.cc/en/Tutorial/AnalogInputPins) and it also seems like it is possible to control them using the M42 command in marlin (http://marlinfw.org/docs/gcode/M042.html). Has anyone tried this or know if this is correct?

I've found the pin map for the ATmega 2560 (https://www.arduino.cc/en/Hacking/PinMapping2560) and can determine the pin locations using the Ultimaker 2 schematics. However, I'm not sure how to interface with the ADC0-11 pins (M42 PA0 S255 doesn't work). Do the analog pins have a digital pin equivalent on the Ultimaker 2 board (ex: A0 = digital pin XX)? Do I need to set this up myself in the pins.h file?

Any ideas / comments are greatly appreciated! :)

Edited by Guest

Share this post

Link to post
Share on other sites

Note that on an UM2 board, you have 3 digital pins available: Exp3 and Ext/IO (ports 13, 30 and 38 ).

If you really need to go to analog ports, A0 is port 54 on the Mega (so M42 P54 S255 should work)


Thanks amedee, this is really helpful! I will use more than 3 pins so that is why I want to use the analog pins as well.

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

[[Template core/front/global/_customFooter does not exist. This theme may be out of date. Run the support tool in the AdminCP to restore the default theme.]]

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!