# How is this motor on a Romotive controlled?

I have bought a Romo Robot by Romotive. Unfortunately I'm having some technical issues(it does not work, at all) with it so I decided to explore the PCB a bit and see what its made of.

I understand most of the PCB and tracked down the pinouts for most of the Atmel Chip but I never had any experience with motors before. They used this motor.

## Click here for a 300mm@8mp 'Hubble telescope' close-up of the PCB exposed at 15seconds, 100ISO 24f (5.5mb)

When I turn the bot on there is 3.2 V on the motors [tested the motor - & + to GND)] but testing the motor + & - and vice versa yields 0Volts. So taking the H-Brdige into account now that seems normal.

Issuing any commands the motors don't spin..(when I connect a motor direct to battery pack it spins happily away with nice torque.. ) When I issue commands the voltage is the same across the motors(apparently the signals are not loud enough or possibly the protocol changed) while attached to the PCB.. But I cannot determine if the MCU is responding at all to any commands.

Should I assume its controlled by PWM somehow? Am I correct? Most likely not. I cannot trace which pins the motors are connected to on the Atmel either. After taking an hour to get the perfect macro shot i managed to decipher some of the tracks on the names on the IC's.

• Right motor is connected to pins 3,4
• Left motor not in picture to pins 1,2
• A on the picture indicated the tracks are connected
• ? on the picture indicated i have no idea where this track goes.. the left side does not have this
• Black "-" on picture indicated GND

• D2 as symbolised should be diodes. (KSU)(Y6)[These values are printed twice, right side up and upside down, indicating a combined diode?] I think is a 0.3W zener 18V±5%
• Q4,Q3 Indicates Transistors but research takes me to Dual 1N4148 Diodes?
• R6 indicates a resistor with a value of 102, making it 10k
• Could this whole config be the equivalent of this tutorial?

Can anyone explain to me what the red block I marked (exact same for the other side), what those SMD's are likely to be.. I tried searching for the markings on them but nothing comes up for any datasheet.(EDIT, because SMD markings are decoded differntly and many manyfactuers have the same codes for different parts, so its long game of deduction and commons sense here.. with help from awesome guys at StackElectronics!)

## ATT: JustJeff

Here is what seems to be a bit more clear layout of the tracks and you can notice the thick tracks used for the motor pins and the thin tracks for signals. So like you suggested, there has to be a power source for this current somewhere.. I am looking at this pic and cannot really figure out where from. Obiosly it has to be switched using the paired transistors that @RussellMcMahon identified(q1,q2) and the zenners/diodes(I assume).

## Romotive

Romotive is an open source project.. But...

Uncomfortably there is no Source code available for the Atmel, only SDK's. My robot is dead. with no response some response from Romo team (I know they must be extremely busy because loads of other peoples also does not work).. So I might as well make my own firmware if I knew how to drive the motors. Or at least test them with my Arduino? Or something..

--

• See my pdated answer. Please provide IC markings. Motors run on 2V to 5V. It sounds like they are sorting things out and that "soon" all will be marvellous :-). An excellent idea. – Russell McMahon Apr 4 '12 at 14:55
• Goes to show you that you can't trust every Kickstarter project out there – m.Alin Apr 4 '12 at 15:35
• @m.Alin - what OP says and what their web page says suggests some differences. May be a matter of experience.Or not. – Russell McMahon Apr 4 '12 at 18:27
• Maybe mention that bit about the "direct to the battery" test a little earlier on, i.e., maybe just after you say that when you turn the bot on there's 3.2V on the motors but they don't spin? – JustJeff Apr 5 '12 at 1:37
• Those motors take 300mA just to spin the gearbox, so we're talking about more than that to push loads around. I don't see anything on that PCB that remotely looks like it could control that current. – JustJeff Apr 5 '12 at 1:42

Peter from Romotive here-- I suspect your Romo isn't working because of an issue that we just discovered. The EU restricts the maximum volume level allowed on smartphones. Because of this, the micro controller cannot hear the commands that are being sent to it. Here's a link to the Romotive forum thread about the EU issue with a description on how to fix the issue if you have a jailbroken iPhone.

We do realize that most people don't want to jailbreak their phones so we're actively working on a fix. We aren't sure yet if we will end up sending new boards with more volume tolerant firmware or whether we will develop an inline audio amplifier. Either way, we're committed to making sure everything works!

Oh and awesome detective work btw! Though I'd rather you be writing apps that make Romo do cool things rather than trying to get him to work ;)

• Hi Peter. Sent you guys another email :) Yea I was thinking how to make in-line amplification.. Besides, I enjoy doing this and doing this is pretty satisfying for me,as I love working computers. – Piotr Kula Apr 5 '12 at 5:35
• Don't you people have a schematic for this thing anywhere? Isn't it supposed to be open source? – Connor Wolf Apr 6 '12 at 2:29

Information needed - see at end

Concept is good - smartphone based robot which which uses smarthphone for processing power and which can be controlled remotely (from anywhere within phone range - ie almost anywhere.

ROMO

The motors are straight DC motors which are reversible by reversing polarity.
Connecting 2V to 5V DC across the leads should make the motor run.
Reverse power supply polarity and motor should run in other direction.

Older:

The IC's shown are probably a full bridge driver IC.

Here is a 6 pin full bridge IC as an example only

Motor specs:

56:1 Micro Geared Motor Part# 0-GM11A

Typical operating voltage 1.7-5.0VDC (tested upto 9v & 12v works fine apparently)
load current 550 mA +/- 30%
Starting torque 11.1 oz-in (800 g-cm)
True gear ratio 56.8:1
Shaft Size 3mm diameter. 7.4mm (.29") long
Size 0.47" x 0.39" x .94 (12mm x 10mm x 24mm)
Weight 7.8 grams (0.27 oz)

Probable (not certain) control is achieved by connecting the two motor leads to the two sides of an "H bridge".
When one side is on-high and the other side is on-low current flows through the motor from high to low. Reverse the sides and current flows the other was and the motor reverses. Both high or both low or all off = stopped.

EXAMPLE ONLY 6 pin H-Bridge driver:

See data sheet above for operating details.
NB (again) - example only.

Information needed:

If YOU can't find data related to the the markings then telling people here what the markings are is a really really really good idea.

Posting a well focused high resolution photo of the ICs and PCB may allow the tracks to be traced - it's partially possible from the existing photo. Not obscured in red would be a really really good idea.

PCB.
Small 6 pin ICs appear to be Half H bridge drivers. May not be.
If so then one on other side drives with opposite polarity.

This is meant to ne an open source design (hardware and software) BUT so far they are failing to make it so.
(Jean Luke action needed).

Alas, their idea of open source appears to be blacking out IC markings - maybe its just bad light on all the photos I've seen so far. If it's enemy action, then such things only annoy honest people and protect them not a whit from any copiers.

A number of photos here

Good photo here

• Yea - I will try and make a much better photo. I forgot to write down the numbers.. will add that. – Piotr Kula Apr 4 '12 at 11:25
• I will make a better picture tonight and try and trace the tracks as best as possible. I read about the H-Bridge.. and it implies if I apply the nominal voltage(in this case 1.7v to 5v) .. it should spin? What Ohm's should be on the motor, in principle? – Piotr Kula Apr 4 '12 at 12:57
• @ppumkin - it woul;d be quicker if you first do what was requested and then do other things. IC markings and good photos, as described above, may be all it takes. Applying the voltage to the motor that you intend to apply to the driver board should make the motor spin. reversing the polarity should reverse the motor. It is as likely that you are doing something incorrect as that there is a problem with your equipment. Help us help you by providing the requested details. Please. – Russell McMahon Apr 4 '12 at 14:11
• Hi I have updated my Post- I traced and verified the tracks pin by pin and identified where they go to the MCU also! :) But for me that still hardly makes sense. There is a link to a MASSIVE photo i made just for you if you do not like my art. Also, when i turn the power on there is 3.2Volts on the motor pins, constant. Not sure what that implies. Two ADC pins control one motor. Does that mean anything? – Piotr Kula Apr 4 '12 at 20:24
• @ppumkin - how about this: disconnect the motors, power the bot, and read the voltage that would have gone to the motors. I'm guessing that the controller, for whatever reason, is going to 100% duty cycle and railing the motor, but that the driver just can't source the current. I'd almost bet that w/o the motors attached, you'll get a noticeably higher voltage, probably about 5V. – JustJeff Apr 5 '12 at 1:46