Yesterday I wrote about ArduCAM Raspberry Pi compatible module, that packs most of the features of Raspberry Pi Zero or Pi Compute module into a 24x24mm board, and is based on Broadcom BCM2835 processor. One person also started a thread on Raspberry Pi forums about the tiny module, and one of the Raspberry Pi engineer and forum moderator replied that will would breach the bootloader license.
The important part is the sentence highlighted above:
This software may only be used for the purpose of developing for, running or using a Raspberry Pi device.
ArduCAM module is only Raspberry Pi compatible, so it would indeed breach the license, and you can get into troubles if you planned to use that module in a commercial project, especially in countries where IP protection is taking seriously.
This raises a few questions. First why did the Raspberry Pi foundation chose that restrictive license? The obvious answer would be to protect there investment, but it’s also possible that since the bootloader and firmware is related to the GPU, video codec license may also have been a part of the decision.
The other issues is that after ordering 5K Broadcom BCM2835 processors for the first run of their ODROID-W module, Broadcom decided not to sell the processor anymore to Hardkernel subsequently. The exact reason is not known, but there are speculations that it was because of the Raspberry Pi foundation, and the license above may have been a reason for it. So could this also happen to ArduCAM? In theory yes, but If I’m not mistaken the company is based in China, and there are multiple smaller distributors, but it may not be quite as easy for Broadcom to block them.
The final question I has is whether it could possible to legally use the board without using the bootloader. Maybe… thanks to Kristina Brooks work on an open source bootloader for Raspberry Pi, released under BSD and GPLv2+, and not including any “Raspberry Pi only” conditions. There are some serious caveats such as no support for video codecs (licenses are part of it too), and while it can boot Linux, some things are broken.
If you are based in mainland China, and your customers are all based there, you probably don’t have to care about any of this, but in the western world, commercial projects should probably keep using official Raspberry Pi parts, or other solutions not involving Broadcom processors, nor official Raspberry Pi OS images.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
This, along with Mr. Upton’s official stance on 64-bit ARM (heck, ARMv6 must have been the apogee of ARM ISAs), push me to question Pi Foundation’s ultimate educational goals at this stage.
@blu
Well, to me it makes perfect sense for educational goals, as they are forcing you to license their software if you want to make a commercial product, that is not based on their hardware.
That said, the dodgy thing is that they offer the compute module, which is clearly not for just educational purposes, but also more than possible to make a viable retail product based around.
@TLS
The way I understand the license, is that you can’t even license the software at all if you make a custom hardware not based on RPI boards, so they force you to use their hardware if you want to use their software.
There’s this wonderful platform around the TI AM335x aka Beaglebone processor where you have a community with the arms open to welcome you and answer your every need and a company that has avoided many of the moronic decisions in the Pi designs.
I mean I use dozens of Pis at work, they work OK for prototypes and trying stuff but I’d never base a product around one.
@JM
Is decent camera support available with TI AM335x? Especially HW accelerated video encoding (at least supporting h.264 at 1080p)?
@tkaiser, not positive but pretty sure AM335x isn’t a video champ – it’s industrial/robotic oriented (PRU, PWM, QEP, etc).
@tkaiser. Sitara™ AM335x Processors
AM335x
AM335x Cortex-A8 Processor
Scalable ARM® Cortex®-A8-based core from 300MHz up to 1GHz
3D graphics option for enhanced user interface
Dual core PRU-ICSS for industrial Ethernet protocols and position feedback control
Premium secure boot option
Processor SDK (Linux and TI-RTOS)
TI RTOS Industrial SDK
AM335x Starter Kit
BeagleBone Black
Get started with AM335x
Featured Applications
Featured Applications
Home automation
Industrial communication
Renewable energy gateway
Substation automation
IOT gateways
Smart appliances
Streaming audio
Personal electronics
See more applications
AM335x Cortex-A8
http://www.ti.com/lsds/ti/processors/sitara/arm_cortex-a8/am335x/overview.page
@tkaiser For 1080p video there’s the AM5718 (now sampling), which is the cut down version of the processor on the BeagleBoard X15. Not cheap but hey some nice specs in there.
For a product solely around video I’d say the Ambarella SoC – used in most high quality HD cameras out there – would probably be the best choice anyway. Nowadays maybe even less arrogant than the Pi Foundation.
@JM
Anyway: HW accelerated video encoding is my only use case for this weird RPi platform. Maybe we get alternatives soon.
@tkaiser
There should be camera solution based on Grain Media or Hisilicon, and some modules are available, but I’m not sure they are all suitable as a community board.
I tried to hack an IP camera a few years ago, and ask Hisilicon some info/doc, but you have to go through sales (with the usual question about mass production volume), before being able to get access to documentation or support.
@TLS
The reason I find this license ill-suited for educational purposes is that it runs counter to what traditional academic-originated licences like BSD, MIT et al promote. The way I read the license, you can’t make anything BCM2835-based with this license, unless it contains a genuine RPi. That’s the opposite of education – normally a process where the students are encouraged to experiment for themselves beyond the school program.
And I won’t even start on the whole ‘you don’t need ARM64 with our boards’ angle, as that is a subject for another discussion.
There is no uboot port yet? for headless operations, you don’t need to initialize the videocore part.
@zoobab
Just wonder is this u-boot depends on the proprietary boot loader:
http://elinux.org/RPi_U-Boot
@zoobab
You do because the Pi has this freakish booting mechanism where it’s the GPU, which actually runs a proprietary RTOS called VideoCore OS, which ultimately loads the Linux kernel image and releases the reset on the CPU to execute it.
Broadcom was always full of proprietary shit. Their chipsets costs nothing just due to closed and non-working drivers.
This is a message for Arducam, The Raspberry Pi Foundation and Broadcom. Look guys this nano rPi board looks useful for some commercial projects I am working on where the Compute Module is too expensive and the Pi Zero is too awkward. Can you somehow arrange with the Raspberry Pi Foundation/Broadcom to pay a royalty so we can buy and use this board so everyone is happy? After all they keep the ecosystem alive and the software stable. If it costs less than 10 USD in QTY 1000 I am interested anything more and you lost me. I don’t care… Read more »
@Eric des Courtis
I think the only way in your case would be to check if Element14 can do something like that via their RPi customization service: https://www.element14.com/community/docs/DOC-76955/l/raspberry-pi-customization-service
I think they only customize the Raspberry Pi boards, but it’s worth having a try anyway. Maybe if enough people ask for it, they may decide to create a similar official board.