Farmduino
The Farmduino microcontroller features a board layout and connectors that are optimized for FarmBot. It receives G-code commands from the Raspberry Pi and then moves the motors, reads sensors, activate peripherals, and more. It features integrated Trinamic TMC2130 stepper drivers for ultra quiet movements and an STM32 coprocessor dedicated to monitoring the rotary encoders.
Specs
Microcontrollers | ATmega2560 STM32 |
Stepper Drivers | Trinamic TMC2130 |
Input Voltage | 24V |
Fuse | 7.5 amp blade fuse |
Power Receptacle | Black 3-pin receptacle (Molex Part 2002411113 |
Vacuum Peripheral Receptacle | Black 3-pin receptacle, Molex part 2002411113 (prior to January 2023) or 705430037 (January 2023 and later) |
Water, Lighting, and Peripheral 4 and 5 Receptacles | Black 2-pin receptacle (Molex Part 151048-1206) (prior to July 2022) Black 2-pin receptacle (Molex Part 70543-0036) (July 2022 and later) |
UTM Receptacle | Black 12-pin receptacle (Molex Part 430451212) |
UTM shunts | 8 1x2 2.54mm shunts pre-installed on UTM pins A through H |
Motor Receptacles | Black 4-pin receptacle (Molex Part 705430038) |
Encoder Receptacles | Black 7-pin receptacle (Molex Part 705430041) |
Rotary Tool Driver | Texas Instruments DRV8876 H-bridge motor driver with integrated current sense and regulation |
DC Current per I/O Pin | 40 mA |
DC Current for 3.3V Pin | 50 mA |
PCB color | Black |
RoHS Compliant | true |
CE Certification | Yes (Certificate of Conformity) |
Price | $195.00 |
Quantity |
Genesis - 1
Genesis XL - 1 |
CAD model | Onshape |
Purchase | The FarmBot Shop |
internal-part-name | Farmduino v1.6 |
rev | A |
vendor | LDO |
cost | $89.00 |
notes | QA check to ensure UTM Shunts are pre-installed Due to connector shortage, switched to smaller more readily available 2-pin connectors for peripherals (all but vacuum) via an adapter board for production 2 kits. Continued using 2-pin connectors and a new 3-pin connector for the vacuum pump for production 3. |
Open-source
Connectors may vary
Due to supply chain shortages of certain connectors, your Farmduino may have one of two connector types for the vacuum pump peripheral and all of the other peripherals. Please inspect the images above to note the differences and ensure you purchase cables with the correct connector type when ordering spare or upgrade parts.
Farmduino is open-source
Resource | Link |
---|---|
Schematics, board layout, and hardware source files | Google Drive Folder |
Arduino MCU firmware source code | GitHub |
STM32 firmware for tracking encoder signals | GitHub |
Pinout references | Link |
Component tests
Test | Description | Target | Tolerance |
---|---|---|---|
Pins | Inspect the pins for damage. | No pins should be bent | N/A |
Fuse | Ensure the blade fuse is inserted and of the correct amperage. | 7.5 Amps | N/A |
USB power out | Read the voltage coming from the POWER OUT USB connector. |
5.25V | +/- 0.1V |
UTM shunts | Inspect for the presence of the UTM pin shunts. | Present on Pins A -H |
N/A |
Color | Inspect the color of the PCB. | Matte black | N/A |
Functionality | Use the factory test firmware to test motor, encoder, and peripheral functions. | All functions work | N/A |
Encoder tracking | Move all motor axes with manual controls, by hand, and with forced stalls. | Encoder positions should be accurately tracked in all scenarios. | N/A |
Encoder tracking range | Using stock encoder scaling, move to +/- 10,000mm on the X and Y axes and +/- 2,000mm on the Z axis. | STM32 should accurately track encoder positions through the range of movement. | N/A |
STM32 reset | Set pin 49 low and then high. |
Encoder tracking should reset. | N/A |
SPI comms | Move motors to random positions and then modify Trinamic TMC2130 parameters (eg: motor current) | Parameters should update and encoder tracking should maintain position. | N/A |