Author Topic: SBCs  (Read 4956 times)

0 Members and 1 Guest are viewing this topic.

Offline vonlarkTopic starter

  • Jr. Member
  • **
  • Posts: 16
  • Helpful? 0
SBCs
« on: December 19, 2007, 01:53:31 AM »
Hello fellows. I've been using micros for a long time to run my robots and projects but lately I've been needing more power. I've been reading about these single board computers and was wondering if any of you could help me find more information. I'll be using them for image/sound processing and calculations on larger sets of data. I'm not really sure what I'd need in an SBC or how to go about programming one. Any info would help! Thanks.
« Last Edit: December 19, 2007, 02:00:36 AM by vonlark »

Offline dunk

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 1,086
  • Helpful? 21
    • dunk's robot
Re: SBCs
« Reply #1 on: December 19, 2007, 06:14:54 AM »
what are your requirements?
do you need a full operating system on board or just a more powerful MCU?
having an operating system on board certainly gives you more options when it comes to programming.

try reading up on the PC104 standard. these are x86 boards designed for industrial embedded applications.
also, if you don't need an operating system but need more power from your MCU read up on ARM7 processors.

also check out the 2 following threads:
http://www.societyofrobots.com/robotforum/index.php?topic=661.0
http://www.societyofrobots.com/robotforum/index.php?topic=2447.0

dunk.

Offline vonlarkTopic starter

  • Jr. Member
  • **
  • Posts: 16
  • Helpful? 0
Re: SBCs
« Reply #2 on: December 20, 2007, 12:23:57 AM »
I'd have no idea how to get started programming a robots with a full on operating system. I've been tempted to get into Linux but never did. What I really want is just a MCU with a few megs of ram that I can right my little C code for and know how to control the pin outs easily 8)

Building my own computing system with a processor like the ARM7 seems over my head; I've never made a custom PCB.

The PC104 seems a little better but I wouldn't know how to program one. I've never taken a CS class so I'm not extra sure about the whole hardware/kernel/OS deally. How could I get started with one of these quickly?

paulstreats

  • Guest
Re: SBCs
« Reply #3 on: December 20, 2007, 07:19:31 AM »
You can use ARM7 like a normal mcu if you like they dont need to be used with a real operating system. The trouble is trying to hand solder them. And you'll be lucky to get 2megs onboard an mcu - your'e probably better off using some external ram. (get an ARM7 or ARM9 development/evaluation board)

Offline JonHylands

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 562
  • Helpful? 3
  • Robot Builder/ Software Developer
    • Jon's Place
Re: SBCs
« Reply #4 on: December 20, 2007, 07:56:58 AM »
On really interesting SBC that I'm going to be playing with soon is the Hammer, by Tin Can Tools (http://www.tincantools.com). ARM9, 32 MB RAM, runs Linux, all in a DIP-40 package...

There aren't many SBC's at this level you can plug directly into a solderless breadboard, but this is one of them.

- Jon

paulstreats

  • Guest
Re: SBCs
« Reply #5 on: December 20, 2007, 08:10:55 AM »
That is quite impressive :)

Here is a similar device that I'm thinking about getting. Its a lot lower spec but a lot lower cost too http://www.coolcomponents.co.uk/catalog/product_info.php?products_id=81&osCsid=4306a7ba9d501a792fe7f783c2faf6fc

It would make a good introduction to ARM7's
« Last Edit: December 20, 2007, 08:11:33 AM by paulstreats »

Offline JonHylands

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 562
  • Helpful? 3
  • Robot Builder/ Software Developer
    • Jon's Place
Re: SBCs
« Reply #6 on: December 20, 2007, 08:13:34 AM »
If you're interested in ARM7 development, look at the TinyARM line at http://www.newmicros.com.

The Tiny2131 sells for $29...

- Jon

paulstreats

  • Guest
Re: SBCs
« Reply #7 on: December 20, 2007, 08:21:58 AM »
thanks. Even cheaper :) :) :) :)
I already got an arm7 eval board for a future project, but it turned out to be a lot bigger than I expected and wont fit into the carrier box i have in mind. They are easy enough to use though, And superior to a lot of lower end mcu's its a shame they dont have a larger more affordable range of plug and play boards

Offline vonlarkTopic starter

  • Jr. Member
  • **
  • Posts: 16
  • Helpful? 0
Re: SBCs
« Reply #8 on: January 17, 2008, 03:36:35 PM »
I was looking at http://www.tincantools.com/product.php?productid=16133&cat=0&page=1&featured
and was wondering how they got 32MB ram on there. Does anyone know?

I'm tempted to learn a little more and just make my own SBC (PCB and all) but I need help selecting parts.
For specs I'd like more than 10MB of sram and greater than 100Mhz.

Can anyone tell me what kind of parts I should be looking at? MCU w/ external memory bus or something?

Offline JonHylands

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 562
  • Helpful? 3
  • Robot Builder/ Software Developer
    • Jon's Place
Re: SBCs
« Reply #9 on: January 17, 2008, 04:18:42 PM »
I was looking at http://www.tincantools.com/product.php?productid=16133&cat=0&page=1&featured
and was wondering how they got 32MB ram on there. Does anyone know?

I have one sitting in front of me now... There are three large chips on the SBC board - one is the CPU, I'm assuming the other two are the FLASH memory chip and the SRAM chip.

- Jon

Offline vonlarkTopic starter

  • Jr. Member
  • **
  • Posts: 16
  • Helpful? 0
Re: SBCs
« Reply #10 on: January 17, 2008, 04:26:13 PM »
What kind of chip package do they look like?

Offline rgcustodio

  • Robot Overlord
  • ****
  • Posts: 217
  • Helpful? 0
  • Use "Search" and ye might find answers!
Re: SBCs
« Reply #11 on: January 17, 2008, 04:56:51 PM »
3 big chips :)

just some late comments. SBCs or the system that Jon is holding now can be programmed like PCs. Most true SBCs can run DOS, XP, XP Embedded, QNX, Linux. The one that Jon is playing with right now supports uCLinux, a kind of Linux meant for small systems. (uCLinux was originally designed to run on MMU-less platforms, like the Dragonball on the Palm) It won't need a HD to run. The kernel and the filesystem will be stored on the Flash ROM.

Try this for instance: http://www.fastwel.com/
I got a pamphlet from their booth at the previous Embedded Systems Conference. Their SBCs are Intel-based has built-in graphics, has an IDE port, USB ports, SATA port, CF port, Ethernet and 1Gb RAM. That is an SBC.
« Last Edit: January 17, 2008, 04:59:05 PM by rgcustodio »
The best thing one can do when it's raining is to let it rain. - H. W. Longfellow

understanding is the path to enlightenment

Offline vonlarkTopic starter

  • Jr. Member
  • **
  • Posts: 16
  • Helpful? 0
Re: SBCs
« Reply #12 on: January 17, 2008, 05:25:37 PM »
Yeah but all the SBCs I've seen seem to be lacking the kind of documentation I've come to expect with microcontrollers. That's why I thought if built one myself I could understand what was going on with it without the doc.

I looked at Gumstick and Hammerboards and there's nothing that says "this command writes to this register and brings this pin high." It makes me scared to order one because I don't know how to do that stuff with them. If I didn't want the extra power for image processing I would just use a PIC or something.

Offline rgcustodio

  • Robot Overlord
  • ****
  • Posts: 217
  • Helpful? 0
  • Use "Search" and ye might find answers!
Re: SBCs
« Reply #13 on: January 17, 2008, 05:45:20 PM »
I looked at Gumstick and Hammerboards and there's nothing that says "this command writes to this register and brings this pin high." It makes me scared to order one because I don't know how to do that stuff with them.

ease of programming is relative ;)

programming a gumstix or the Hammerboard should be easier if you'll be running an application on it, ie an embedded web server (boa). as i've mentioned you program it like a PC, no port or pin access is really needed. but it is still possible, just a little harder ;)

the Hammerboards seems to be cool since it exports some of the ARM9's pins in a more convenient and breadboardable way (unlike the gumstix) allowing the user more control and freedom on how to use the system. the techniques you've learned in programming the lowly MCU will still be usable here, just read the chip's specifications and the boards schematics.
The best thing one can do when it's raining is to let it rain. - H. W. Longfellow

understanding is the path to enlightenment

paulstreats

  • Guest
Re: SBCs
« Reply #14 on: January 17, 2008, 06:06:24 PM »
Quote
I looked at Gumstick and Hammerboards and there's nothing that says "this command writes to this register and brings this pin high."

The trouble is that you are looking at the documentation for the board and probably the documentation for the higher level functions such as operating systems.

What you need to do is look at what processor the board has such as the arm7/9 model code and manufacturer and find the data there. I have an arm 7 eval board that can run operating sytems and so forth, but if i look at the actual processor its an analog devices arm7 processor with a long code, Look for documentation on this and it is simple as programming and using a pic.

The memory on the board you were looking at isnt part of the mcu its external so its expected that a lot of the pins of the mcu are tied up with working with that, the only thing that you have to worry about is learning how to communicate to the memory yourself using C. Its not as simple as just declaring a variable, you'll have to literally copy current mcu data to the sram registers, and when it comes to reading it back try and remember which registers its stored in .....

Offline JonHylands

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 562
  • Helpful? 3
  • Robot Builder/ Software Developer
    • Jon's Place
Re: SBCs
« Reply #15 on: January 17, 2008, 06:16:23 PM »
The one that Jon is playing with right now supports uCLinux, a kind of Linux meant for small systems. (uCLinux was originally designed to run on MMU-less platforms, like the Dragonball on the Palm)

Actually, the Hammer runs a full Linux 2.6, not uCLinux. It uses a uClibc/Busybox based root file system, which is not the same thing at all.

- Jon

Offline rgcustodio

  • Robot Overlord
  • ****
  • Posts: 217
  • Helpful? 0
  • Use "Search" and ye might find answers!
Re: SBCs
« Reply #16 on: January 17, 2008, 06:28:50 PM »
yahh, my bad. it's using a new (at least to me) distro, eLinux and S3C2410 has an MMU!
hmmn ... thinking very hard ;)
The best thing one can do when it's raining is to let it rain. - H. W. Longfellow

understanding is the path to enlightenment

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: SBCs
« Reply #17 on: January 20, 2008, 09:23:30 PM »
Im a bit late in this convo, but taking things back a bit . . .

Quote
I'd have no idea how to get started programming a robots with a full on operating system. I've been tempted to get into Linux but never did.
An option would be to connect a full PC/laptop by UART to a microcontroller, which would then control your bot hardware.

Offline vonlarkTopic starter

  • Jr. Member
  • **
  • Posts: 16
  • Helpful? 0
Re: SBCs
« Reply #18 on: January 21, 2008, 02:31:16 AM »
I've actually thought this is the best solution. As for mobility, an RF link or a Velcro'd on --or case modded if it get serious-- laptop would be the plan. I think bottom-end laptops are approaching $400 new now with a built in screen, keyboard, nipple, optical drive, wireless card, ethernet and USB controller (edit: I forgot a sound controller!) plus gigabytes of disk space and ram there is no good reason to gimp a robot by giving it one of the other options. Why use an 8- or 16-bit "brain" when the robot can benefit from decades of computer development with a modern laptop or desktop?

Also you can do homework on it.
« Last Edit: January 21, 2008, 02:33:58 AM by vonlark »

Offline TinCanTools

  • Beginner
  • *
  • Posts: 2
  • Helpful? 0
Re: SBCs
« Reply #19 on: January 23, 2008, 04:07:32 PM »
greetings folks,

     i just wanted to clarify some of the issues that were discussed here with regards to the Hammer board from TinCanTools. the Hammer board is just like any other ARM device in the fact that you can run it with or without an operating system. we ship the Hammer with a standard 2.6 linux kernel(not uCLinux). the default toolchain we ship with the Hammer happens to use a C library originally written to be used with uCLinux, that being uClibc.  there are a number of C libraries available for usage with linux including those of Glibc and DietLibc. any of these C libraries can be used with the Hammer.
     the "Distro" we ship with the Hammer is built from source using the Buildroot environment ( http://buildroot.busybox.net ) and does not have a specific name. TinCanTools is a supporter of the Consumer Electronics Linux Forum, which sponsors the Embedded Linux wiki pages ( http://www.elinux.org ). as part of the documentation projects for the Hammer, we strive to include valuable information for developers who are using linux on embedded devices, not just the Hammer. by using the wiki for our documentation we are able to provide links to other wiki pages that help people build upon the communities knowledge of embedded linux applications.
     the Hammer Board has 3 BGA packages onboard,the S3C2410 processor, the 16mb NOR flash, and a 32mb SDRAM. in addition, the board laid out using 10 layers. BGA packages and multilayer boards, although doable on the hobbists level are extremely expensive to do small runs(i.e. less than 50). even larger companies will purchase off the shelf designs such as the Hammer to do proof-of-concept and intitial code development in order to keep these costs low. if you do decide to do your own arm7/9 board, try to use surface mounted parts such as QFP and TSOP packages. BGA is going to push it way out of the ball park for the average developer.
     last item, as far as accessing gpio's and other hardware functions under linux. most cpu's that are supported under linux provide easy to use kernel functions for communication with controllers such as the SPI,I2C, and UARTS, as well as function calls to bitbang items such as gpios. in addition, simple user land programs can be used to peek/poke values for testing and debugging, such as the application devmem. the hammer is shipped with several example kernel drivers as well as the devmem application in the root filesystem.
    any lingering question about embedded linux or the hammer, you are welcome to post to the forum at tincantools.com or on irc.freenode.net in the #edev channel.

Offline vonlarkTopic starter

  • Jr. Member
  • **
  • Posts: 16
  • Helpful? 0
Re: SBCs
« Reply #20 on: January 24, 2008, 12:12:41 AM »
I was all excited about a reply and it turned out to be an advert :(

Offline TinCanTools

  • Beginner
  • *
  • Posts: 2
  • Helpful? 0
Re: SBCs
« Reply #21 on: January 24, 2008, 07:39:55 AM »
not an advert, i was simply answering the questions that were posted. 1) the usage of uclinux vs.linux 2) usage of uClibc 3) the distro used 4) what type of chip packages were used 5) how to access gpios under linux. all of these answers are applicable to any arm9 board running linux. i'll be happy to post responses to any questions you have about any arm7/arm9 boards as i have worked with a wide range of them running with a wide range of operating systems.

Offline JonHylands

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 562
  • Helpful? 3
  • Robot Builder/ Software Developer
    • Jon's Place
Re: SBCs
« Reply #22 on: January 24, 2008, 07:45:40 AM »
vonlark, that was rude and uncalled for.

Hearing back from the designer of a product what parts are used in it, and what specific functionality is has for doing things that people have questions about can hardly be called an advertisement.

We're awfully lucky to get these guys in here - they have real hardcore experience using advanced microcontrollers and cpus most of us only dream about using.

- Jon

Offline vonlarkTopic starter

  • Jr. Member
  • **
  • Posts: 16
  • Helpful? 0
Re: SBCs
« Reply #23 on: January 25, 2008, 12:22:47 AM »
Jon, that was rude and uncalled for.

Hearing back from the OP of a thread who is in awe of  the perfect information he's received, regardless of the dry tone, can hardly be called a serious statement.

We're awfully lucky to have these forums here - they allow real hardcore put downs using advanced online reputation and condescension most of us only dream about using.

- von


edit: Oh wait, they're about robotics not correcting forum etiquette nvm. How do I delete a post?   :D

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: SBCs
« Reply #24 on: January 26, 2008, 09:33:31 AM »
oh wow we invoked the TinCanTools guy! :P

thanks for taking your time/effort to help :)

Considering all the developers out there that ignore customer support, I am always happy when I see one that makes a point to help.

(and behave people!)

 


data_list