R2C2 RepRap Electronics
HBox RepRap Electronics
NOTE: Some parts documented on this page are just ideas and were not yet implemented.
This electronics and firmware are being developed by User:Casainho (HardwareBox company) and will be commercialized on Ebay (including the releasing of source files) to worldwide 15 Maio 2011. The electronics and firmware will be released as Open Source that work with / and are fully compatible with RepRap software and others alike.
Laser Open Source project - www.laoslaser.org mention this electronics/firmware as a candidate for their project.
Advantages of this electronics
- Just one board to control your RepRap 3D printer (can also control any other 3D printer/laser/milling);
- Plug and play - you will receive it completed assembled and tested;
- Heated_Bed support;
- Expansion header so you can add support for other functionalities like using a laser to engrave/cut paper, wood, ABS, PLA, etc;
- Cutting edge technology - ARM microprocessor of 32bits running at 100MHz with DMA, which is about 50x more powerful than actual "official" RepRap electronics and others alike. RepRap "official" electronics uses AVR 8 bits running at 16MHz and without DMA. You will not get any more this problems because of slow AVR core 8bits used on RepRap and here. If you are looking for hight speed and high quality printing/laser/milling, you need a microprocessor really fast to be able to generate a big number of stepper motor impulses per second - this is our solution;
- uSDCard that stores "config.txt" file with configurations like steps per mm and maximum feed rate of each axis. Now you can configure your 3D printer just by editing a txt file - no more need to build the firmware sources and program the microcontroller. This uSDCard works also as board internal memory and in future will store GCodes files, letting printer working standalone without the need to be connected all the time to a computer;
- USB bootloader working as a USB Mass Storage device (works on Linux, Windows and MAC OS) - you will just need to copy/paste new firmwares to board as if is a USB pen flash;
- We strong believe in OpenSource and community development and so we are trying to use much as possible OpenSource tools. All the firmware were developed with OpenSource tools: ARM GCC, ARM GDB, OpenOCD JTAG Programmer/Debugger and Eclipse.
There is an uSDCard that stores "config.txt" file with configurations like steps per mm and maximum feed rate of each axis. Now you can configure your 3D printer just by editing a txt file - no more need to build the firmware sources and program the microcontroller. This uSDCard works also as board internal memory and in future will store GCodes files, letting printer working standalone without the need to be connected all the time to a computer.
My current configuration file "config.txt" for my RepRap Mendel:
STEPS_PER_MM_X = 80
STEPS_PER_MM_Y = 80
STEPS_PER_MM_Z = 6400
STEPS_PER_MM_E = 36
MAXIMUM_FEEDRATE_X = 1800
MAXIMUM_FEEDRATE_Y = 1800
MAXIMUM_FEEDRATE_Z = 60
MAXIMUM_FEEDRATE_E = 40000
SEARCH_FEEDRATE_X = 120
SEARCH_FEEDRATE_Y = 120
SEARCH_FEEDRATE_Z = 60
SEARCH_FEEDRATE_E = 1600
The ARM microcontroller on this board support USB 2.0 full-speed rate of 12 Mbit/s and the firmware implements a Serial Port over USB, meaning all current RepRap software will be able to control the board as usual on actual RepRap electronics. The real communications speed is not limited to Serial port value but instead to the USB 2.0 full-speed rate of 12 Mbit/s.
The firmware also implements a "native" USB mode meaning the board is auto-detected and user don't need to configure Serial port on PC, as happens now with RepRap electronics and software. This is a step in direction of a simple 3D printer, plug and play and with less configuration options for users.
USB "native" support
A demonstration software were developed using Libusb (OpenSource and works on Linux, MacOS and Windows) which identifies the board on PC USB bus and send and receive a stream of data using USB bulk transfers. Get the code here.
Developer Ralith, is working on Libreprap to add support for USB "native", so RepSnapper will support this electronics with USB "native". RepRap software should follow right after or at the same time if it decide to use Libreprap.
PC software will be able to identify the board by reading USB descriptor string which should match: "HBOX R2C2".
Some commands can be defined to be sent as Class Request (on USB Endpoint 0), like a command for reading firmware version, updating firmware, etc.
Serial data stream from PC to board will be sent to USB bulk OUT endpoint. PC will read data stream from board to PC from the USB bulk IN endpoint.
Hacking / Developing
The current firmware is C code and heavily based on FiveD_on_Arduino.
All firmware were developed with OpenSource tools. Screenshot of a debug session using ARM GDB, OpenOCD JTAG Programmer/Debugger and Eclipse (running on Linux Ubuntu on a small netbook @ 1024*600):
This board will have an expansion header so modules can be added to add new functionalities (the same idea as Arduino shields).
Laser cutter and engraver
This module makes possible to control a laser diode of 1W (or less). We will be able to cut and engrave paper, plastic, wood, etc. See here the tests that were done already:
That cut were done with blue laser at 1W and with feed rate of F400 (6.6mm/s). The paper sheet had about 0.1mm.
We believe that we will be able to etch PCBs (like here) and make tracks/clearance of 0.25mm, for LQFP ICs of 0.5mm pitch :-)
Big thanks for Leonardo from Portugal to make this tests!
Source files for KiCad: File:Hbox-r2c2-laser controller.tar.bz2
Electronic music for HBox RepRap electronics
Because this electronics need some good electronic, robotic and chip music - please listen, download and share (Creative Commons license), this album from Norwegian artist Binary pilot (I am being listening while developing this electronics). Music for you dance while your RepRap prints: <flickr>5194767568|left</flickr>