Stuck at "Uploading to I/O board"
February 07, 2013 01:20PM
I'm using arduino 0.23 to upload sprinter to my sanguinololu 1.3a board. I've installed the gen 7 hardware support and configured everything properly, however when I try to upload my code, I can't seem to get past the "Uploading to I/O board" message.

Anyone have any idea what might be going on? Any help is appreciated!
Re: Stuck at "Uploading to I/O board"
February 07, 2013 06:20PM
I have zero experience with the sanguinololu board however I have noticed than you can't upload firmware to RAMPs 1.3 if it's currently connected to Pronterface (I wouldn't think this is the case because you can't get the firmware on for the first time, right?). Anyway you probably know this but I'll just put i out to be sure. Is the correct board/port selected in the Arduino IDE? Also from my experience power supplies might interact weird while uploading, so if you have one connected you might want to try disconnect it temporarily.
Re: Stuck at "Uploading to I/O board"
February 07, 2013 08:23PM
use arduino 18. 23 has issued with i/o pins. it is likely the pins.h configuration is using a pin that the setup finds invalid. just a guess, BTW pinmapping issues exist with ide23 for sanguinololu, some pins are not even mapped. again use arduino ide 18.

even though your issue is likely a serial i/o not available, or the need to manually reset the board before upload.

Edited 1 time(s). Last edit at 02/07/2013 08:25PM by jamesdanielv.
Re: Stuck at "Uploading to I/O board"
February 09, 2013 10:35AM
Okay so after using 3 different versions of aruino software, I still haven't managed to get my formware uploaded.

When I try uploading with 0.18 using the Gen7 harware package It still gets stuck at the uploading message. When I try with the sanguino package I get an error that reads:

from C:\Program Files\arduino-0018\hardware\sanguino\cores\arduino\WInterrupts.c:33:

C:\Program Files\arduino-0018\hardware\sanguino\cores\arduino\/Arduino.h:213:26: error: pins_arduino.h: No such file or directory

When I try to use 0.23 with the sanguino hardware package, I get an error that says "variable or field 'manage_inactivity' declared void"

When I try to use 1.0.3 with the Gen7 package I get the same 'manage_inactivity' error and with the sanguino package I get an error that reads: avrdude: "stk500_getsync(): not in sync: resp=0x00"

I've disconnected my board from the power supply and reset it every time before trying to upload.

I'm running out of ideas, I feel like I've tried everything. Anyone have any ideas?
Re: Stuck at "Uploading to I/O board"
February 09, 2013 03:50PM
which chip do you have on your sanguino? mine is the 1284P and I had a few probs at first.

Although I am using marlin, I can post some intructions for installing marlin on the 1284p sanguino if it is any help?
Re: Stuck at "Uploading to I/O board"
February 09, 2013 10:58PM
This is from a draft document that I haven't gotten around to completing. I think it will get you where you need. Keep in mind that this document makes reference to a printer that is not a RepRap, but uses the Sanguinololu electronics.

Don't try to use the files you already have. Start from scratch.

Getting Started with the Tjiko Snap3D

Arduino IDE – This is the development environment for the firm ware used by the Snap3D
Sanguino – This is an Arduino microprocessor variant, and is used on the Snap3D electronics. Patching of the Arduino IDE is required in order to use Sanguino
Patching – Replace one bit of code with another
Repetier Firmware – this is the software that run on the Sanguino microcontroller of the Snap3D. There are other alternatives, such as Sprinter, and Marlin, but they are not supported by us.
Repetier Host – This is the control software used on the PC to test and operate the Snap3D
Slicer – The job of slicer software is to convert a 3D object from an STL file, into instructions that the firmware can understand. The resulting instructions are referred to as G-Code.
NetFabb – This software is useful for “cleaning up” STL file which contain non-manifold surfaces.

Installing any 3D printing tool chain can seem insurmountable, but if you follow these instructions carefully, you will avoid the most frequent pitfalls met by novices when trying to print for the first time.

The process involves downloading and installing all of the needed software, patching the software as required, configuring the firmware to match your printer’s configuration, configuring the host software, selecting and configuring your slicing software, calibrating your printer, testing your printer, and printing your first object.

You can expect this process to take at least a couple of hours.

Things you should have before you proceed:
1. A good internet connection.
2. A fully assembled Snap3D
3. A measuring caliper, or some means of taking precise measurements.
4. A black sharpie.
5. Sobriety.

Software Setup Step by Step

Hint: Place all downloaded files into a newly created folder named Snap3D files, so you can locate them all easily.

1. Download the Arduino IDE version 0.23 from the arduino web site.
There are several versions, past and present of the Arduino IDE. At the time of this writing, it is best to use the 0023 version. On the download page, you will find this under the section titled “Previous IDE Versions”.


2. Download the Sanguino patch for Arduino 0023 from


The latest version is labeled

3. Download the latest version of Repetier firmware from the Repetier code repository at To download, locate the icon immediately to the right of “Clone in Windows” labeled “ZIP.


4. Download the latest version of Repetier Host from


5. Download the latest version of NetFabb Basic from Registration is required, but the product is free.


6. Install the Arduino IDE by extracting the zip file called into it’s own folder in the Snap3D folder.

7. In a similar fashion, extract the Repetier firmware into it’s own directory in the Snap3D folder. Once it is extracted, rename the repetier folder to include the current date. In this way, you will be able to distinguish between versions downloaded at different times. The reason for this is that occasionally, some released versions of the firmware will contain features which are not fully tested, and may introduce problems. In these cases, it may be better to revert to the previous version, rather than wait for a fix.

8. Patch the Arduino IDE to include Sanguino support. Open the file, and extract the sanguine folder into your arduino folder’s “hardware” directory.

There are files in the Arduino IDE that need to be replaced/added. The replacement files are included in the Repetier firmware folder, under the “boards” directory.

The first file is found in .\boards\arduino pre 1.0, and is called HardwareSerial.cpp. You will want to COPY this file to replace the file found in . \arduino-0023\hardware\arduino\cores\arduino

The second file is found in . \boards\Sanguino pre 1.0, and is called wiring_serial.c. You will need to COPY this file to .\arduino-0023\hardware\Sanguino\cores\arduino

9. Install the Repetier Host. Follow the instructions found on the web site

Default Extruder Temp = 220°C
Default Bed Temp = 110°C

Print Are Width = ~200 TBD
Print Are depth = ~200 TBD
Print Area Height ~200 TBD

Dump Area Left = 0
Dump Are Front = 0
Dump Area Width = 10
Dump Area Depth = 10

10. Configure the Firmware

Run Arduino IDE, and open Repetier.pde found in the repetier firmware, under \repetier-Repetier-Firmware-???????\Repetier

When the firmware opens, you will notice multiple tabs at the top of the IDE. These represent each of the files from which the firmware is complied. Note that not all of the file tabs are visible. To access these files, click on the arrow at the right side of the tabs bar.

The main file we are interested in is the Configuration.h file. Click on its tab, and you should see the following…

Locate the MOTHERBOARD definition, and make the following change

//// The following define selects which electronics board you have. Please choose the one that matches your setup
// MEGA/RAMPS up to 1.2 = 3,
// RAMPS 1.3/RAMPS 1.4 = 33
// Gen6 = 5,
// Sanguinololu up to 1.1 = 6
// Sanguinololu 1.2 and above = 62

#define MOTHERBOARD 71
#define MOTHERBOARD 62

/** \brief Number of steps for a 1mm move in x direction. Overridden if EEPROM activated. */
#define XAXIS_STEPS_PER_MM 76.19047619047619
/** \brief Number of steps for a 1mm move in y direction Overridden if EEPROM activated.*/
#define XAXIS_STEPS_PER_MM 76.19047619047619
/** \brief Number of steps for a 1mm move in z direction Overridden if EEPROM activated.*/
#define ZAXIS_STEPS_PER_MM 3360
#define ZAXIS_STEPS_PER_MM 2267.718321038048


#define X_MAX_LENGTH 200
#define Y_MAX_LENGTH 200
#define Z_MAX_LENGTH 100
#define X_MAX_LENGTH 240
#define Y_MAX_LENGTH 240
#define Z_MAX_LENGTH 200

At this point, you can save your files in Arduino IDE, and attempt to “UPLOAD” to the Sanguino. Before performing a successful upload, you must set up the Board ,and Serial Port under the Tools menu.

For Sanguino, select “Sanguino w/Atmega 644P
For Serial Port, select the serial COM port addressed by the operating system to the sanguino.

To be continued…
Re: Stuck at "Uploading to I/O board"
February 10, 2013 11:45AM
I just tried uploading the repetier firmware and I got this message:

avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

Still not sure whats going on.
Re: Stuck at "Uploading to I/O board"
February 10, 2013 03:49PM
I've had issues in the past and found that unplugging the USB, then the power, plug the power back in reset button a few time then USB, reset button a few times got things rolling for me. (you may need to adjust the sequence.)
Re: Stuck at "Uploading to I/O board"
February 12, 2013 03:32AM
The 644p must have a have a boot loader installed for you to install this way.

Where did you get your 644p? did it come as part of a a kit? if so did it say anything about having a boot loader.?

If you just got a 644p from a nornal (non reprap) electronics supplyer it will be blank. You will need a special bit of hardware to put a boot loader on it. Google AVR ISP

There is a way of telling, but you need a resitor a LED.. more later if needed.

Presuming you do have a boot loader.

Firstly, hardware. There is a jumper on the board in about the center below the Z pololu and above the 644p, labeled "AUTO RST" This must be in place to allow the computer to reset the board to program it. Otherwise you have to guess the timimg with random resetting of the board.

Depends on what firmware you are attemping to upload.
I recomend sprinter first off. You can alway change it later.
This compiles under all known versions of Arduino (ive only tryed 0022 and later) you still need to install the Sanguino files from [] to support the chip.

Select the 644p board and edit configuration.h MOTHERBOARD to be type 62

If you can press verify and it gives you no error, your arduino setup is fine and it is compiling.


You just need to set the serial port that the board comes up as when it gets plugged in.

The upload process does the following, resets the SL1.3a board, when it restarts the boot loader is run, this gives a short time period to start uploading new firmware.

This should all happen automaticaly when you hit upload in arduino

Edited 1 time(s). Last edit at 02/12/2013 03:37AM by Dust.
Sorry, only registered users may post in this forum.

Click here to login