Teensylu
This page is a development stub. Please enhance this page by adding information, cad files, nice big images, and well structured data!
Release status: Experimental
Description | Design Version 0.7
|
License | unknown
|
Author | |
Contributors | |
Based-on | |
Categories | |
CAD Models | Eagle
|
External Link |
Contents
Introduction
This is a project that is based on Sanguinololu. The ATmega644P has been replaced with an Atmel AT90USB1286 MCU. This Microcontroller has on-chip USB, removing the need for the FTDI USB UART. All of the through hole resistors and capacitors have been replaced with 0805 SMT components (as of Ver 0.1). Like the Sanguinololu the Teensylu has expansion headers supporting I2C, SPI, UART, and ADC pins. All extra I/O ports of the AT90USB have been broken out to headers for prototyping.
Features
- Small design - board is 100mm x 60mm (4" x 2.4")
- Teensylu clone, Atmel's AT90USB1286 - AT90USB1287 drop-in compatible for 20mhz support
- Up to 4 Pololu (or Pololu compatible) on-board (X,Y,Z,Extruder) (A4983 without voltage regulator)
- Supports multiple power configurations (Carried from Sanguinololu)
- -- Logic & Motors supplied by ATX power supply (needs molex harddrive connector, and optional 4pin atx connector for additional 12v)
- -- Motors supplied by 5mm screw terminal 7-35V
- -- Logic supplied by USB bus
- -- Logic supplied by optional on-board voltage regulator (molex harddrive connector cannot be installed at the same time)
- -- on-board USB connectivity
- 2 thermistor connectors with circuitry
- 2 N-MOSFETs for extruder/bed heaters
- 1 N-MOSFET for low power fan or motor
- Selectable 12v/5v endstop voltage
- -- 4 endstops including 4th stop called E-Stop to be used as an emergency stop, or extruder stop (to be added in firmware).
- Edge connectors enabling right-angle connections
- Silkscreen for connectors on both sides of the board, facilitating bottom cable connections
- 14 Extra pins available for expansion and development - 6 analog and 8 digital (Fully compatabile with Sanguinololu), with the following capabilities
- -- UART1 (RX and TX)
- -- I2C (SDA and SCL)
- -- SPI (MOSI, MISO, SCK)
- -- PWM pin (1)
- -- Analog I/O (6)
- Additional 14 pin header with 11 I/O for prototyping
- SMT Components sized at 0805 for easier soldering.
Software
Compatible Firmwares
- Sprinter Sprinter
- (Other firmwares are currently untested but any firmware for an arduino mega should work with proper pin setup.)
Building Firmware
Sprinter
- Download the arduino environment and install. http://arduino.cc/en/Main/Software
- Download the Teensyduino library from pjrc and install. The teensyduino libraries here: http://pjrc.com/teensy/td_download.html
- If using the LUFA CDC bootloader, add the following to arduino/hardware/teensy/boards.txt file at the bottom:
teensylu.name=Teensylu teensylu.upload.protocol=avr109 teensylu.upload.maximum_size=122880 teensylu.upload.speed=115200 teensylu.upload.disable_flushing=true teensylu.serial.restart_cmd=true teensylu.serial.safe_baud_rates_only=true teensylu.upload.avrdude_wrapper=avrdude teensylu.build.mcu=at90usb1286 teensylu.build.core=teensy teensylu.build.dependency=true teensylu.build.serial_number=true teensylu.menu.usb.serial.name=Serial teensylu.menu.usb.serial.build.define0=-DUSB_SERIAL teensylu.menu.speed.16.name=16 MHz teensylu.menu.speed.16.build.f_cpu=16000000L teensylu.menu.keys.en-us.name=US English teensylu.menu.keys.en-us.build.define1=-DLAYOUT_US_ENGLISH teensylu.menu.keys.fr-ca.name=Canadian French teensylu.menu.keys.fr-ca.build.define1=-DLAYOUT_CANADIAN_FRENCH teensylu.menu.keys.da-da.name=Danish teensylu.menu.keys.da-da.build.define1=-DLAYOUT_DANISH teensylu.menu.keys.fi-fi.name=Finnish teensylu.menu.keys.fi-fi.build.define1=-DLAYOUT_FINNISH teensylu.menu.keys.fr-fr.name=French teensylu.menu.keys.fr-fr.build.define1=-DLAYOUT_FRENCH teensylu.menu.keys.fr-be.name=French Belgian teensylu.menu.keys.fr-be.build.define1=-DLAYOUT_FRENCH_BELGIAN teensylu.menu.keys.fr-ch.name=French Swiss teensylu.menu.keys.fr-ch.build.define1=-DLAYOUT_FRENCH_SWISS teensylu.menu.keys.de-de.name=German teensylu.menu.keys.de-de.build.define1=-DLAYOUT_GERMAN teensylu.menu.keys.de-ch.name=German Swiss teensylu.menu.keys.de-ch.build.define1=-DLAYOUT_GERMAN_SWISS teensylu.menu.keys.is-is.name=Icelandic teensylu.menu.keys.is-is.build.define1=-DLAYOUT_ICELANDIC teensylu.menu.keys.en-ie.name=Irish teensylu.menu.keys.en-ie.build.define1=-DLAYOUT_IRISH teensylu.menu.keys.it-it.name=Italian teensylu.menu.keys.it-it.build.define1=-DLAYOUT_ITALIAN teensylu.menu.keys.no-no.name=Norwegian teensylu.menu.keys.no-no.build.define1=-DLAYOUT_NORWEGIAN teensylu.menu.keys.pt-pt.name=Portuguese teensylu.menu.keys.pt-pt.build.define1=-DLAYOUT_PORTUGUESE teensylu.menu.keys.pt-br.name=Portuguese Brazilian teensylu.menu.keys.pt-br.build.define1=-DLAYOUT_PORTUGUESE_BRAZILIAN teensylu.menu.keys.es-es.name=Spanish teensylu.menu.keys.es-es.build.define1=-DLAYOUT_SPANISH teensylu.menu.keys.es-mx.name=Spanish Latin America teensylu.menu.keys.es-mx.build.define1=-DLAYOUT_SPANISH_LATIN_AMERICA teensylu.menu.keys.sv-se.name=Swedish teensylu.menu.keys.sv-se.build.define1=-DLAYOUT_SWEDISH teensylu.menu.keys.en-gb.name=United Kingdom teensylu.menu.keys.en-gb.build.define1=-DLAYOUT_UNITED_KINGDOM teensylu.menu.keys.usint.name=US International teensylu.menu.keys.usint.build.define1=-DLAYOUT_US_INTERNATIONAL
- Download Sprinter firmware. https://github.com/kliment/Sprinter
- Open Sprinter in arduino and configure configuration.h file.
- Motherboard should be set to 8: #define MOTHERBOARD 8
- Turn off endstops if you didn't install endstops: const bool ENDSTOPS_INVERTING = true;
- Turn comment out SD card support, not working yet: //#define SDSUPPORT
- Go to Tools menu and set Board to Teensy++ 2.0, or Teensylu if using alternate bootloader.
- Go to Sketch menu and click "Verify/Compile"
- A program will popup for the teensy programmer after sprinter is done compiling. We don't use that here. You can exit it.
- Find the hex file: the compiled hex is in a temporary directory.
- Windows: Find the hex file in the temp folder. c:\users\{currentuser}\appdata\temp\build1234567890\sprinter.cpp.hex copy this hex file into my documents or somewhere more accessible.
Programming the Firmware
Atmel preloads the AT90USB128 with a bootloader that allows for programming of the firmware using the USB port.
Windows
This requires their software called FLIP to be installed. For more information, read the following documentation: http://www.atmel.com/dyn/resources/prod_documents/doc7618.pdf http://www.atmel.com/dyn/resources/prod_documents/doc7769.pdf
For Windows Users You will need to download FLIP FLIP: http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3886
To start the bootloader:
- Press the reset button on the board
- Windows should say "found new hardware". the drivers for this hardware are in the "c:\program files\atmel\flip 3.4.3\usb" folder.
Flashing Firmware
- Start the FLIP program. select the target device: AT90USB1286. Select Communication medium as USB, and click Open.
- Open hex file, and choose the Sprinter.cpp.hex
- Make sure the Erase, Blank Check, Program, and Verify checkboxes are checked.
- Click the Run button
- To enter normal operation, unplug and replug the USB cable on the board.
- Congratulations, you're done!
Mac
For Mac users a customer version of opensource programmer called "dfu-programmer" Information on this software can be found on it's homepage here: http://www.uriahbaalke.com/?p=106 TODO: Add mac instructions here.
Linux
For Linux users an opensource programmer called "dfu-programmer" has been found. Information on this software can be found on it's homepage here: http://dfu-programmer.sourceforge.net/
- dfu-programmer at90usb1286 erase
- dfu-programmer at90usb1286 flash sprinter.hex
Alternate Bootloader
If you have an ISP or JTAG cable, you can also program an alternate bootloader from the LUFA project that allows you to potentially program with the standard Arduino software.
- Download BootloaderCDC.zip
- Unzip to get
BootloaderCDC.hex
- Program using your favorite ISP/JTAG cable. The command for avrdude is
avrdude -p at90usb1286 -c <your programmer here> -U flash:w:BootloaderCDC.hex
Instructions to modify the Arduino software are forthcoming.
Board Images
Schematics
Mouser project: https://www.mouser.com/ProjectManager/ProjectDetail.aspx?AccessID=360523b45b
Where to get it
Bare PCB
Complete Kit
Assembled Board
Known Variations
- Printrbot: Somebody is working on building a variation of the board that that integrates the stepper drivers on board and has sd support.