From RepRapWiki
Jump to: navigation, search

This page is a development stub. Please enhance this page by adding information, cad files, nice big images, and well structured data!

Crystal Clear action run.png

Release status: unknown

No image available.png
Description i2c based Electronics
License GPL
Author Juju
Based-on Delta
Categories Electronics
CAD Models none
External Link none



Bellis is my idea of i2c based electronics for a RepRap printer, which I will be working on in Dec/Jan of 2013/2014. I'm planning on doing the initial prototyping on vero board and then maybe designing a PCB if it all works out. I still need to wrap my head around the way that RepRap electronics actually work, and I'm wondering if proper sequencing might be an issue, because of the nature of i2c communications.

My goals are mostly selfish at the moment - I just don't want to spend a lot of my own money until I have a fully operation 3D printer. As a result of this, I can say that from an outside point of view, others might find my results cost effective. Consequently, this may make the device a bit more complicated, but I sincerely doubt that, and I'll do my best to be clear about what I'm doing.


Main Controller: I'm going to be working with an Arduino Uno, since that's what I have lying around. If i2c is my biggest contribution, then I'm expecting this idea will port well to other uses.

(i2c) Bus Expander: I'm using the PCF8574 chip for this, and a few of them, mostly because I've worked with them before and I'm going with what I know and they're relatively cheap. (I guess) I'll be using the 8 output to drive 2 Full-Bridge PWM microstepping motor drivers.

Stepper Motor Drivers: I'm using the A3955 Full-Bridge PWM microstepping motor driver from Allegro - my reasons are cheapness and slight familiarity. (I've worked with something close before) Two will drive each motor, and these will be controlled by the outputs of the bus expander.


I'm thinking of running my own mangled version Teacup, since it's the smallest firmware and apparently that's a concern for the Uno. I'll probably want to use Arduino's Wire library to start with, since i2c is an annoyance I don't need right now, but I'd be willing to revise that later, since I've written i2c stuff from scratch before on a much nastier mcu.

Questions & Suggestions

I'm open to both, as this clearly still has a long way to go, and there are probably tonnes of things I haven't thought about yet.

I'd particularly like to know about sequencing of moving motors (ie. Do the X and Y ever have to move at exactly the same time?) and why maybe it's not a good idea to use i2c.

Also, cooling may be an issue, as I haven't even thought about that much yet. Hell, it may even render my choice of stepper driver moot. So let me know about that too if you have any thoughts.

Anyway, contact me anyway you know how. I'm on the forums as Juju and on IRC a lot as JujuZA.