Rambo development
RAMBo Pages: RAMBo .:. RAMBo v1.0-1.1 .:. RAMBo v1.2 .:. RAMBo Firmware .:. RAMBo Development
This page contains information relevant to the development of the RAMBo PCB. You can find general info at Rambo.
Contents
Pins
The extension headers are in the format "Extension Name" "Pin Number" "Function". Example: MX1-5 Direction = "Motor Extension 1" "Pin 5".
Pin Number | Pin Name | Arduino Pin Name | RAMBO Function |
1 | PG5 ( OC0B ) | Digital pin 4 (PWM) | PWM-Ext 6 |
2 | PE0 ( RXD0/PCINT8 ) | Digital pin 0 (PWM) (RX0) | USB – serial comms, SER0 3 |
3 | PE1 ( TXD0 ) | Digital pin 1 (PWM) (TX0) | USB – serial comms, SER0 4 |
4 | PE2 ( XCK0/AIN0 ) | RamboDigital pin 78 | Ext2 20 |
5 | PE3 ( OC3A/AIN1 ) | Digital pin 5 (PWM) | PWM-Ext 5 |
6 | PE4 ( OC3B/INT4 ) | Digital pin 2 (PWM) | Fan 2, PWM-Ext 4 |
7 | PE5 ( OC3C/INT5 ) | Digital pin 3 (PWM) | Bed Heater |
8 | PE6 ( T3/INT6 ) | RamboDigital pin 79 | Ext2 18 |
9 | PE7 ( CLKO/ICP3/INT7 ) | RamboDigital pin 80 | Ext2 16 |
10 | VCC | VCC | VCC |
11 | GND | GND | GND |
12 | PH0 ( RXD2 ) | Digital pin 17 (PWM) (RX2) | Serial 7 |
13 | PH1 ( TXD2 ) | Digital pin 16 (PWM) (TX2) | Serial 8 |
14 | PH2 ( XCK2 ) | RamboDigital pin 84 | Ext2 8 |
15 | PH3 ( OC4A ) | Digital pin 6 (PWM) | Fan 1 |
16 | PH4 ( OC4B ) | Digital pin 7 (PWM) | Heat 1 |
17 | PH5 ( OC4C ) | Digital pin 8 (PWM) | Fan 0 |
18 | PH6 ( OC2B ) | Digital pin 9 (PWM) | Heat 0 |
19 | PB0 ( SS/PCINT0 ) | Digital pin 53 (PWM)(SPI-SS) | SPI-Ext SS 6 |
20 | PB1 ( SCK/PCINT1 ) | Digital pin 52 (PWM)(SCK) | SPI-Ext SCK 5 |
21 | PB2 ( MOSI/PCINT2 ) | Digital pin 51 (PWM)(MOSI) | SPI-Ext MOSI 4 |
22 | PB3 ( MISO/PCINT3 ) | Digital pin 50(MISO) | SPI-Ext MISO 3 |
23 | PB4 ( OC2A/PCINT4 ) | Digital pin 10 (PWM) | Z Min Endstop |
24 | PB5 ( OC1A/PCINT5 ) | Digital pin 11 (PWM) | Y Min Endstop |
25 | PB6 ( OC1B/PCINT6 ) | Digital pin 12 (PWM) | X Min Endstop |
26 | PB7 ( OC0A/OC1C/PCINT7 ) | Digital pin 13 (PWM) | LED, PWM-Ext 3 |
27 | PH7 ( T4 ) | RamboDigital pin 85 | Ext2 6 |
28 | PG3 ( TOSC2 ) | RamboDigital pin 71 | Ext3 7 |
29 | PG4 ( TOSC1 ) | RamboDigital pin 70 | Ext3 5 |
30 | RESET | RESET | Reset |
31 | VCC | VCC | VCC |
32 | GND | GND | GND |
33 | XTAL2 | XTAL2 | XTAL2 |
34 | XTAL1 | XTAL1 | XTAL1 |
35 | PL0 ( ICP4 ) | Digital pin 49 | Y Direction |
36 | PL1 ( ICP5 ) | Digital pin 48 | X Direction |
37 | PL2 ( T5 ) | Digital pin 47 | Z Direction |
38 | PL3 ( OC5A ) | Digital pin 46 (PWM) | MX3-5 Direction |
39 | PL4 ( OC5B ) | Digital pin 45 (PWM) | MX2-5 Direction |
40 | PL5 ( OC5C ) | Digital pin 44 (PWM) | MX1-5 Direction |
41 | PL6 | Digital pin 43 | E0 Direction |
42 | PL7 | Digital pin 42 | E1 Direction |
43 | PD0 ( SCL/INT0 ) | Digital pin 21 (SCL) | I2C SCL |
44 | PD1 ( SDA/INT1 ) | Digital pin 20 (SDA) | I2C SDA |
45 | PD2 ( RXDI/INT2 ) | Digital pin 19 (RX1) | Serial 5 |
46 | PD3 ( TXD1/INT3 ) | Digital pin 18 (TX1) | Serial 6 |
47 | PD4 ( ICP1 ) | RamboDigital pin 81 | Ext2 14 |
48 | PD5 ( XCK1 ) | RamboDigital pin 82 | Ext2 12 |
49 | PD6 ( T1 ) | RamboDigital pin 83 | Ext2 10 |
50 | PD7 ( T0 ) | Digital pin 38 | Digipot SS |
51 | PG0 ( WR ) | Digital pin 41 | X Microstep2 |
52 | PG1 ( RD ) | Digital pin 40 | X Microstep1 |
53 | PC0 ( A8 ) | Digital pin 37 | X Step |
54 | PC1 ( A9 ) | Digital pin 36 | Y Step |
55 | PC2 ( A10 ) | Digital pin 35 | Z Step |
56 | PC3 ( A11 ) | Digital pin 34 | E0 Step |
57 | PC4 ( A12 ) | Digital pin 33 | E1 Step |
58 | PC5 ( A13 ) | Digital pin 32 | MX1-4 Step |
59 | PC6 ( A14 ) | Digital pin 31 | MX2-4 Step |
60 | PC7 ( A15 ) | Digital pin 30 | Z Max, MX3-4 Step |
61 | VCC | VCC | VCC |
62 | GND | GND | GND |
63 | PJ0 ( RXD3/PCINT9 ) | Digital pin 15 (RX3) | Serial 9 |
64 | PJ1 ( TXD3/PCINT10 ) | Digital pin 14 (TX3) | Serial 10 |
65 | PJ2 ( XCK3/PCINT11 ) | RamboDigital pin 72 | Ext2 9 |
66 | PJ3 ( PCINT12 ) | RamboDigital pin 73 | Ext2 11 |
67 | PJ4 ( PCINT13 ) | RamboDigital pin 75 | Ext2 15 |
68 | PJ5 ( PCINT14 ) | RamboDigital pin 76 | Ext2 17 |
69 | PJ6 ( PCINT 15 ) | RamboDigital pin 77 | Ext2 19 |
70 | PG2 ( ALE ) | Digital pin 39 | Y Microstep2 |
71 | PA7 ( AD7 ) | Digital pin 29 | X Enable |
72 | PA6 ( AD6 ) | Digital pin 28 | Y Enable |
73 | PA5 ( AD5 ) | Digital pin 27 | Z Enable |
74 | PA4 ( AD4 ) | Digital pin 26 | E0 Enable |
75 | PA3 ( AD3 ) | Digital pin 25 | E1 Enable |
76 | PA2 ( AD2 ) | Digital pin 24 | X Max, MX3-3 Enable |
77 | PA1 ( AD1 ) | Digital pin 23 | Y Max, MX2-3 Enable |
78 | PA0 ( AD0 ) | Digital pin 22 | MX1-3 Enable |
79 | PJ7 | RamboDigital pin 74 | Ext2 13 |
80 | VCC | VCC | VCC |
81 | GND | GND | GND |
82 | PK7 ( ADC15/PCINT23 ) | Analog pin 15 | Y Microstep1 |
83 | PK6 ( ADC14/PCINT22 ) | Analog pin 14 | Z Microstep1 |
84 | PK5 ( ADC13/PCINT21 ) | Analog pin 13 | Z Microstep2 |
85 | PK4 ( ADC12/PCINT20 ) | Analog pin 12 | E0 Microstep2 |
86 | PK3 ( ADC11/PCINT19 ) | Analog pin 11 | E0 Microstep1 |
87 | PK2 ( ADC10/PCINT18 ) | Analog pin 10 | E1 Microstep2 |
88 | PK1 ( ADC9/PCINT17 ) | Analog pin 9 | E1 Microstep1 |
89 | PK0 ( ADC8/PCINT16 ) | Analog pin 8 | Analog-Ext 1 |
90 | PF7 ( ADC7/PCINT15 ) | Analog pin 7 | Thermistor 3, Analog-Ext 5 |
91 | PF6 ( ADC6/PCINT14 ) | Analog pin 6 | Analog-Ext 3 |
92 | PF5 ( ADC5/TMS ) | Analog pin 5 | Analog-Ext 8 |
93 | PF4 ( ADC4/TMK ) | Analog pin 4 | Analog-Ext 6 |
94 | PF3 ( ADC3 ) | Analog pin 3 | Analog-Ext 4 |
95 | PF2 ( ADC2 ) | Analog pin 2 | Thermistor 2 |
96 | PF1 ( ADC1 ) | Analog pin 1 | Thermistor 1 |
97 | PF0 ( ADC0 ) | Analog pin 0 | Thermistor 0 |
98 | AREF | Analog Reference | |
99 | GND | GND | GND |
100 | AVCC | VCC | VCC |
Thermocouple and additional thermistors
You can use the Analog Extension header to connect thermistors and analog thermocouple amplifiers (example:AD595) to the RAMBo board. You can also connect thermocouple amplifiers that communicate via SPI or other bus.
You will need to configure your firmware for the pin change and new sensor type.
Analog Extension
Arduino Analog Pin
Analog-Ext location |
|||
GND
Analog-Ext 2 |
3
Analog-Ext 4 |
4
Analog-Ext 6 |
5
Analog-Ext 8 |
5V
Analog-Ext 1 |
6
Analog-Ext 3 |
7
Analog-Ext 5 |
9
Analog-Ext 7 |
Note that Analog-Ext 5 is shared with thermistor 3. That circuit may need modified if depending on Analog-Ext 5's use.
Source
Development is taking place on Github Latest stable release is in tags - Github tags
Fuses and lockbits
32u2 fuses - BODLEVEL = 3V0; HWBE = [X]; DWEN = [ ]; RSTDISBL = [ ]; SPIEN = [X]; WDTON = [ ]; EESAVE = [ ]; BOOTSZ = 2048W_3800; BOOTRST = [ ]; CKDIV8 = [ ]; CKOUT = [ ]; SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_4MS1
EXTENDED = 0xF4; HIGH = 0xD9; LOW = 0xEF
2560 Fuses BODLEVEL = 2V7; OCDEN = [ ]; JTAGEN = [ ]; SPIEN = [X]; WDTON = [ ]; EESAVE = [X]; BOOTSZ = 4096W_1F000; BOOTRST = [X]; CKDIV8 = [ ]; CKOUT = [ ]; SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_65MS
EXTENDED = 0xFD; HIGH = 0xD0; LOW = 0xFF;
Lock bits for both only set BLB1 = LPM_SMP_DISABLE (0x0F).
Maximum motor current
In version 1.0d R30 (4.99K) limited the current to ~1.65A. this is changed in revision 1.0e (3.33K) to raise the current limit to 2A. Version 1.0d assemblies can be patched to allow setting the increased current by soldering a 10K 0603 resistor in parallel (on top of) R30.
Heated bed maximum voltage
The heated bed circuit's voltage is limited by the RGEF1400 PTC fuse which is rated to 16V. If a higher voltage is required this fuse can be replaced with a jumper wire and off board fuse holder. Make sure that your wire and solder are sufficient to carry the high current of this rail.
Changelog
- 1.3L
- Add TVS diode to motor outputs (prevents failure due to hot-plugging motor and excessive BEMF)
- Add filter capacitors to motor outputs
- Add ferrite bead to motor and logic/extruder power inputs
- The varistor providing ESD to USB pathway is replaced with a TVS diode
- Flyback diode on mosfets now 3A to reduce unique part count
- Icoupler decoupling now 100nF at each power pin
- Remove solder mask between QFN pins
- Shrink 12.5mm capacitor drill size
- New footprints for 0603 components
- Silk screen fixes
- 1.2g(p)
- The varistor change from 1.2fp is now in the design and the solder mask is stopped for the component. (electrically the same as 1.2fp)
- 1.2fp
- Patch to 1.2f. Add varistor between USB GND and GND to shunt ESD to USB shield. Done by manually removing solder mask
- 1.2f
- Assembly yield improvements:
- update 0402, 0603, SOT669, SOIC8, and QFN32 footprint
- shrink motor connector drill size
- remove stop from thermal vias
- add overprint to paste layer for fuse holder
- fix MX2 and MX3 silk screen reversed
- schematic cleanup (no changes to nets)
- Assembly yield improvements:
- 1.2e
- shrink vias around motor drivers to improve yield in wave process
- 1.2d
- remove solder mask between Atmega2560 leads
- minor rerouts
- 1.2c
- isolate USB
- thermistor over voltage protection up to 24V.
- add LC filter to analog power input
- board power inputs now support up to 35V
- VCC now from built in SMPS, pads are provided to disable SMPS for powering from alernate VCC source
- rotate some auxiliary connectors and improve pad size for wave process
- change mounting hole type to ease wave process (no more polyimide taping)
- Seperate decoupling for each VDD pin on motor drivers
- add freewheeling diodes to mosfets
- new layer stackup
- rework pcb edge noise rail
- numerous routing and silk screen updates
- through hole capacitors in case they ever need replaced
- 1.1b
- change stepper driver to A4982 and microstepping options are now 1,1/2,1/4,1/16
- change Fan1 output mosfet to SOT23 package and add another identical circuit to expand to 6 mosfet outputs
- change heated bed fuse from PTC to ATO (auto blade) fuse increasing heated bed rail max voltage to match others (24V max recommended PSU)
- additional decoupling caps
- change license to match Arduino's published requirements
- 1.0e Rambo_1_0
- change R30 value
- remove stop on vias and under drivers
- clarify PS_ON and other silk screen fixes
- 1.0d Initial release