Main Site Documentation

Connecting 2 Gadgeteers together? UART?


#1

I wanted to use the camera with my project, this requires a socket H.

I was originally thinking of the Hydra (due to expandability, speed, memory and RGB) but since it doesn’t have that socket, I would use the Cerberus.

  • In the future if I wanted to add a display, could I connect 2 Gadgeteer boards directly together with a Socket?
  • How about using UART?
  • Would I need to snip the power/ground wires of the connecting cable?
  • Could 1 SP/DP module power both boards?

#2

I doubt Cerberus will have enough ram to run the camera. Just use a serial camera instead.


#3

That’s a bit disappointing, but I don’t need a camera from day 1.

How about the GPS and XBee (or the upcoming communication module)?

**

Still curious about the original question — it is possible to wire two mainboards together?


#4

Why disappointing, think about it. How much memory you need for a bitmap and how much RAM is on the single chip Cerberus has :slight_smile: Spider is still the superior mainbaord.

Everything else should work fine tough as it doesn’t need large RAM like camera.


#5

Disappointing as you all have sold me on OSHW :slight_smile:

What’s nice about this is that I can start with the Cerb and then later swap it out with a Spider.


#6

The only way you could do a camera with Cerberus is to use a parallel interface camera, and the 64-pin STM32 lacks that peripheral (and it’s VERY VERY non-trivial to implement, even if you had a larger part).

You can expect that a USB webcam will consume megabits of USB bandwidth per second. That means that you’ll fill up your entire available memory in less than a second, AT BEST. At worst, you could fill your memory nearly ten times every second with data from the camera.

I haven’t done any SD tests with Cerberus yet, but it’s unlikely you could even write the data to an SD card that fast, at least in managed code. In unmanaged code, without a filesystem, you might.

Forget about getting it dumped out over the UART. It’s probably not more than 1/10th of the speed it’d need to be, best case.


#7

Well I was thinking one device would read the image and perhaps use XBee, or the sort, to send to the base wirelessly. The second device would handle navigation, the touch screen and all other actions.

I was thinking the only information to be passed between the two mainboards would be just be the synchronization of the systems.


#8

I remember reading about some sort of built in camera support on st 407 chip.


#9

Yes but you still need external ram I think


#10

The DCMI (Digital Camera Interface) is indeed available on the STM32, but not in the 64-pin parts (used in Cerberus and Cerb40). It’s described in section 12 of the Technical Reference Manual for the STM32F405xx. If you were using the larger part, you could certainly write an unmanaged driver for it. It is capable of doing streaming video from the camera in various formats (including JPEG), and it’s also capable of doing single frame captures.

You’d probably have enough memory to do single-frame JPEG captures at low resolutions.

The DCMI interface uses DMA to move the data into memory very quickly. You’d almost certainly need to use DMA to move the data OUT of memory and into another peripheral (such as, for example, an SD card) or into another chunk of memory (external, as Gus said) fast enough to capture video at even low frame rates and low resolutions.

It’s an option I wouldn’t mind exploring, because good DCMI cameras are cheap (<$10 from SparkFun for a 1300x1040 JPEG camera), but it’s a lot of unmanaged work, and you almost certainly wouldn’t be able to do much of anything besides store the data. No image processing or anything like that.

For comparison, the LinkSprite camera is 640x480 JPEG, and it transfers data via the UART. It does still images only (unless you consider .3 fps to be video). It’s also $50 from SparkFun.