Many people have suggested upgrading from an 8-bit microcontroller to a 32-bit microcontroller, perhaps one that "can run Linux". Since all the RepRap firmware is written in C or C++, in theory it should be "easy to port"(*) to any microcontroller.
Here are some of the suggestions so far:
- 1 32 bit microcontroller in a through-hole package
- 2 32-bit ARM based microcontrollers
- 3 Tosca
- 4 Replicape and BeagleBone
- 5 Harvey
- 6 TS-7500
- 7 Chumby board
- 8 Bug Labs bugbase
- 9 Leaf Labs Maple
- 10 Xduino
- 11 Coridium ARMmite PRO
- 12 Atmel AVR32
- 13 PIC32
- 14 yet another ARM controller from grael
- 15 Further reading
32 bit microcontroller in a through-hole package
As of 2013, there are now 3 different 32-bit processors manufactured in through-hole packages:
- The Parallax Propeller comes in DIP and SMT packages ( User:Prof_braino, "Propellurino", cluso99, fullspeceng )
- The LPC1114FN28/102 ARM processor comes in DIP and SMT packages ( "Taking Gen 8 wishlist" )
- The PIC32MX210F016B-I/SP MIPS processor comes in 28-DIP and 28-SOIC packages.
All other processors currently being manufactured apparently force people to either
- (a) use an 8-bit processor, which all seem to have many quirks that make programming unnecessarily difficult, or
- (b) use a fine-pitch surface-mount processor, which are difficult to use with relatively crude Automated Circuitry Making homebrew process, and impossible to use on a solderless breadboard or an off-the-shelf prototyping board (perfboard, stripboard, etc), or
- (c) use some no-longer-manufactured 32-bit processor in a DIP package (such as the 68010).
Opinion: IMHO, 8-bit MCUs have no more quirks than 32-bit MCUs, they're just slower. ATmegas were probably choosen because there were the very user friendly Arduinos, including it's IDE, Arduinos were already widely accepted and chips like the LPC1114FN28 didn't exist back then. Also, demands on computation power were much lower (no microstepping, no displays, not even acceleration), so an ATmega was more than adequate. --Traumflug 10:31, 9 February 2013 (UTC)
32-bit ARM based microcontrollers
The problem with ARM based microcontrollers is that they are only available in SMD houses (not DIL).
The good thing about ARM are:
- good and mature architecture (since 1984!, originally designed for Archimedes computers to replace the 6502 and 6510)
- low power (high mips/watt)
- Good open source compiler (GCC) and IDEs support
- Available from many firms and suppliers (e.g. LPCXpresso Boards)
- Active development (10/27/2011, eetimes.com: ARM unveils 64-bit architecture Quote: "...ARM Holdings has announced that its next-gen ARMv8 architecture will include the firm’s first 64-bit instruction set, pushing ARM-based processors into new segments of the consumer and enterprise markets...This, he said, “would bring the advantages of energy-efficient 64-bit computing to new applications such as high-end servers and computing, as well as offering backwards compatibility and migration for existing software through a consistent architecture."...Indeed, the first processors based on ARMv8 will only be announced sometime in 2012, with actual server prototypes running on the new architecture expected in 2014...")
Please note that using ARM does not necessarily mean to abandon Atmel AVR. Atmel AVRs could be used as a dedicated xyz-extruder-control or other low level support.
Does this include a 32-bit CPU? If not, perhaps the "Tosca" section should move to Alternative Electronics#Stepper Drivers.
The Tosqa group is developing some general-purpose open-source hardware modules that look like they would be usable in a RepRap. In particular, Tosca Single Stepper Board 0.1 is specifically designed to produce coordinated motion for desktop CNC machines using NEMA 17 stepper motors, such as the RepRap.
Replicape and BeagleBone
See BeagleBone Black.
The Wikipedia: BeagleBone Black is $45 Linux computer -- 1 GHz ARM Cortex-A8, 512 MB DRAM, Ethernet, etc.
Harvey is built around a STM32F102 ARM Cortex M3.
A nice, compact board with pretty much exactly what we need and no extras that we don't. A good cost and pretty well powered board that should meet our needs well. Its also small and compact. It claims to be un-brickable and looks to be fairly rugged.
Price point: around $90/board at quantity 100; $140/board at qty 1.
Quoting from "Technologic: 2.9 x 2.6 inch Compact Computer Modules: TS-7500": Features
* Great documentation * 250MHz ARM9 CPU * 64 MB DDR-RAM * 4 MB NOR Flash * Customizable 5K LUT OpenCore FPGA * 1 micro SDHC Card slot * USB2 480Mbit/s Host(2) / Slave(1) * 1 10/100 Ethernet * 8 TTL UART * 33 DIO, SPI and I2C interfaces * Watchdog Timer * Optional BB-RTC, CAN bus, WiFi * Power-over-Ethernet Ready * Fanless Operation from -20°C to 70°C * Small size (67mm x 75mm) * Low power (400mA @ 5V) * Unbrickable, boots from SD or Flash * DevKit includes base-board+enclosure * Boots Linux 2.6 in less than 3 seconds
Good mix of low price and stripped-down feature set. On-board LCD and touchscreen support. Good relationship with Bunny is a plus. New boards don't have chumbilical connector populated; we could get this added for peanuts.
Price point: Fully assembled chumby one w/ all the toppings runs $119, so I'm guessing we can get the board at ~$50-$60. Features
* Open-source * 454 MHz ARM * 64 MB RAM * WiFi * boots off MicroSD * backlit 3.5" LCD, touchscreen * Breakout header: "Chumbilical" o +5V o 1 SPI interface o audio output o video output o 2 USB channels o 1 GPIO * Est. cost ~$50
Bug Labs bugbase
Tricked-out DeLorean of ARM modules. Nice feature set, way too pricey. May be worth talking to them to see if they're considering a stripped-down version, but a long shot.
Price point: Fully assembled retails at $450; probably could get a raw board for closer to $200 in quantity. Features
* Open source * 532Mhz ARM 11 microprocessor * 128 MB SDRAM * 32 MB on-board flash storage * MicroSD card interface (support up to 16GB) * Integrated 802.11b/g WLAN * Bluetooth 2.0 + EDR * USB 2.0 OTG High Speed host interface * Breakout: 4 BUGmodule interfaces o + Four UART serial links + 4-channel SPI interface + I2C (400 kbits) interface/4 channels + I2S interface/ 2 channels * 10/100 Ethernet MAC * JTAG/ICE support * Serial debug port * Smart power management support * Battery-backed real-time clock * Way too expensive: retails for ~$450, could probably negotiate a clean board wholesale down to $125
Leaf Labs Maple
Arduino clone. Not sufficient pinnage or muscle. Open-source; could potentially be modified to work for us. Features
* Open-source * STM32 ARM Cortex-M3 @ 72MHz * 20 KB SRAM * 128 KB Flash * Breakout header: arduino-compatible o Arduino pins * Retails ~$50, could probably wholesale down to ~$30
Xduino extends Arduino to run on ARM processors. Currently Xduino is known to work with the
- STM32 ARM Cortex-M3 at 72MHz
Coridium ARMmite PRO
Another underpowered arduino-like board, but the price point is nice— $30 retail. Features
* ARM7 CPU running at 60 Mhz * 32K Flash memory and 8K SRAM memory * 24 TTL compatible digital I/O * 7 10-bit A/D converters, 100 KHz sample rate * 8 Hardware PWM channels * internal supplies of 5V, 3.3V and 1.8V
2 x MCP3208 - 8 channel, 12 bit ADC, SPI, $2.64/chip 4 x MCP23S17 - 16 channel GPIO, SPI, $0.95/chip 1 x TLC5940 - 16 channel PWM, $1.30/chip
ADC: 16 GPIO: 64 PWM: 16 TOTAL: 92
Cost: 2.64*2+0.95*4+1.30*1+0.50*8 Operating System RTAI Realtime linux extension, pretty standard eCos
* Includes TCP/IP stack * Includes USB stack * Active dev community * Supports just about every embedded platform you can think of
* Pretty much the same as eCos, shares some of the same modules * Reputedly smaller than eCos * Two parallel projects: a GPL version and a licensed support version
Runs Linux, USB, Ethernet 10/100, etc.
An implementation of the 32 bit MIPS CPU.
yet another ARM controller from grael
(does this have a name yet?)
- Arm Cortex M3
- RepRap forums: "Build thread, 100 pin STM Arm Cortex board with driver chips."
No longer vaporware! See photos of it controlling a CNC at http://grael-minifactory.blogspot.com/
This "Vaporware Electronics" page focuses on ideas that may be useful for future RepRap electronic hardware using 32-bit processors.
- List of electronics has a list of all active reprap electronics. Some of them are 32-bit designs that have graduated from this page.
- FuturePlans has a high-level list things we want to accomplish.
- Development Pathway and Alternative Electronics has a high-level list of ways to incrementally improve RepRap designs. While most of the above ideas make things better in some ways (faster, easier to program, etc.) they also make things worse in other ways ("Easy to experiment", "use only widely-available parts that are unlikely to go obsolete soon", "make it possible for people to fab the boards with a relatively crude homebrew process", etc.).
- FutureToolIdeas has ideas for the business end of a RepRap
- FirmwareWishList has ideas for the software that runs on the RepRap electronic hardware (some of these things would be much easier to implement using 32-bit processors)
- The "cpu alternatives" discussion thread
- "Software motor control and back EMF as position feedback" has some discussion comparing and contrasting many different microcontrollers, including 32-bit microcontrollers.
- The "No Computers Attached!!!" thread has some discussion comparing and contrasting many different microcontrollers, including 32-bit microcontrollers.
- ideas to place has ideas for making things better in other ways
- If want some tips on giving unnamed electronics a good name, see Electronics Naming Conventions.