Funding for RPi Compute Module carrier board

Topic: RPi Compute Module carrier board

Proposal type: Hardware [x ] , Software [ ] , Other [ ] : _________________

Description: With Edision and Joule declared end of life, there is a need for a compact companion computer. The RPi CM3 (or CM3 Light) are well documented (https://www.raspberrypi.org/documentation/hardware/computemodule/RPI-CM-DATASHEET-V1_0.pdf) with reasonable performance, and guaranteed availability out to 2023. Gumstix have an easy-to-use online design tool, and work has been done within the Ardupilot community to identify requirements for an Ardupilot carrier board, however initial setup for production is not viable for individuals. Setup is approx USD$2000, although a community member may be able to reduce this to $500 for an initial run of 6 boards. Final unit costs for the carrier are estimated to be approx USD$60.
Suggestions for desired features are welcome as comments below. Thanks.

Planned amount $$ (USD): $2000

Estimated time for completion: 1 month

2 Likes

I think this is something we could fund, but I’d like to see comments from other hw designers on the suitability of the CM3 - especially if the connector is good in a high vibration environment

1 Like

Yes, I would like to see evidence that the module will not fail with the vibration that it’s likely to receive

However, the following already exists, so maybe getting one of these tested may be a good start.

https://pilot.dron.ee/

We will get the specifications of the type of SODIMM holder from gumstix to see if we can find some vibration testing data on them. I’m fairly confident that a SODIMM holder exists that will secure the CM3 Module throughout the rigors of flight. Gumstix have been fairly accommodating to add custom parts to their otherwise limited library and design interface. Gumstix have also offered a substantial discount in the production/engineering costs and will support small batches of 50 units at around $50-60 a piece after the initial run.

The current goal is to provide a low cost, small size/volume alternative to the normal Pi3 that supports two simultaneous CSI Cameras and has integrated JST-GH connectors and power supply for Companion Computer use. The FC will not be integrated into the design in this version as the goal is to keep it within $30-$45 of the cost of a standard pi3.

Thanks Phil.
The SODIMM socket locks at each end, and the CM3 module itself will be secured to the carrier via two standoffs, so it isn’t cantilevered: not dissimilar to the pci-e wifi module in Solo. SODIMM memory (as distinct from the form factor) typically was prone to vibration problems, but the securing system was different.
The board you linked above isn’t available yet, and whilst it has a PH2 socket, which is great, the rest of it doesn’t work with existing peripherals without hacking cables. From the available renders it doesn’t appear to use the mounting holes on the CM3, so on the dron.ee carrier it seems that the compute module IS cantilevered - and hence might be susceptible to vibration problems. Using it as a basis for analysis may lead to false conclusions…

I think this proposal would be stronger if the benefits of the compute module vs the standard pi 3 were listed more explicitly.

The big differences I see are the following:

  • The compute module is a more “industrial” product, with official ratings listed in a datasheet (however, there is no rated MTBF)
  • The Compute Module has a stocking guarantee
  • The Compute Module exposes a second CSI input, and the carrier board allows us to integrate video format converters in a small form factor.
  • Using the Compute Module with a custom carrier board allows us to engineer the power supply appropriately for our specifications
  • The Compute Module uses eMMC, which can be more reliable than many cheap SD cards.
  • Dronecode standard connectors can be used on the board without the need for special adapter cables

Advantages to a standard Pi3:

  • Better availability (for now)
  • Lower Cost

My main concern with this project is the dependence on the GumStix ecosystem. There are many competent PCB designers in our community who could design this board in a more open-source friendly CAD program such as KiCAD or Eagle. This would allow us to use components outside of the Geppetto Library, and to manufacture the boards with the most appropriate contract manufacturer. I would be happy to contribute to the design in Eagle. I have been playing with a few CM3 integrations for our product line at SpektreWorks

@proficnc Is there any roadmap for a general-purpose CM3/PH2 Carrier board from HEX?

If an automotive grade SODIMM socket is used, then it is highly likely to be ok on the vibration front. Adding two solder-on PEM nuts to anchor the cantilever end of the card will add to the mechanical robustness. As @proficnc noted, all of this should be verified by test.

I have been following (and participating to an extent) with the discussion on Gitter regarding this board. I am concerned about the choice of EDA tools for the board and how that will impact the open source ability/shareability of the design as a point of reference for other designers. Both @proficnc and I have significant time, effort and thought invested in building reference designs carrier boards in Altium. Other partners (SpektreWorks, et al.) have a lot of effort/time invested with EAGLE.

I have a strong preference towards this board being done in Altium, KiCAD or EAGLE. I would be very hesitant to say yes on funding a design that that has the appearance of a vendor locked toolchain. If Gumstix releases source files in a way that we can open them in Altium, EAGLE or KiCAD, and not just provide Gerber and drill files, then this could work.

Thanks for the feedback - good discussion points! I completely agree regarding gepetto limitations, and single vendor concerns.
The reality though is that the challenge isn’t which EDA is used, but that supply chain management, manufacture, sales, and product distribution need to be dealt with, and whilst I personally have no preference as to who takes on those functions, it isn’t going to be me! Gumstix is just one option - if another company (an Ardupilot partner?) wants to put themselves forward as an alternative that would be awesome.
Re vibration and testing: there’s a chicken and egg problem here. This post is requesting support to get a product developed, so whilst qualifying physical characteristics and performance is a great idea, results are specific to the product geometry, manufacturing process and components/consumables used. I don’t see it as something that realistically occurs before a decision to support (or otherwise) is made. If Ardupilot is happy to support an alpha run, and can suggest an environmental test facility that we can use, I’m more than happy to coordinate/manage a V&V process.

Thank you for summarizing the benefits of the Compute Module and development issues David and Jeff.

In regards to the development process I agree with James in that an initial run for assessment would be preferred. The CM3 carrier was originally intended as a project to address some specific needs, and to simplify integration for a few of the developers that had already agreed to share the costs. As such Gumstix offered the boards at a discount, and at the least cost per unit for those involved, via a rebate obtained by one of the developers. Although the process is restrictive to go with Gumstix it still offers the best value for money for the initial batch, and requires the minimum amount of engineering and time, as this is included in the Gumstix offer. The cost for follow on batches are also very competitive as per my last post.

I also note from a design/engineering perspective that there is a reduced risk for a budget blowout to get a functional Gumstix CM3 board as that is included in their own in house engineering process. Although this is their own IP, it only consists of some PCB layout, connectors, routing and a power module that I think is not really of high value to add to the Ardupilot open source IP at this early stage.

Accordingly, I would like to propose that the first batch uses Gumstix, and pending the uptake of the product from users and developers, we would develop the improved second revision of the board open source and source a suitable supply chain for manufacturing and distribution. If the boards don’t turn out to be popular we can carry on with Gumstix in 50units batches and do revisions for an extra $499 as required. My understanding is that the budget for producing the initial batch of boards is actually less than the funding sort, but if required the initial number of first boards could also be increased to match the interest of developers and users. I’d be happy to pay for my own costs plus a board for another developer to help move it along and get the board into as many developers hands as possible.

We’re hoping to have the design documents completed by the end of next week once we receive the required feedback from Gumstix about some customization options. Once that is thoroughly reviewed, an order can be placed at which point Gumstix will start their design process, and we will have the opportunity to assess and aprove their final design before production.

Sam,
the Gepetto design can be released under a Creative Commons 1.0 license, so can be OSH from the get-go. Only unknown is the delivered file format, but I’m sure I could find out.

Thx for the info James, I missed that.
Hopefully that pretty much solves that problem then.

@tridge @OXINARF @CraigElder not really sure of the process and timeline for decision here: would adding to the dev call be worthwhile?

The funding committee needs to review and make recommendations.
@jmachuca77

1 Like

Thanks Craig, appreciated.

Time for an update.
In the period since this proposal was made, two manufacturers have brought Pi CM3 based devices to market - the Emlid Edge (https://emlid.com/edge/) linux autopilot, and the dron.ee pilot (https://dron.ee/pages/pilot), which is a Cube carrier board for the Pi CM3. Both are well integrated, relatively high end devices that are not targeted at the hobbyist.
With the appearance of those devices, I think that this proposal has been somewhat validated, and initially I though also superceded/overtaken by events. It would not be fair to our partners if ArduPilot subsidised competing products.
Upon reflection, I think that the initial motivator for this proposal - to have an easy to integrate companion computer with suitable IO and connectors - is still sound, and remains an unfulfilled need. So I’d ask that the proposal still be considered, but perhaps in a modified form.
The concerns raised regarding specific EDA are legitimate. What I’d like the funding committee to consider is:
Funding an initial test run of a community designed, CC-NC Pi CM3 carrier board
With the view that schematics be hosted by ArduPilot, and the design files are available to partners who wish to manufacture, on request/agreement (in EAGLE/KiCAD - I know some engineers love Altium, but for this project I’d hope for free tools).

Thanks James.

The funding committee has already had a brief discussion on this. We’ll get back to you with additional questions, clarifications.

HI James,

Why did you wrote DroneePilot not available, i dont know. It is available, and works perfectly. The socket has locks from sides and from top , that holds module tightly on the socket. Vibration doesnt couse any issue. Also We use the same board on our Mapping Plane , we havent noticed any disconnection problem on Cm3. DroneePilot also has hole to mount the CM3 to the board with screw as well

Hi Tridge, what GIPIO out from RPI CM3 would be usefull to inplement on PH2.1 default carrier board?

I didn’t write that it’s not available!
I think it’s a great product - but with the microhard radio and gps built in, it limits flexibility. I’d really like to see the second csi exposed too.
Connection of a companion computer is generally telem2, but can be any serial port on the Cube.
On the cm3 I’ve used both uarts, but uart0 is better (pins 14 & 15).
You could use USB too, but I’ve not tried.

GPIO18 would be useful btw (to drive ws2812 led strips).