PDA

View Full Version : [Project] Propeller-based iSobot Controller Board



milw
01-28-2009, 11:02 AM
I'm designing a drop-in replacement for the iSobot controller board, and would like to know if there's much interest in such a beast. The cost of getting boards made can be lowered if more people are interested in getting one.

The board will support:
LQFP-44 Propeller MCU
5 MHz crystal
32 kb serial EEPROM
H48C 3-axis accelerometer module (Parallax)
HM55B compass module (Parallax)
3.3V regulator for MCU, modules and servo electronics
header for Prop Plug (Parallax USB-serial interface)
header for radio module (haven't decided yet, thinking EB301 bluetooth module from A7 Engineering)
connectors for iSobot's LEDs, microphone and speaker

Unused ports of the Prop will be brought out to either a header or an array of plated-through holes as on the Prop Proto board; depending on how the modules are configured, there could be 20 ports left over to play with!

Adrenalynn
01-28-2009, 12:49 PM
I think this is an awesome idea! I'm going to move this over to "Brains", and you can start a thread for your project itself in "Projects" if you like. I suggest you start a poll in this thread as that seems to be the standard to gauge interest around these parts. This is something that might make me consider picking up an iSobot. Do you have an estimated price-point yet?

Also, rather than bluetooth, can I suggest XBee?


[Edit: Mod Note: Dupe Thread Removed @ OP Request. -A]

milw
01-28-2009, 01:08 PM
Thanks Adrenalynn. I'll have to figger out the poll system, that's a good idea. Xbee also worth considering, better range than Bluetooth right? BT is just so easy since its already built into my PDA and laptops. I drew up the schematic and started the PCB in ExpressPCB because that's what I have, but I'm not sure if they're the most economical source for small-run boards.

Adrenalynn
01-28-2009, 01:47 PM
No prob! Let me know if you need help with the polling. I think I can even edit and set it up - never tried it.

XBee is tremendously less expensive than bluetooth, longer range, less susceptible to interference, and is just cooler, imho. ;) It can also be meshed and repeated trivially. It's also smaller in most commercially available configurations, as well as providing some analog inputs and digital I/O.

I'm a BIG XBee fan. But it's just a subtle nudge. ;)

[edit] AHA! See you got it. I voted. Keep us updated as you figure out BOM and costs? Thanks!

lnxfergy
01-28-2009, 02:26 PM
Thanks Adrenalynn. I'll have to figger out the poll system, that's a good idea. Xbee also worth considering, better range than Bluetooth right? BT is just so easy since its already built into my PDA and laptops. I drew up the schematic and started the PCB in ExpressPCB because that's what I have, but I'm not sure if they're the most economical source for small-run boards.

Quite frankly, express PCB is freakin expensive for what you get. No order will be less than $50, and at that point you don't get soldermask or silkscreen.

BatchPCB (a product of spark fun) isn't terribly expensive for qty 1, but it is kinda slow.

http://www.goldphoenixpcb.biz/ does a deal of 155sq in for $99, including soldermask and silkscreen on top side. They do the panelization and v-score seperation for you. That price includes shipping. (this is the same guys that Sparkfun sends their BatchPCB boards through -- and the same service we are gonna use for the mechDAR boards and such).

EDIT: spark fun has lots of tutorials on using EAGLE cad, which can be used to produce files for everyone but express pcb.

-Fergs

jes1510
01-28-2009, 02:32 PM
Fergs speaks much truth here. Eagle is commonly used and you will find wide community support for it. The downside is that the interface is pretty clunky and non-intuitive so the tutorials will be a big help. Another plus is that once you figure out how to make production boards with Eagle you will be running with the big boys (and girls). The process is the same that every company on the planet uses to produce PCB's. ExpressPCB is a proprietary system that really knee caps you in the long run.

Quantum
01-28-2009, 02:46 PM
Are these standard servos in this guy?

Do you have a picture of what the current board looks like?

Will this board control the servos and everything else you planned?

Adrenalynn
01-28-2009, 02:55 PM
Another thumbs-down on ExpressPCB here - primarily because I'm entirely comfortable in EagleCAD and own licenses for it. Why redesign for their convenience with their less powerful tools?

Quantum, no, their not off-the-shelf servos. It's how they get the ISobot so tight and clean. I'd guess they're probably still just straight PWM, but controlling the ISobot outside of its environment is notoriously tough, and the main reason I haven't picked one up on-sale for so little money.

Quantum
01-28-2009, 04:27 PM
Should have been a little clearer. I just want to if there were standard pwm. Thanks

The other thing is with ExpressPCB you can get the files for them. You need to contact them and of coarse there is a fee. I have done this in the past.

Paul

DresnerRobotics
01-28-2009, 05:54 PM
Count me in for one, I think this is an awesome idea! I have an Isobot ready to go for it too.

milw
01-28-2009, 07:09 PM
OK everyone, thanks for the heads up on ExpressPCB. I tried Eagle a year or so ago and was making some progress, but had since then removed it from PC. I'll go and get the latest installer and get going.

The iSobot servos are custom, and each limb is chained together on a serial bus. I have the serial protocol (2400 8-N-1, thanks to previous work by others available on the web), basically the MCU is just sending an 8 byte string (2 command bytes at the head, 5 servo values, and a checksum at the end). So on the to-do list are to determine valid values for each joint, and breadboard the controller to do a proof-of-concept.

There was someone else who was working on decoding the IR control scheme, but I don't have a link at the moment.

Here's a transcription of the left leg serial during the Left Kick 1 sequence, for example.


FF 05 00 65 B5 9A 00 BA hip, ankle not powered
FF O5 7D 65 B5 9A 7E B6 repeated 7X, leaning
FF 05 7C 65 B5 9A 7D B4 raise leg at hip
FF 05 7C 65 B5 9A 7C B3
FF 05 7B 65 B5 9A 7C B2
FF 05 7B 65 B5 9A 7B B1
FF 05 7A 65 B5 9A 7A AF
FF 05 79 65 B5 9A 7A AE
FF 05 79 65 B5 9A 79 AD
FF 05 78 65 B5 9A 78 AB
FF 05 78 65 B5 9A 78 AB
FF 05 77 65 B5 9A 77 A9
FF 05 76 65 B5 9A 76 A7 repeated 16X
FF 05 74 66 B6 9A 76 A7 other joints begin motion
FF 05 71 67 B8 9A 76 A7
FF 05 6F 68 BA 9A 76 A8

milw
01-28-2009, 07:16 PM
Here's a shot of the iSobot board topside, I added some long pins to the left arm and leg serial pins to make it easier to monitor. The PropPlug works great to interface to USB. Board dimensions are just a shade off of 2" square (53.5 mm x 49.2 mm). I've unplugged the speaker cable; the heavier one at the top is the battery and the thin one at top is the microphone.

http://i13.photobucket.com/albums/a275/milw/Robots/iSobotLoggingP1160185.jpg

Quantum
01-28-2009, 09:04 PM
I like this project. I just picked up a bot didnt even know that there that cheap. Any one know if the bot is discontinued or just TR is not going to carry them anymore?

milw
01-28-2009, 09:25 PM
The word I heard was 'discontinued', but I didn't hear it from Tomy.

Rudolph
01-28-2009, 11:10 PM
Sounds pretty slick. I may be interested in such a thing (and the bot to go with it), but not until after Faire (June-ish).

Funny, I'm within a couple days of posting an "anybody else interested" poll on my project too ;) Eagle's not that bad, first time I used it was a couple weeks ago.

Nelsontheunholy
03-15-2009, 12:24 AM
Thats a shame to hear about isobot being discontinued. I recently picked one up on ebay new for 69.99 new with shipping so it was a steal. one thing i have been messing around with is that 5 pin jtag right in the middle of the board. I have also started looking into getting a new controller built. For the time being i have been requesting the isobots source code as the rumor has it that it is running anstrom linux so the would have to fork it over per the gpl. I would be down to buy a newboard board. also for the ir codes you might wanna check with the guy making the robodance software as I believe he had decoded them.

milw
03-16-2009, 07:16 AM
Thanks Nelson- I've still to do the PCB layout but I do have the schematic done - had to get friendly with Eagle CAD - will post tonight. A new job has intervened so my free hours have been drastically cut back!

Nelsontheunholy
03-16-2009, 07:54 AM
Hey

Okay I got a hold of mobisense and they cleared up a few facts. I guess they did not build the controller board but where using there own controller board as a reference to show how small there board is compared to the isobot . Also I was wondering what kind of load do the servos pull??? I know the bot works off 3.6 volts but is the output voltage the the servos stepped up. I have been putzing around with working up a lithium polymer battery replacement with onboard voltage controller as the space under the front chest plate could hold a rather substantial battery. i was thinking a 4-5000mah battery would work wonders and with a little dremeling a charging port could be worked up to plug the little guy in and as lipro batts recharge alot faster this could have its advantages. another thing is how many extra servo and uarts will be available on this new board as I have some evil ideas for some replacement hands and onboard weapons. Thinking of looking into replacing the left hand with a small disk launcher that shoots those little foam disks and the right are I am not sure yet but also I have other stuff I am thinking of. If my drawing skills didnt suck I would put them down on paper. Muahahahahaha.

Edited again

Hey Is this the propeller mcu your looking at???

http://www.mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMvu0Nwh4cA1wX5jwmbK 8bxpFyFZeIfAUl0%3d ????

Looks very nice especially the multitasking capabilities. Also I was thinking with that in combination of a higher output battery we could really see the isobot move. I personally wont be happy till he is ripping other robots arms out of their sockets and beating them to death with em like an enraged wookie. I will admit I have only evil interests in mind. Hopefully world Domination will soon be at hand. Pause for evil Laugh............................ Now all together MUAHAHAHAHAHAHAHAHA!!!!!

Nelsontheunholy
03-19-2009, 07:16 AM
Hi Guys

After doing a bit more digging I have found this

http://www.mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMvu0Nwh4cA1wYJ1YKEY SWFCeGZgDyykOSw%3d

MCU Details as follows

Manufacturer: NXP Product Category: Microcontrollers (MCU) RoHS: http://www.mouser.com/Images/Search/icon_rohs.gif Details (javascript:OpenRoHSCompliant('4oH%2f8gj0YPH1U7vUA bhRuA%3d%3d');)
Product: MCU Data Bus Width: 16 bit / 32 bit Core Architecture: ARM7TDMI-S Package / Case: SOT-950-1 Program Memory Type: Flashless Data RAM Size: 98 KB Interface Type: UART, USB, I2C, I2S, SPI, SSP, CAN Maximum Clock Frequency: 72 MHz Number of Programmable I/Os: 160 Operating Supply Voltage: 3.3 V Instruction Set Architecture: RISC
Maximum Operating Temperature: + 85 C
Minimum Operating Temperature: - 40 C
Number of Timers: 4 x 32-bit
On-Chip ADC: 10 bit, 8 Channel
On-Chip DAC: 10 bit
Operating Temperature: - 40 C to + 85 C
It will also support sd/mmc and external lcd so maybe a mod with a small 2 line lcd giving status and information and also supports sdram and nandflash for onboard storage aswell as usb host functionality for easy usb programming and bluetooth support and most importantly it has a 4mhz timer and 4 onboard uarts which would be required by the isobot plus it is priced a few bucks cheaper then the propeller based options.

combine it with some onboard sdram and flash and we could be onto a smart Isobot

Adrenalynn
03-19-2009, 11:42 AM
Why stop at an ARM7? Why not an ARM9?

Powerful microcontrollers abound these days. The hard part is makin' 'em talk. ;)

Nelsontheunholy
03-19-2009, 01:28 PM
The reason I chose that particular mcu is what it has onboard. I have looked and yet to have found a solution that offers that many options in an arm9 core. All of the mcu and soc that I have looked at have not had the required 4 uarts that are needed to run the isobots servo's not to meantion the abundance of other connects I am still looking around for something else but that would be a great solution.

ScuD
03-19-2009, 02:55 PM
huh? I'm missing something, why does it need 4 uarts?

Just saw the on sale price on the isobot, unfortunately it's only available for us clients.. meh...

I'll have to stick to the gazillion other projects i have then.
But i'll keep checking this one, I'm keen on seeing some more propeller projects.

Nelsontheunholy
03-19-2009, 07:09 PM
Basically all the servos in say the right arm are daisy chained together and are connected to one uart when the controller sends a byte string down the daisy chain but the servo's are setup to only recognize a particular part of the byte string that relats to its own commands this way the controller is not having to address the servo's independently thus they dont need a more complex controller to run it. Reason I chose that controller is due to it not only have 2 usb and onboard lcd, ethernet, and dual ssp serial connections but also it has 4 uarts that would drive just the servos and then everything else could be driven off of whats left but that particular mcu has 160 i/o so it is a great chance to add more servo's and other cool stuff like say sensors. usb would make it great for interfacing directly to a bluetooth or other wlan module the ssp could be connected to a pair of accelorometers or anything else you could think of plus with usb you could connect directly to the flash onboard to upload code or maybe use the host functionality to control say a usb missile launcher they sky is the limit.

Quantum
03-19-2009, 07:32 PM
I think thats a little overkill. Prop could handle the serial protocol and it would be 1 pin for each limb. If thats the way the servos work. You could use a cog for each limb and still have 4 left over for sensors and what not. I dont even think you need to go that route anyway. You could write the program where it sends signals to each limb with a tiny delay between each limb. The robot would see it a person wouldnt be able to tell.

But there isnt really that much you could add on since adding more wight to this guy is going to give more trouble.

milw
03-20-2009, 07:14 AM
Would you need a 4 layer board to handle the pin density? It would be nice to have all the extras onboard, but I don't think I could handle mounting the BGA by hand in my basement. The LQFP might be possible by hand, its 0.5mm pitch on the 208 leads. Significantly more complicated than the Prop, but as you say, the only limit would be iSobots carrying capacity.

Nelsontheunholy
03-20-2009, 01:24 PM
Hey Guys

Check this

http://mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMvu0Nwh4cA1wV1j7Mb3 xMwgjECuEnVsHZE%3d

It is the same mcu and offers all the features of the one I meantioned before but in a 208 pin configuration rather then bga ball pin. I have seen people mount bga using a heat gun before mind you lol but I think that would work better I am still looking around for something a bit less intensive but I still like the idea of the over kill. One thing I am looking at as a must is a 3 axis gyro/ accelerometer as the one in the isobot now is only a single axis. hope this helps. here is a direct link to the data sheet.
http://www.standardics.nxp.com/products/lpc2000/datasheet/lpc2420.lpc2460.pdf

your gonna be after the 2460 though.

milw
03-20-2009, 09:42 PM
I'm using the H48C module from Parallax as I have a couple lying around; this is a 3 axis accelerometer, plus it has a zero-g output so iSobot will know that he just fell off the edge of the table! Here's a link to the schematic (http://i13.photobucket.com/albums/a275/milw/Electronics/iSobotSchematic.jpg), nothing fancy.

Nelsontheunholy
03-20-2009, 09:47 PM
very nice but where are the isobot led connectors??? I know right now they are connected to the head controller the six pin plug between the left and right leg pins

Nelsontheunholy
03-20-2009, 09:48 PM
also as I speak I am finishing up on my isobot psp battery mod that will allow him to be powered by and off the shelf psp slim battery. will post pics and guide soon

milw
03-20-2009, 09:57 PM
very nice but where are the isobot led connectors??? I know right now they are connected to the head controller the six pin plug between the left and right leg pins
you're right, I think I posted an old schematic... was going to add a Zigbee module header as well- and I know I did!

milw
03-20-2009, 10:49 PM
Here's a link to the in-progress schematic (http://i13.photobucket.com/albums/a275/milw/iSobot2.png) from Eagle CAD- with Zigbee and the 6 pin head connector (but LEDs not labeled yet)

Nelsontheunholy
03-25-2009, 07:38 AM
freaking nice man!!!! Great work hope to see more great things from you on this. Right now I am learning c and then I also have a book on programing c on microcontroller so this will be awesome.

ScuD
03-25-2009, 02:46 PM
Nice, clean layout !
One tip: make sure you at least put pads for some pull-up resistors on the board for the I2C lines.You don't have to populate them but if necessary it prevents having to get a new board just for the resistors.
I usually put way too much decoupling caps on the board so i can add as required, at least for proto's or first builds.

Azinman
03-25-2009, 06:12 PM
Hey talkin about PCB programs i used 2 use Express PCB but its not the best for custom stuff. I dont like the feel or setup of Eagle either. One day i stumbled upon a program called Pad2Pad and the more i use it and find out all the features and stuff the more i love it!!! It is perfect for making any size of boards, its very economical in large quantities and I love the setup and "feel" of the program. Its worth checkin out! :veryhappy:

Adrenalynn
03-25-2009, 08:59 PM
So basically, you use that and your stuck with that house forever, right? [shiver] Ditto ExpressPCB [shiver].

If you use Eagle, then you can go with who does the best job, treats you best, and offers you the best deal. There is a reason it's the commercial package of choice.

I'm not sure what you're defining as "large quantity" - but I promise you they can't get near what I pay for large quantity [by my definition] - and I doubt they can even deliver on it without outsourcing. (I've done some 300k board early runs, and some 1M+ runs in China. It's amazing how cheap it can get. :) ) If you have large quantity runs, let me know and I'll hook you up.

Azinman
03-25-2009, 10:25 PM
Ah i stand corrected :veryhappy: all righty then if i ever need that high of a quantity I'll ask you, but probably not immediatley because a 15-year old like me doesn't exactly need 300k or 1M+ boards :happy: I see your point about the programs though I just like it cuz its better than ExpressPCB, in my opinion, I guess i haven't really compared it to Eagle that much.

Adrenalynn
03-25-2009, 11:55 PM
Give some thought to future-proofing yourself. And learning standard tools so that you have commercial applicability.

Just some advice from someone well over double your age. :) "Voice of Experience" or "Voice of Mistake"...

Quantum
03-30-2009, 12:49 AM
The board im am working on I used pcb express and if I were to start again i would not use pcb. nothing wrong with what i recieved but no flexibilty. you can call those guys up and get all the files you need but you have to pay extra. no big deal but more of a hassle.

paul

Nelsontheunholy
04-08-2009, 06:56 AM
Hey whats up guys made in new progress???

Nelsontheunholy
04-09-2009, 02:00 AM
Hey guys thought I would share something I found while screwing around online today

http://aiw2.uspto.gov/.aiw?docid=us20080160873ki&PageNum=1&IDKey=DF48DDE7434A&HomeUrl=http://appft1.uspto.gov/netacgi/nph-Parser?Sect1=PTO1%2526Sect2=HITOFF%2526d=PG01%2526 p=1%2526u=%25252Fnetahtml%25252FPTO%25252Fsrchnum. html%2526r=1%2526f=G%2526l=50%2526s1=%252522200801 60873%252522.PGNR.%2526OS=DN/20080160873%2526RS=DN/20080160873

there is a link to the original isobot patent application. still waiting on tomy's response to my request for board schematics. check it out and tell me what you think

milw
04-10-2009, 07:11 AM
That's one heck of a URL, unfortunately it didn't work for me after pasting in. Is there an easier path to the document?

Sorry to report, I haven't made much headway on going from the schematic to board layout. I guess my sticking point is this: since the libraries with Eagle don't have pad layouts for every component under the sun, what I need to do is to find an available component (switch or whatever) from a friendly vendor and then create a pad layout for it. It can't be that hard, but I haven't worked up the enthusiasm to just jump in and do it. Plus a lack of free time hasn't helped. Aggh. So keep kicking me every now and then. Or how about this, maybe someone can help? I can layout the components I know and already have pads for, and post the file for one of you to polish up and finish off?

Field trip this weekend with my boys, but maybe I can cadge some time to myself!

Nelsontheunholy
04-10-2009, 12:07 PM
Hey Milw,

Trust me I know how it goes lol. You might check out sparkfun for some of the components just due to the fact that they supply eagle cad files for many of the circuit layouts. http://www.sparkfun.com/commerce/product_info.php?products_id=8658 for example here is a link for an 3 axis accelerometer breakout board. If you can give me the files and parts list I will see if i can hunt down the appropriate pads and cad files or atleast find compatible components with eagle files available. I suck with soldering or any type of circuit layouts but I could atleast do the research as I have free time as I dont have kids ^_^

michal
04-23-2009, 12:44 AM
Yo!

iSobot does appear to run LINUX:
http://www.angstrom-distribution.org/angstrom-powers-worlds-smallest-humanoid-robot

Michal

Nelsontheunholy
04-23-2009, 01:22 PM
no it doesnt that was a misinterpritation made by linuxdevises.com when it was covering the mobisense board which does run nix.

michal
04-24-2009, 03:34 AM
Aha, mom told me not to believe everything I read online...
Indeed linuxdevices said only:
>> According to Mobisense, the board is small and low-powered enough to be used to hack Linux onto Tomy's i-Sobot (http://www.mobisensesystems.com/pages_en/mbs270_gallery.html).

BTW, anybody reverse-engineered the iSOBOT IR protocol? I bet there are diagnostic codes and extra unpublished codes perhaps.

I have problem with 3 bit field after channel - seems a checksum of sorts but can't fit any well known one. Got to try if it matters at all.

The format seems to be:
<CH:1><MSGTYPE:2><XXX:3><COMMAND:8><PARAMETERS:8>

where:
CH - chanel 0-A 1-B
MSGTYPE - command type: 01 - normal; 00 - longer arm movement codes (I think)...?


Here is a sample for configuration commands:



Configuration (the lowest bits are Lon:1,Loff:1,S:1,V:1 where L-light, V-voice, S-sound)
Lat 0.01.001.11010011.00000000 A 01 001=1 ? 000=0=10000 D300 #0=15 #1=7 #B=22
Lon 0.01.101.11010011.00000100 A 01 101=5 ? 100=4=10100 D304 #0=13 #1=9 #B=22
Loff 0.01.010.11010011.00001000 A 01 010=2 ? 000=0=11000 D308 #0=14 #1=8 #B=22
Voff 0.01.010.11010011.00000001 A 01 010=2 ? 001=1=10001 D301 #0=14 #1=8 #B=22
Soff 0.01.011.11010011.00000010 A 01 011=3 ? 010=2=10010 D302 #0=13 #1=9 #B=22
VSoff 0.01.100.11010011.00000011 A 01 100=4 ? 011=3=10011 D303 #0=13 #1=9 #B=22
LonVSoff0.01.001.11010011.00000111 A 01 001=1 ? 111=7=10111 D307 #0=12 #1=10 #B=22
LVSoff 0.01.101.11010011.00001011 A 01 101=5 ? 011=3=11011 D30B #0=11 #1=11 #B=22
Also, the arm commands are different (they are longer and are repeated all the time) :


ARMS
NOIMP 100010100001001000000010000000
NOIMP 1010001101011000000000 (locked)
END 1010011101011100000000
END 1010011101011100000000 (locked-same as END)

RUP 100000100001111000001010000000
RDW 100000100000001000001010000000
RRT 100110100001001000000011110000
RLT 100010100001001000000010000000
LUP 100110100001001111000010000000
LDW 100010100001000001000010000000
LRT 100101111011001000000010000000
LLT 100001000011001000000010000000

Nelsontheunholy
04-24-2009, 10:41 PM
you might want to check out robodance they guy that wrote it has the full decoded ir protocol. Also the long strings your seeing are the byte strings for the servos. all the servos say in the right leg are chained together to one uart and the isobot simply sends a single byte string down that will orient all the servos and really an elegent way of controlling it. Each servo is set to respond off of a specific byte in the string. There is more on it here http://i-sobothacking.blogspot.com/

THis site contains a full list of the ir codes.

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1237771631

Nelsontheunholy
04-30-2009, 07:50 PM
so any progress milw???

milw
05-02-2009, 08:29 AM
Sorry, no I've not gotten further with this :( Feeble promises are no good, it's action that is required. I kicks myself again to get moving before what I've learned to do in Eagle fades away! Sent you a message, Nelson.

Nelsontheunholy
05-02-2009, 04:34 PM
lol trust me I know the feeling. I have been harassing Tomy for info on the controller board but I think if more people start calling in and requesting the information it may help and say to tomy that people are still interested in there products.

milw
05-03-2009, 07:38 AM
What contact# are you using for Tomy? Phone or email or both?

Nelsontheunholy
05-03-2009, 10:40 PM
I have tried email and they pretty much tell me that they dont handle that umm I have been using the customer support number listed on the tomy website

brickbob
07-07-2009, 04:27 AM
Hi.

I have a dead Isobot just after few weeks having fun with it. He is waiting for a new life after dead.
I think this is the right place. It just co incident that I have prop demoboard.