Thursday, September 11, 2008
Stripboard Sanguino
I have been asked to blog pictures of my stripboard version of Zach's Sanguino. Here goes:

The cable top-right is the USB <-> TTL serial lead. The double-row 6-way connector top left is the ICSP connector, which you'll need to put the bootloader into the machine before you use the USB connection.
If you flip the board around a left-right axis in the middle of the above picture it looks like this:

If someone has time (unlike me... sorry) to do a proper set of stripboard connection diagrams that'd be really helpful.

The cable top-right is the USB <-> TTL serial lead. The double-row 6-way connector top left is the ICSP connector, which you'll need to put the bootloader into the machine before you use the USB connection.
If you flip the board around a left-right axis in the middle of the above picture it looks like this:

If someone has time (unlike me... sorry) to do a proper set of stripboard connection diagrams that'd be really helpful.
Labels: arduino, electronics, Sanguino, stripboard
Wednesday, June 18, 2008
Line buffering in the Arduino
Arduino line buffering from Adrian Bowyer on Vimeo.
I have implemented a poly-line buffer in the Arduino code. This means that, when the host software wants to plot a polygon, it doesn't have to wait till one line segment is finished before sending the next. It can just blast them at the Arduino as fast as it likes (it gets stopped when the buffer is full...) and, more importantly, the Arduino always has a line ready to plot so there is no dwell between one line and the next.
The video shows it working. As you can see, the movements are much smoother with fewer and shorter pauses (unless your broadband is a bit narrow, when any jerkiness will be download delays...).
There are still some tweaks that need to be made to the host Java software (this upgrade has very temporarily killed temperature polling, for example...). We'll do that over the next few days.
Meanwhile, if you want to experiment, the host software is here, and the Arduino code is here.
For it to work you have to set the properties variable Extruder0_PauseBetweenSegments to false.
Labels: arduino, buffering, firmware
Wednesday, April 23, 2008
Darwin@Adrian goes Arduino
I've finished the hardware work on upgrading my home machine to Arduino control. I've done a few hacks:
- I distributed the circuit boards round the machine next to the devices they control. This actually cuts down the wiring cross-section, if not number, in the sense that - for example - two power wires and three signal ones go to a stepper controller, as opposed to four power wires from it to the motor. Using ribbon cable for the signals keeps it neat.
- I added 78L05 regs to the stepper boards so that everything only needs a single 12v supply. I just soldered them into the same holes as the power connectors, which I made 2-way screw connectors. There are already smoothing caps on the boards.
- I reconnected the 5v input to the extruder motor controller board to its internal 78L05 to make a 5v output on it. This, and the ground connector next to it, are just at the right pitch to solder the little thermistor PCB on there facing backwards. It therefore gets a local 5v supply, and just needs a single signal wire to take the voltage from the potential divider to the Arduino analog input.
- I don't have axis max optoswitches. If you leave them off, pin Analog 2 on the Arduino (Z max) needs to be grounded. X and Y seem happy open-circuit.
Postscript: Number 3. proved to be a Bad Idea. The temperature sensing works a lot better if you drive the thermistor board off the Arduino's 5v line...
Saturday, March 29, 2008
Arduino chosen for next stage of RepRap development

We have chosen the open-source Arduino microcontroller for the next stage of RepRap development. Zach has been working on this for a while, and it gives a number of advantages:
- Direct USB connection to the host computer, hence no significant communications delays
- Easy-to-use platform-independent software development environment
- Faster
- More memory
We shall do a release of the entire RepRap system (hardware, firmware, and software) shortly that will be a stable platform from which people can take the current PIC microcontrollers forward if they wish.
We will then do a subsequent release with identical host software, but with the Arduino electronics and firmware. This will form the basis of our next set of developments.
Labels: arduino, microcontroller, PIC