I´m completely new to the arduino and not used to work with it. Due to an project I need to know the best way to transfer Data to my Arduino Mega. The transferred file will be an sliced 3D object. Is it possible to use the built in USB port to read from a stick? Or do I have to use a PC to transfer my data?
Please help me to answer this question since I have no clue how to manage to get the sliced file to my Arduino.

  • 1
    How big is your sliced 3D object? Are you sure, that it will fit on an Arduino Mega?
    – gre_gor
    Jan 31, 2017 at 15:45
  • Accessing a USB stick is not directly possible and not cost effective to add to this platform (vs changing it for a cheaper one that can do so natively), but you can access an SD card, which you could of course have initialized on a PC via a USB adapter. Jan 31, 2017 at 22:40
  • It would be easier to use a Raspberry Pi. They support USB natively, so can read a memory stick or directly from a serial port.
    – SDsolar
    Mar 27, 2017 at 20:50

1 Answer 1


The Arduino Mega doesn't support USB-host, so you can't connect a USB stick directly.

The easiest way is to connect it to a computer, and send the data over the serial connection.

  • 2
    And probably only a little bit of it at a time... for example Arduino-based 3d printers "drip feed" the data only a bit in advance of when it is being used, as a many-megabytes part file would not fit in the ATmega at once. Of course this approach only works for tasks where the can be accessed with a fairly local view - anything that requires looking at separated parts of the data at once (like the conversion of a 3d model to toolpaths) has to be done beforehand on a computer with enough memory. Jan 31, 2017 at 22:38
  • Thank you both for your ideas on the problem. @ChrisStratton the goal will be to create the toolpath on a machine with enough memory and to send the result to the Arduino. The Arduino then will be used just to control 3 motors to follow the created path and to control the printhead. Is it possible to send the toolpath via the USB port or do I have to establish some kind of other connection?
    – JohnDizzle
    Feb 1, 2017 at 6:59
  • 1
    Since you're basically re-inventing the equivalent of a 3d printer firmware, you should probably start by thoroughly familiarizing yourself with how the open source ones work. There are likely other gcode interpreters you can find as well. To put it in historical terms, you'll be tunneling a serial channel through a USB port and more or less using it to emulate a punched tape... Feb 1, 2017 at 7:08
  • So you just need to check that arduino serial is good enough-fastest it budges data from pc is 250000 baud -which is just over 30kb a second. To put the terminology in historical terms baud refers to the number of different symbols and was used with telegrams in the 19 century.Bit rate concerns two symbols.Thats why its 30kb. Feb 1, 2017 at 9:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.