Welcome! Log In Create A New Profile


Beyond the Sanguino

Posted by Joshua Merchant 
Re: Beyond the Sanguino
January 31, 2009 04:32PM
... for "UV-curing resins" look here: [forums.reprap.org]

And for Fernandos receips look here: [forums.reprap.org]


Edited 1 time(s). Last edit at 01/31/2009 04:42PM by Viktor.
Re: Beyond the Sanguino
February 01, 2009 04:51AM

Many thanks for saving my bacon there.

And Fernando my apologies it was indeed you.



Necessity hopefully becomes the absentee parent of successfully invented children.
Re: Beyond the Sanguino
September 29, 2010 12:19AM
SMD soldering was from the start accessible to any home guy with a soldering iron over 5 eur.

All the pcbs in mendel, including extruder controller can be made from copper cald, with some eagle editing and some image editing, in simple toner transfer, double sided. And can be soldered entirelly with just soldering iron, no reflow or special smt needed, just a tweezer.

Youtube is full of examples and step by step instructions about anything, like making your own pcbs in toner transfer, soldering and desoldering. For example, desoldering Atmega: [www.youtube.com]

Reprap making own pcbs, reflow ovens and hot plates ... it all nice but not a *must* - its like one way to do it, but not the only one.

The old soldering iron is not dead and by all means it is not easy to replace.


To get back on topic:

Related to electronics of reprap for the future, i would be inclined to think more about how the machine could be in the future, how it could / should evolve. Which is easy to anticipate, when you look at the industrial cnc evolution. Lets do a countdown of what could possibly get needed in the future Reprap.

For example as soon as you will want reprap to make its own linear guides mechanisms (almost regardless of how they would look), then most probably you would need some sort of 4th axis (+1 stepper). When you want 4th axis, you will need to stick together like this x+2y+z (again +1 stepper), totalling 7 with 1 extruder. Like Hydra-MMM sort of. That for single head machine, if you want more, add steppers.

So 7 steppers (not 3) can become (sooner or later) just the starting point. Just as an expansion capability for now.

In relation to other sensors relays and such, almost all cnc today are closed enclosure, for the benefits this brings. This way you can have some air cooled tools without fear of condensation, which means humidity control and maybe even ion emitters to inhibit oxidation. Not to mention that milling should have some sort of mill head exhaust. Etc.

That alone can make the amount of sensors and relays double, if not even more.

So when designing / discussing a new radical electronics platform, imho take all that into consideration. Just to have the bar raised at the right level. Because a syntax like "new arm cortex with 3 steppers" only strikes me as an "alternative", and doesnt seem to fit exactly in what "developing" word should literally mean, from this point of view.


Edited 6 time(s). Last edit at 09/29/2010 08:32AM by NoobMan.
open | download - 20092010083.jpg (593.2 KB)
open | download - Copy of 29092010103.jpg (384 KB)
Re: Beyond the Sanguino
October 15, 2010 07:43PM
Some good points there, NooBMan. I have not read all the text in the last three pages, it is all ancient history by now, at least in reprap terms smiling smiley.

However, I have been looking at what it would take to go beyond the current designs. For the first few requirements, I agree with NooBMan:

1) More than 3 stepper axes. 7 should be a minimum

Whether controlling a milling head (three extra axes plus motor control), adding a lathe to the work area (a different 3 extra axes, at least), pointing a nozzle sideways and rotating it to extrude long horizontal overhangs or embed fibers or wires, adding cooling air to freeze plastic in place or coolant liquid for metal cutting, stepper or dc motor controlled conveyor belt base to allow continuous building of parts, 3D scanning requiring camera, light source(s), and/or product to be moved around more than just the existing three, motor controls for recycler

2) More than 2 temperature reading/controlling. 4 should be a minimum

An enclosed cabinet allows for controlling ambient air temperature as well as bed temperature. With multiple extruder heads, some things can switch to the active head, but others will need to be kept in a standby state, and 'warm' plastic is at the top of the list, controlling the temperature of cooling air and/or fluid, safety check on electronics or motors getting too hot, temperature of most recently work part of material (plastic may sag, metal may puddle and run), temperature or raw stock in recycler, temperature of raw granules being converted to filament, temperature in granule fuser, temperature of filament coming out.

3) More than 3 end stops. 17 should be a minimum (2 for each of 7 axes, plus 3)

For safety, there should be a power off limit stop at both ends of every movement axis, re-zeroing points for each axis if separate from end of range limit stops, with multiple heads it will be necessary to re-zero the 'working point' of each extruder/mill head, surface sensor to correct Z axis for warpage in build plate for first few layers, detect electrically or optically fiducial marks on work surface, partially completed piece.

4) Adding Absolute or Relative encoders. 7 should be a minimum.

To eliminate lost steps, provide more repeatability, we may want to add linear and/or rotary optical or magnetic encoders. Absolute encoders would reduce or eliminate the need for re-zeroing each axis during a build. It also opens up the possibility of using DC-brushed motors, or cheaper, underpowered steppers and correcting for occasional lost steps.

5) PWM controllers for servos. 4 should be a minimum

Some of the added motion functions will be driven by servos. Such as rotating the sideways pointed extruder, switching between extruder orifice sizes, grabbing and releasing extruder heads, controlling lighting or camera movement for 3D scanning.

6) Additional Analog inputs. 4 should be a minimum

Environmental testing inside a closed cabinet other than just temperature, weight of filament or granules left to work with, pull force needed to unroll filament to detect a jam, track granule to filament quality in recycler.

7) Digital outputs or motor controlls. 8 should be a minimum

Status LEDs to to indicate working, filament jam, over heated, head crash, axis error, product build error, finished. Motors for recycler, moving bed, parts removal, milling spindle, lathe rotation.

8) Adding outside world I/O. Spare RS232 port should be a minimum

LCD displays of extruder temp, bed temp, cabinet temp, run time. Full LCD/touch screen display to select parts files to print and control functions. RS232 terminal emulator to report all internal data and monitor operations, ethernet port with web server to allow ethernet interface for control, monitoring (3D scanning) of current part be constructed, download code for more parts, select from files in memory to print.

9) Memory storage. 1 GB should be a minimum

Current on-chip flash memory appears big enough to handle programming, but file storage for parts to make, status results of completed builds, store on built in SD flash drive, read from USB flash drive, extra compact flash or SD/microSD, read from CDROM or DVD.

10) Operating system. yes? no?

The realtime, real world interface and process control operations of a reprap makes it important to have a very fast response time program. Step pulses fro axis movement must be very precisely timed and controlled. This leads to no operating system at all, just interrupt driven routines, or a good, fast real time OS. On the other hand, human interface, possibly with GUI, web interface, ethernet stack, hirearchical file structures all are much easier to do from a standard OS, like Linux, Windoze, MAC.

I have also been looking at hardware. No one chip can handle all the I/O described above. There are 4 main solutions.
A) Use a big chip and add I2C (or CANbus or RS232 or other bus) based helper chips. I believe that there are many types of I2C addons for multiple PWM channels, ADC and DAC coverters, extra memory, possibly even stepper controllers.
cool smiley Use a main control/interface chip with many secondary chips. Once again, the I2C bus, or other communications channel, allows a single master chip to separate tasks and assign them to secondary chips. One for doing all the temperature controls, one for main axis stepper timing and limit switches, one for secondary steppers and their switches, one for reading optical encoders, one for low level display (LEDs, simple LCD, etc).
3) Step up to a pentium based machine. The PC 104/plus single board computer is still more hardware interface, real world process control oriented. And they have a bus structure that can be used to expand the number of stepper motors and PWM channels they can handle. It would be easier to add code for GUI interfaces, but these usually don't run a full OS.
4) A mix of a pentuim computer running a standard OS (Linux?) to handle the user interface, web interface, file storage, and communicating with a microcontroller chip(s) to handle the real time process control in a custom designed board or box. At this point, we might as well put most of it into a small computer case and power supply, so that ethernet ports, CD/DVD drives, etc can be added.

There are other, larger single board computers (SBCs), but they rapidly get more expensive, and less real world timing and control oriented.

The other end of the spectrum would be to give up and microcontrollers, design and build low level I/O boards and use EMC2 to run a normal desktop computer. This is the most expensive, but also has the greatest room for expansion. ANd the 3D modeling software can now run natively on the reprap machine.

Re: Beyond the Sanguino
October 16, 2010 02:51AM
You're undoubtly asking for the $500 set of electronics, rocket_scientist :-) For my part, I'm looking to remove as many parts a possible. Fewer parts = fewer possible points of failure.

Generation 7 Electronics Teacup Firmware RepRap DIY
Re: Beyond the Sanguino
October 16, 2010 01:40PM
Well to say it first, the commercial cncs in all its forms, took decades to develop, and a reprap like that may not be ours to play with, but our children's.

That doesnt mean we have to look the other way right now.


Check out Fez cobra, has stacking shields up to 8, providing in total of 320 i/o.
Emx module can be upgraded to like 256 Mb. Still low on pwm and low on analogue.

I dont suggest to use that, or even to do it like that. I just wanna settle for "it is possible, it can be done".
Finding the optimal way is ofc different matter.

On the topic of electronics prices / costs: i dont think any1 cares for that to be honest. Not around this community. I expect that peoples here are passionate. Nobody is flat broke if he can *afford* to have a hobby, especially electronics since its pretty expensive one anyway. Besides that, a passionate person will generally disregard costs and emphasis on "gadget" effect.

See the images above about my gen3 electronics. Dont make that think that i choosed to do it like that because of costs issues. Because only my time lost on those boards would be worth more than buying them full done. If i wanted to have lower costs, i would of bought them. That is only because its a hobby and i truly enjoy doing it that way. And about the cost of fez cobra of anything like that, i would pay it in next 5 mins if some1 would provide a software environment to actually run the gcode on it. Ofc because im like that i wold tend to do boards same way, ofc except emx modules although it is possible to do anything with just solder iron except bga (only thing that actually needs a hot station / hot pen).

Anyway, i am trying to say that as an attribute or as a general consideration, *price* is generally highly over-rated.

Even more around here i would expect.

Besides its limitations, the arduino is, nevertheless, pretty amazing. It can run like 7 steppers and have like most of the other electronic stuff done, its just not as "standardized" as many of us would like to i guess. My point is not about that.

To put it metaphorically, when you hold your arduino in hand, you see all pins, you have an ideea what to do with them, and you know there isnt much else to do besides what you know already. Thus, arduino feels like a tool.

On the other hand, when you hold something like that fez stuff, that potential in your hand, your immagination may go wild, and you may feel like a child, and that makes it a toy. Not a tool. I think many are after that feeling, at least i am for sure.
About the path, like industrial cnc had to respond to industrial needs, reprap evolution will have to respond to personal needs, at least ideally should do that.

One day:
-one day we will be able to print from a huge buffer memory
-one day we will program, access, queue files and watch reprap reports statistics through a 100Mb network card
-one day when a print error occurs (rarelly) reprap would self diagnose and send a sms message with error onto a mobile phone
-one day reprap standalone will have a webcam broadcasting itself over web, so we can watch it while at work
-one day, reprap will call me on my mobile saying with metallic voice "hello this is your reprap, i am calling as programmed to remind you that today is your wife birthday" - "Auch, ok, start print subroutine number 2345 i say" which is a big bouquet of roses in 5 colors. Getting home i gave them to my wife saying "oh dear i have been working hidden last 2 weeks on these, thats why i couldnt spend more time with you. Solved, wife happy. Just 30 mins later house call will ring and wife will come and say: -"Dear, your Reprap called, to remind you that tomorrow is the birthday of your mistress"...

Now that is a really nice ideea of a development path! With just a few minor envisioned bugs to be fixed ....

Edited 1 time(s). Last edit at 10/17/2010 01:37PM by NoobMan.
Re: Beyond the Sanguino
October 17, 2010 02:05PM
Tramflug, I agree that what I was laying out for a future machine is more expansive. But the machine I was talking about would also have multiple extruder heads, possibly multiple orifice sizes per head, some degree of subtractive process, some possible re-orienting of plastic pieces to avoid gravity and support material problems, support material, 3D scanning of unknown pieces to build an editable 3D file to recreate the piece, on board 3D editing and extensive file storage and sorting, continuous unattended printing capabilities, self testing and reporting online. In short, the hardware is going to be as much as 10 times more complex, and probably expensive, then the current Mendel. So if the electronics double from the $200 I spent on gen3 electronics to $400- $500, it would still not be large compared to the hardware costs. And hopefully, this super-reprap machine would build most of its own parts and electronics, so that the costs would be comparable to current machines because fewer 'vitamin's are needed, mostly just raw materials and time.

I also agree that this super-reprap (SRR) will not be built soon. But it will be easier to make a next gen machine with all the electronics and computing power of an SRR but more modest hardware, and it will be much easier to experiment with tacking on new hardware functions and developing more sophisticated software and file formats.

NooBMan, I agree that we often find away to cover the costs, even if they will never be practical or pay for themselves by printing new machine parts. However, at the moment I have spent so much on my toys I must tighten my belt and pay off some credit cards before embarking on whole new tangents. But I begin to agree that an over powered electronics section may be a good choice as a starting point for experimenting with next gen systems. And I think I need to move my game up at ATMega2560 just to have some breathing room for my Mendel. 86 I/O lines will cover most of what I was outlining above!

Re: Beyond the Sanguino
October 17, 2010 10:57PM
A little more on topic.

The atmega1284 is now available (I got a couple of them) in 40pin DIL format so is a direct drop in for the 644p DIL but with more memory.

On having a reprap do its own circuitry I had a sudden blast from the past.

The first microcontroler boards i made and programmed in machine hex machine code were wire wrapped.

Wire Wrapping is something that a Cartesian Bot could be tooled up to do.

The same tooling would be great for electro mechanical devices too using wire wrap wire.

Thoughts for what they are worth.


Necessity hopefully becomes the absentee parent of successfully invented children.
Re: Beyond the Sanguino
October 18, 2010 02:23PM
Aka47, I have heard several people suggest wire wrap as an easier alternative to etching or isolation milling the PC board. I agree that it sounds like it is worth a try for through hole device only boards, or at least when any surface mount device is mounted on a chip header so it can be plugged into a socket. The wire wrap should work well for signals up to 20Mhz or higher, but I think they start causing problems when clock rates get to the several hundred megahertz. Which means it will work fine for any of the Arduino varriants, but if we go to SBCs or high speed 32 bit microcontrollers then it won't work. And the large, faster parts are usually all surface mount anyway.

I was surprised that you though we had drifted of topic. Then I thought about it and remembered that although I have an Atmel STK500 for programing any ATtiny or ATMega chip in circuit, plus the Atmel development environment, not everyone else has that luxury. Part of the draw of using a pre-programmed Arduino is that it has a built in boot loader allowing it to be programmed without a development kit or dongle to convert serial to SPI. So in one sense, the question of what comes after the Sanguino is not about bare hardware, but hardware with built in boot loader an no need for custom hardware. So with this extra requirement in mind, I went back to looking at Atmel 32 bit microcontroller chips that also have a boot loader.

I was also surprised to discover that Atmel has not only added hardware support for a boot loader program to be separately write protected in low memory, but have developed and added their own boot loader called SAM_BA that is loaded onto their AT91SAM 32bit micros like the AT91SAM7XC256B. This chip is only $15 in single unit quantities and looks like the boot loader comes pre-installed. It also has a built in USB interface (only 12Mbit/sec), a 10/100 Mb ethernet MAC interface, and 2 USAURT serial ports, and CAN bus in addition to the standard SPI, I2C buses. Further, the bootloader can work through either the serial port or the USB port, so no special hardware or cables are needed to program the chip. Atmel even includes a GUI interface for communicating with the boot loader. Admittedly, this is a 100 pin LQFP, so people will need to learn to solder flat packs. Or someone can design a breakout board that would hold the AT91SAM7XC256B plus the clock crystal, ethernet PHY chip and possibly a microSD interface on the break out board, and then bring all the remaining I/O pins out through several rows of header pin connectors to connect to the rest of the system with through hole devices and connectors.

I don't know what the Arduino folks are planning for their step up to much larger processors, rather than just more pins and memory on the same processors, but I think we should consider something like this chip for our own major step up new electronics. We won't have the Arduino development environment, but the equivalent Atmel development environment should be an acceptable switch.

Re: Beyond the Sanguino
October 18, 2010 09:09PM
Yes I think you have a good point there, Loading method needs to be taken into account.

Recently I have been looking at the xmega range and they look quite promising. They seem to have a funny event driven element to their hardware that can optionaly be used to create a certain amount of automated event driven IO. Not entirely sure i understand it completely but for machine control applications it looks to be promising.

On everything to one chip..... I am not convinced that this is the best way to be going. Althought there are real economic benefits to pulling it off.

I am currently of the opinion (after following Sheeps thinking and work on HID) that the machine control should be kept seperate from the Data IO and Human/Host interfacing. Something along the lines of having an interface controler that doe Host Interface, Ethernet Interface, SD Card Interface, Keypad and Display. Serialy connected to a machine controler that does all the machine stuff a gcode line at a time (just like it is at the moment).In essence this means that the 644p/1284p machine controler does'nt need to buffer anything or worry about anything other than driving the printer.

There is a natural divide here both algorithmicaly and in terms of what the microcontrolers priorities are.(interupt and main loop wise). So much so that i think to shoe horn all into one device risks compromising one for the sake of the other due to their priorities conflicting.

I guess there is the added advangtage of a two processor model like this enabling two groups to work on development wihtout falling over the other. Simply because the Gcode interface between the two is well specified and understood.

Not to mention that it keeps the skills sets as is if the HID board is arduino based, and adds the extra IO and pins that are needed for the HID without compromising the Machine control.

Thoughts for what they are worth.


Necessity hopefully becomes the absentee parent of successfully invented children.
Re: Beyond the Sanguino
October 19, 2010 12:19AM
Good points. I had also suggested somewhere that a two processor system would be good. A pentium class single board computer handling the user interface and file storage, probably running some Linux version for the human side. On the other side a real time, interrupt driven, 16 bit timer controlled micro. However, I think that the bigger 32bit micros may be a better choice. Even if we don't use the ethernet interface, the USB connection will make it easier and faster to program than using the serial interface. And the bigger chips have enough extra pins to expand the number of steppers, heaters, sensors, motors, servos, etc. This will hopefully encourage experimentation with the extra inputs and outputs. So even with a dual processor system, I think we should up the ante on the processing power running the printer.

Sorry, only registered users may post in this forum.

Click here to login