Dobrica Pavlinušić's random unstructured stuff
Printrbot Plus: Revision 40
Old 3D printer which never worked well. https://web.archive.org/web/20130115210644/http://printrbot.com/shop/plus/ PrintrBot Plus LCThe Printrbot PLUS is the larger printrbot kit–containing an 8x8x8 build volume, laser cut birch construction, an assembled Ubis hot end, and 12mm Z-axis rods in an all-in-one kit. This kit also includes 1 lb of ABS filament. This kit includes everything you need to build the printrbot PLUS:
nozzle
The Getting Started Guide says that all Printrbots currently ship with 0.4mm nozzles. infoMost of information about it vanished from internet so here is some overview: Rev.B https://github.com/Printrbot/printrboard/releases/tag/revB serial[Sun Mar 18 08:23:50 2018] usb 2-4.4: new full-speed USB device number 61 using xhci_hcd [Sun Mar 18 08:23:50 2018] usb 2-4.4: New USB device found, idVendor=16c0, idProduct=0483 [Sun Mar 18 08:23:50 2018] usb 2-4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [Sun Mar 18 08:23:50 2018] usb 2-4.4: Product: USB Serial [Sun Mar 18 08:23:50 2018] usb 2-4.4: Manufacturer: Teensyduino [Sun Mar 18 08:23:50 2018] usb 2-4.4: SerialNumber: 12345 [Sun Mar 18 08:23:50 2018] cdc_acm 2-4.4:1.0: ttyACM0: USB ACM device dpavlin@nuc:~$ microcom p /dev/ttyACM0 connected to /dev/ttyACM0 Escape character: Ctrl\ Type the escape character to get to the prompt. start echo:PowerUp Brown out Reset Marlin: 1.0.0 RC2 echo: Last Updated: 2012-02-25 | Author: erik echo: Free Memory: 4907 Pla echo:SD init fail workDir open failed echo:Unknown command:"echo" ok echo:Unknown command:"SD init fail" ok echo:Unknown command:"workDir open failed" ok settingshttps://github.com/Printrbot/Marlin M501 echo:Stored settings retreived: echo:Steps per unit: echo: M92 X62.11 Y64.67 Z2272.72 E536.00 echo:Maximum feedrates (mm/s): echo: M203 X60.00 Y60.00 Z2.00 E14.00 echo:Maximum Acceleration (mm/s2): echo: M201 X2000 Y2000 Z30 E10000 echo:Acceleration: S=acceleration, T=retract acceleration echo: M204 S3000.00 T3000.00 echo:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum xY jerk (mm/s), Z=maximum Z jerk (mm/s) echo: M205 S0.00 T0.00 B20000 X20.00 Z0.40 E5.00 echo:PID settings: echo: M301 P22.20 I1.08 D114.00 M115 FIRMWARE_NAME:Marlin V1; Sprinter/grbl mashup for gen6 FIRMWARE_URL:http://www.mendel-parts.com PROTOCOL_VERSION:1.0 MACHINE_TYPE:Mendel EXTRUDER_COUNT:1 software bed levelerschematicsPrintrboard_RevB_Schematic150.pngPrintrboard-schematics.pdf Marlindpavlin@nuc:/nuc/PrintrBot$ git clone https://github.com/MarlinFirmware/Marlin dpavlin@nuc:/nuc/PrintrBot$ cd Marlin/ dpavlin@nuc:/nuc/PrintrBot/Marlin$ platformio run -e printrboard dfu modeopen boot jumper, press button [Sun Apr 15 12:20:34 2018] usb 1-1.1: new full-speed USB device number 30 using xhci_hcd [Sun Apr 15 12:20:34 2018] usb 1-1.1: unable to get BOS descriptor [Sun Apr 15 12:20:34 2018] usb 1-1.1: New USB device found, idVendor=03eb, idProduct=2ffb [Sun Apr 15 12:20:34 2018] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [Sun Apr 15 12:20:34 2018] usb 1-1.1: Product: AT90USB128 DFU [Sun Apr 15 12:20:34 2018] usb 1-1.1: Manufacturer: ATMEL [Sun Apr 15 12:20:34 2018] usb 1-1.1: SerialNumber: 1.0.0 root@nuc:/nuc/PrintrBot/Marlin# apt-get install dfu-programmer root@nuc:/nuc/PrintrBot/Marlin# dfu-programmer --targets 2>&1 | grep at90usb128 at89c5132 at90usb1287 at90usb1286 at90usb1287-4k at90usb1286-4k at90usb647 at90usb646 at90usb162 root@nuc:/nuc/PrintrBot/Marlin# dfu-programmer at90usb1286 dump --debug 99 target: at90usb1286 chip_id: 0x2ffb vendor_id: 0x03eb command: dump quiet: false debug: 99 device_type: AVR ------ command specific below ------ commands.c:625: dump 122880 bytes atmel.c:579: atmel_read_flash( 0x7ffe83facaf0, 0x00000000, 0x0001e000, 0x564ef5df7000, 122880, false ) atmel.c:847: atmel_select_page( 0x7ffe83facaf0, 0 ) atmel.c:510: __atmel_read_page( 0x7ffe83facaf0, 0, 65536, 0x564ef5df7000, false ) atmel.c:537: result: -9 Unknown error. Try enabling debug. Failed to read 122880 bytes from device. other useful debug levels are 100, 200, 300 - https://www.avrfreaks.net/forum/how-use-dfu-programmer hmmm... can't backup firmware? flash firmwaredpavlin@nuc:/nuc/PrintrBot/Marlin$ dfu-programmer at90usb1286 erase dpavlin@nuc:/nuc/PrintrBot/Marlin$ dfu-programmer at90usb1286 flash .pioenvs/printrboard/firmware.hex Validating... Flash did not validate. Did you erase first? dpavlin@nuc:/nuc/PrintrBot/Marlin$ dfu-programmer at90usb1286 erase --debug 100 target: at90usb1286 chip_id: 0x2ffb vendor_id: 0x03eb command: erase quiet: false debug: 100 device_type: AVR ------ command specific below ------ validate: true commands.c:69: erase 122879 bytes atmel.c:281: atmel_erase_flash( 0x7ffc5df9bff0, 4 ) atmel.c:671: atmel_blank_check( 0x7ffc5df9bff0, 0x00000000, 0x0001dfff ) atmel.c:847: atmel_select_page( 0x7ffc5df9bff0, 0 ) atmel.c:647: __atmel_blank_check_internal( 0x7ffc5df9bff0, 0x00000000, 0x0000ffff ) atmel.c:847: atmel_select_page( 0x7ffc5df9bff0, 1 ) atmel.c:647: __atmel_blank_check_internal( 0x7ffc5df9bff0, 0x00000000, 0x0000dfff ) teensy setup pjrc
udev rule: https://www.pjrc.com/teensy/49-teensy.rules unlock chip using flipIt seems that chip is protected. However, trying to erase and program it did destry data in it (expect bootloader) for some reason, and it seem that dfu-programmer doesn't know how to work with protection features. So, next step is to try atmel's flip under linux but this also doesn't work well.
root@nuc:/nuc/PrintrBot/flip.3.2.1# cat debian-install.sh sudo apt-get install openjdk-9-jre:i386 libusb-0.1-4:i386 root@nuc:/nuc/PrintrBot/flip.3.2.1# cat env.sh export JAVA_HOME=/usr/lib/jvm/java-9-openjdk-i386/ export FLIP_HOME=/nuc/PrintrBot/flip.3.2.1/bin/ root@nuc:/nuc/PrintrBot/flip.3.2.1# cd bin/ root@nuc:/nuc/PrintrBot/flip.3.2.1/bin# cp -apv libatlibusbdfu.so libatlibusbdfu.so.orig root@nuc:/nuc/PrintrBot/flip.3.2.1/bin# sed 's/\/sys\/bus\/usb/\/dev\/bus\/usb/g' libatlibusbdfu.so.orig > libatlibusbdfu.so # run from bin directory or it won't work (?!) root@nuc:/nuc/PrintrBot/flip.3.2.1/bin# ./flip.sh avrdudemade cable to convert 10 pin ICSP on usbasp to 6 pin ICSP on printrboard http://reprap.org/wiki/Printrboard#Bootloaders Pin 1 (not red wire on my harness because of re-wiring) is closest to the SD card slot. root@nuc:/nuc/PrintrBot# avrdude -p usb1286 -c usbasp avrdude: warning: cannot set sck period. please check for usbasp firmware update. avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.00s avrdude: Device signature = 0x1e9782 (probably usb1287) avrdude: safemode: Fuses OK (E:F3, H:99, L:5E) avrdude done. Thank you. ok, factory bootloader fuses# disable jtag avrdude -c usbtiny -p at90usb1286 -U lfuse:w:0xde:m -U hfuse:w:0xdb:m -U efuse:w:0xf0:m # enabled jtag avrdude -c usbtiny -p at90usb1286 -U lfuse:w:0xDE:m -U hfuse:w:0x9B:m -U efuse:w:0xF0:m root@nuc:/nuc/PrintrBot# avrdude -c usbtiny -p at90usb1286 -U lfuse:w:0xde:m -U hfuse:w:0xdb:m -U efuse:w:0xf0:m avrdude: Error: Could not find USBtiny device (0x1781/0xc9f) avrdude done. Thank you. root@nuc:/nuc/PrintrBot# avrdude -c usbasp -p at90usb1286 -U lfuse:w:0xde:m -U hfuse:w:0xdb:m -U efuse:w:0xf0:m avrdude: warning: cannot set sck period. please check for usbasp firmware update. avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.00s avrdude: Device signature = 0x1e9782 (probably usb1287) avrdude: reading input file "0xde" avrdude: writing lfuse (1 bytes): Writing | | 0% 0.00s ***failed; Writing | ################################################## | 100% 0.06s avrdude: 1 bytes of lfuse written avrdude: verifying lfuse memory against 0xde: avrdude: load data lfuse data from input file 0xde: avrdude: input file 0xde contains 1 bytes avrdude: reading on-chip lfuse data: Reading | ################################################## | 100% 0.00s avrdude: verifying ... avrdude: verification error, first mismatch at byte 0x0000 0x5e != 0xde avrdude: verification error; content mismatch avrdude: safemode: lfuse changed! Was de, and is now 5e [Tue Apr 17 07:12:19 2018] usb 1-1.4: USB disconnect, device number 20 [Tue Apr 17 07:12:19 2018] usb 1-1.4: USB disconnect, device number 20 Would you like this fuse to be changed back? [y/n] Would you like this fuse to be changed back? [y/n] n avrdude: safemode: Fuses OK (E:F3, H:99, L:DE) avrdude done. Thank you. root@nuc:/nuc/PrintrBot# avrdude -p usb1286 -c usbasp avrdude: warning: cannot set sck period. please check for usbasp firmware update. avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.00s avrdude: Device signature = 0x1e9782 (probably usb1287) avrdude: safemode: Fuses OK (E:F3, H:99, L:5E) avrdude done. Thank you. flash bootloaderhuh, hum, program bootloader anyway from http://blog.lincomatic.com/?p=548 root@nuc:/nuc/PrintrBot# avrdude -p usb1286 -c usbasp -U flash:w:BootloaderDFU.hex power cycle, return jumper re-try programming fuses root@nuc:/nuc/PrintrBot# avrdude -c usbasp -p at90usb1286 -U lfuse:w:0xDE:m -U hfuse:w:0x9B:m -U efuse:w:0xF0:m dfu programming worksre-try dfu programming root@nuc:/nuc/PrintrBot# dfu-programmer at90usb1286 erase root@nuc:/nuc/PrintrBot# dfu-programmer at90usb1286 flash Marlin/.pioenvs/printrboard/firmware.hex Validating... 61322 bytes used (49.90%) avrdude programmingdpavlin@nuc:/nuc/PrintrBot/Marlin$ avrdude -c usbasp -p usb1286 -U flash:w:.pioenvs/printrboard/firmware.hex avrdude: warning: cannot set sck period. please check for usbasp firmware update. avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.00s avrdude: Device signature = 0x1e9782 (probably usb1287) avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed To disable this feature, specify the -D option. avrdude: erasing chip avrdude: warning: cannot set sck period. please check for usbasp firmware update. avrdude: reading input file ".pioenvs/printrboard/firmware.hex" avrdude: input file .pioenvs/printrboard/firmware.hex auto detected as Intel Hex avrdude: writing flash (87280 bytes): Writing | ################################################## | 100% 58.04s avrdude: 87280 bytes of flash written avrdude: verifying flash memory against .pioenvs/printrboard/firmware.hex: avrdude: load data flash data from input file .pioenvs/printrboard/firmware.hex: avrdude: input file .pioenvs/printrboard/firmware.hex auto detected as Intel Hex avrdude: input file .pioenvs/printrboard/firmware.hex contains 87280 bytes avrdude: reading on-chip flash data: Reading | ################################################## | 100% 38.49s avrdude: verifying ... avrdude: 87280 bytes of flash verified avrdude: safemode: Fuses OK (E:F0, H:9B, L:DE) avrdude done. Thank you. |