Author Topic: Let's design an o/s MCU board  (Read 2561 times)

0 Members and 1 Guest are viewing this topic.

Offline izuaTopic starter

  • Supreme Robot
  • *****
  • Posts: 682
  • Helpful? 0
Let's design an o/s MCU board
« on: January 11, 2009, 05:19:53 AM »
the open-source community is lacking a good augumented board (from here i'll simply call it mcu), at the quality of axon or cerebellum.
I want to change this, and I'm sure a lot of you would like a good, decent board that's also DIY.
My vision actually has two boards, for different levels of electronics experience: one for the newbie, which is ideally single-layer and with little to none smt components, and a multi-layer one, which should be at current market standards.

I need to ask suggestions from you guys. What would you like on such a board?
For the simple board, I'm thinking of a DIP (socketed) mcu, such as mega16 or 32, servo outputs, power regulator, and everything pinned out nicely: icsp, i2c, spi, uart. Cool aditions would be a reset button and a crystal. I'm thinking of ft232 usb-uart, but that's gennerally too much for a newbie to solder. A MCP2120 would also kick ass, allowing the bot to be infrared controller (MCP2120 is a IR to serial converter)

For the advanced board, a trip to the pcb house would be required. My guess says 4 layers. I'm thinking big here: two atmega's 128, wired together so they can act as a 'dual core', maybe a mega16 or 32 to do the lower level stuff (pid for motors, for instance). One (or maybe both) will have memory extensions, and at least one will be connected to a microsd card. usb/uart and infrared are by default here. there will also be a footprint around to allow you to add zigbee modules.

What do you guys think? What would you want if you had the time to design a complex board?

edit: i'm also thinking of a plugin system. not sure how it would mechanically work, but it will allow you to turn your board into a dma scope / software radio / data logger / foxhunting device / midi device, by simply adding in another board.
« Last Edit: January 11, 2009, 05:23:02 AM by izua »
Check out my homepage for in depth tutorials on microcontrollers and electronics.

Offline dunk

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 1,086
  • Helpful? 21
Re: Let's design an o/s MCU board
« Reply #1 on: January 11, 2009, 05:58:55 AM »
first up, i like the idea.
you could get a PCB house to keep the design as a template so people do not need to pay the setup fee when they want to get a few PCBs made.

now onto the problem...

so the main problem i see is everybody has completely different requirements from a MCU board.
you mention ft232, MCP2120, 'dual core', zigbee, etc.
while these might be perfectly logical and necessary choices for you, they will greatly limit the number of interested users to the people with the same list of requirements.

i would recommend instead building a very simple MCU board and have a choice of add-on shields for additional features.
if you plan the layouts well you could use the same shield for different MCU board versions.


dunk.

Offline Ro-Bot-X

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: Let's design an o/s MCU board
« Reply #2 on: January 11, 2009, 07:20:29 AM »
Instead of 2 mega128, why not an ARM? Take the NXT controller for example. It has an ARM7 as the main microcontroller and a Mega8 for the motor/encoder control. The only problem with the NXT is that it does not have enough memory for programs, since it uses a firmware.

Another feature to add is an LCD (be it graphical or just 4x20), depends how you can integrate it. I mean just a female header so the user can plug in the LCD.
Check out the uBotino robot controller!

Offline izuaTopic starter

  • Supreme Robot
  • *****
  • Posts: 682
  • Helpful? 0
Re: Let's design an o/s MCU board
« Reply #3 on: January 11, 2009, 07:39:28 AM »
I don't know to work with ARMs, that's why :)
I'm not sure about lcds either - they are sensitive, and robots often crash into walls and get stepped on. that's why I think a communication interface (zigbee, ir) is better. But heck, if it's pluggable it should do.

I'd preffer two of the same chips for the 'main cores' because software will be easier to write and debug, though versatility will suffer. But maybe a single mega128 (or 644) as the main brain, and a smaller one as a slave is better. Or maybe an FPGA, configured as a multi-pwm stage, high speed, high resolution.

@dunk: i took those as default necessities. everybody wants to program the mcu and communicate with it some way or another. the 'dual core' doesn't seem a necessity for me, but two brains are always better than one.
« Last Edit: January 11, 2009, 07:41:34 AM by izua »
Check out my homepage for in depth tutorials on microcontrollers and electronics.

Offline Ro-Bot-X

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: Let's design an o/s MCU board
« Reply #4 on: January 11, 2009, 12:32:36 PM »
You may get some ideas from Pololu Orangutan X2 controller:
http://www.pololu.com/catalog/product/716

Quote
The Orangutan X2 has two microcontrollers: an Atmel ATmega644 AVR for the main application, and an auxiliary ATmega168 that interfaces to most of the dedicated hardware on the X2 and serves as a programmer for the main processor. The two-microcontroller design simplifies multitasking by relieving the main processor of common tasks such as motor control and melody generation, and the approach also leaves the mega644 completely unencumbered, allowing the mega644 hardware, such as timers and interrupts, and most of the mega644 I/O lines to be used for your higher-level design. It also means you do not need an external programmer to use the Orangutan X2.


The 4x20 LCD and motor drivers are plugable.

Controller:

With motor driver:

Check out the uBotino robot controller!

Offline want2learn

  • Robot Overlord
  • ****
  • Posts: 189
  • Helpful? 4
Re: Let's design an o/s MCU board
« Reply #5 on: January 11, 2009, 12:54:53 PM »
I'd say I've got to agree with dunk, For the most part keep it simple.
Also if you want there to be a broad scope of potential users then size will be an issue too. The more you try to cram onto the board (especially a single layer) the larger it's going to be.

I really think you should be aiming between the roboduino and the axon.

Dual uC is ok as long as you don't get people like me who can't program worth a crap  :(

Maybe start off simple with this design, get a bit of feedback to see if you're on the right track and see what people think is missing and incorporate it into the next MCU.
Personally as long as it has enough I/O, I2C and maybe SPI.
The question that drives me hazy:

Am I, or the others crazy?

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,653
  • Helpful? 169
    • Society of Robots
Re: Let's design an o/s MCU board
« Reply #6 on: January 11, 2009, 11:51:10 PM »
I think a look at the ARM for an open source mcu might be a good idea. No one has really done that yet, so it'd be a first. Maybe an ARM based $50 Robot?

Just be aware that sometimes it's cheaper to buy something mass manufactured than to make it yourself from scratch ;D

Quote
i would recommend instead building a very simple MCU board and have a choice of add-on shields for additional features.
if you plan the layouts well you could use the same shield for different MCU board versions.
Agreed. Now if everyone agreed on hole spacing for stacking :P

Offline fuzzyt

  • Jr. Member
  • **
  • Posts: 34
  • Helpful? 0
Re: Let's design an o/s MCU board
« Reply #7 on: January 12, 2009, 10:58:03 AM »
Starting to sound like an Openmoko Freerunner...    ;)

http://www.openmoko.org

Offline pomprocker

  • Supreme Robot
  • *****
  • Posts: 1,430
  • Helpful? 16
  • Sorry miss, I was giving myself an oil-job.
Re: Let's design an o/s MCU board
« Reply #8 on: January 12, 2009, 11:36:25 AM »
Agreed. Now if everyone agreed on hole spacing for stacking :P

I agree, there needs to be some sort of 'ATX' like protocol in place

Offline izuaTopic starter

  • Supreme Robot
  • *****
  • Posts: 682
  • Helpful? 0
Re: Let's design an o/s MCU board
« Reply #9 on: January 12, 2009, 12:14:28 PM »
Stackable boards are cool, but they are notoriously hard to debug. A board between Axon and Roboduino, heh.
I think an important part is to develop software around it. That's the success of arduino boards, and that's what airman used :) people are always lazy and preffer to see stuff working then working on bettering their knowledge (personal example here :P).

Let's see: we have the roboduino - a beginner board. We have pinned out ICSP and I2C on a medium MCU, with UART. Every pin is taken out in a servo connector. There's also the USB converter and connector. There's also a reset switch and a power jumper. Anything else a newbie would need?
I'm still thinking a method of wireless communication is good: a infrared transceiver or the like.

An axon is a powerful MCU with a huge cap, voltage regulator, usb transceiver and connector. It's supported by a good amount of software.

They both have profesionally manufactured PCBs, so no matter how hard I try, a DIY version will still suck at looks.

About the protocol, I was thinking about a system of 8 data serial wires along with 2 or 3 control wires + power. This way, several modules could be connected one after the other.
IMO, applications are critical here. If such a system can be made plug and play for multileggers or quadrocopters, it's going to be an instant success.
Check out my homepage for in depth tutorials on microcontrollers and electronics.

Offline want2learn

  • Robot Overlord
  • ****
  • Posts: 189
  • Helpful? 4
Re: Let's design an o/s MCU board
« Reply #10 on: January 12, 2009, 02:15:26 PM »

Agreed. Now if everyone agreed on hole spacing for stacking :P
Wasn't hole spacing sorted out on dunks google page (I think the post on this forum was 'A PROJECT FOR THE SUMMER')
Maybe that was one of the undecided items?


Just be aware that sometimes it's cheaper to buy something mass manufactured than to make it yourself from scratch ;D
I couldn't agree more but (broken record begins to play), because I'm pretty much no good with software I find most of my enjoyment in the building.


They both have professionally manufactured PCBs, so no matter how hard I try, a DIY version will still suck at looks.
Perhaps, but telling someone 'I made that entirely from scratch' versus 'Yeah I bought this board from here and that board from there' wins hands down everytime in my opinion
The question that drives me hazy:

Am I, or the others crazy?

Offline airman00

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 3,653
  • Helpful? 21
  • narobo.com
Re: Let's design an o/s MCU board
« Reply #11 on: January 12, 2009, 03:25:04 PM »
Don't want to rain on your parade but I am thinking of making a Roboduino-style board that is very similar to the Sanguino - http://www.flickr.com/photos/hoeken/2692856142/ . ( They both would use the same chipset)
That seems to be in between the Roboduino and Axon
« Last Edit: January 12, 2009, 03:35:20 PM by airman00 »
Check out the Roboduino, Arduino-compatible board!


Link: http://curiousinventor.com/kits/roboduino

www.Narobo.com

Offline Asellith

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 648
  • Helpful? 9
  • "I'm a leaf on the wind. Watch how I soar"
Re: Let's design an o/s MCU board
« Reply #12 on: January 12, 2009, 03:33:33 PM »
Its long but read this thread http://www.societyofrobots.com/robotforum/index.php?topic=2765.0

That was our open source Idea. I really want to start this but keep getting sidetracked an no one seems to be interested. My life is calming down a bit so after I finish some of the projects I already have I might go back and start this up again.

Summery of the project: Open Source hardware modules that are stackable and work well together. The interface was I2C. That way any standard MCU can work. So go with what you know for software and then let the open source project supply the hardware designs.
Jonathan Bowen
CorSec Engineering
www.corseceng.com

Offline Ro-Bot-X

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: Let's design an o/s MCU board
« Reply #13 on: January 12, 2009, 10:18:23 PM »
Yeah, I was working on a DC motor controller... I still have the files. Maybe one day we'll make this project happen. Especially that now there is that Open hardware PCB on SeeedStudio Depot site (see their prototyping here: http://www.seeedstudio.com/depot/prototyping-service-c-12.html).

I am kind of continuing this work in a different direction. Instead of making a standard board, I'll make one to replace the electronics and the pot in a standard servo, transforming it into a I2C DC motor with a built in encoder. Something between the Secret Motor Driver by Solarbotics and the Open Servo Project.
Check out the uBotino robot controller!

 


Get Your Ad Here