Distopico Vegan
Posts: 3
Joined: Mon Sep 16, 2013 3:39 pm

Raspberrypi is open hardware??

Mon Sep 16, 2013 3:50 pm

Hi,

I have a Raspberrypi (is fabulous) and I'm loving the free software and wonder if the Raspberrypi is a project by and for education, is it open hardware? if not, why hardware is not open specifications?


Kind regards,


User avatar
pluggy
Posts: 3635
Joined: Thu May 31, 2012 3:52 pm
Location: Barnoldswick, Lancashire,UK

Re: Raspberrypi is open hardware??

Mon Sep 16, 2013 9:07 pm

I can't find anything about whether its open hardware in the FAQ, but maybe I'm missing it.

Short answer - sort of, everything except the GPU. (don't ask)
Don't judge Linux by the Pi.......
I must not tread on too many sacred cows......

User avatar
joan
Posts: 16257
Joined: Thu Jul 05, 2012 5:09 pm
Location: UK

Re: Raspberrypi is open hardware??

Mon Sep 16, 2013 9:14 pm

pluggy wrote:
I can't find anything about whether its open hardware in the FAQ, but maybe I'm missing it.

Short answer - sort of, everything except the GPU. (don't ask)
These entries in the FAQ.
What hardware documentation will be available?

Broadcom don’t release a full datasheet for the BCM2835, which is the chip at the heart of the Raspberry Pi. We will release a datasheet for the SoC which will cover the hardware exposed on the Raspi board e.g. the GPIOs. We will also release a board schematic later on.

But I want documentation for <hardware X>!

Other documentation may be released in future but this will be at the Foundation’s discretion.

But I demand the documentation for the chip. Give it to me!

To get the full SoC documentation you would need to sign an NDA with Broadcom, who make the chip and sell it to us. But you would also need to provide a business model and estimate of how many chips you are going to sell.

Heater
Posts: 19674
Joined: Tue Jul 17, 2012 3:02 pm

Re: Raspberrypi is open hardware??

Mon Sep 16, 2013 9:32 pm

Distopico Vegan,
Is it open hardware
No.

If you want to build the ARM processor that drives it, the CPU/chip design is not available and you are going to have to pay ARM holdings to get it. No doubt under NDA so you don't share it with anyone else.

If you want to build the chip that the ARM processor lives in. The System On a Chip or SOC, you are going to have to talk to Broadcom who make it. I don't think they will be wanting to share the design of the GPU with you.

If you want to build the board that these chips are mounted on, I suspect the design may be available. I have not checked. However having that will do you no good if you cannot by the the Broadcom ARM Soc to mount on it, which you cannot.

In short, there is nothing "open" about the hardware.

Now the question might be. What actually are you looking for?
Slava Ukrayini.

User avatar
pluggy
Posts: 3635
Joined: Thu May 31, 2012 3:52 pm
Location: Barnoldswick, Lancashire,UK

Re: Raspberrypi is open hardware??

Mon Sep 16, 2013 9:48 pm

I'll stay with sort of.

It would be nice if were, we might see the GPU doing something other than omxplayer and the camera software.

The schematics and board layouts are in the public domain.
Don't judge Linux by the Pi.......
I must not tread on too many sacred cows......

Distopico Vegan
Posts: 3
Joined: Mon Sep 16, 2013 3:39 pm

Re: Raspberrypi is open hardware??

Mon Sep 16, 2013 9:52 pm

Hi everyone, thanks for the answers ... My question arises that as a project by and for education, the student should have the opportunity to study as it was built towards being able to learn and adapt.

I for now I have the knowledge to adapt but if I would like to do it later and also because it would be something different in the world of hardware environment when everything is restricted and patented.

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 32828
Joined: Sat Jul 30, 2011 7:41 pm

Re: Raspberrypi is open hardware??

Tue Sep 17, 2013 7:10 am

Distopico Vegan wrote:Hi everyone, thanks for the answers ... My question arises that as a project by and for education, the student should have the opportunity to study as it was built towards being able to learn and adapt.

I for now I have the knowledge to adapt but if I would like to do it later and also because it would be something different in the world of hardware environment when everything is restricted and patented.
I disagree. Buy your argument, the Raspi is useless because it doesn't teach you about the internal combustion engine. I simply don't see the need for the hardware to be open for it to be a useful educational tool. Admittedly aimed more at the software side of things, but then, that's why the Raspi was born in the first place, to help teach the programming of computers, rather than just the use of computers. Knowing about the GPU et al doesn't really help there. There is certainly enough information available to teach from low level baremetal programming to more advanced GUI programming. Which is pretty much the same as when I learnt on a BBC micro all those years ago.
Principal Software Engineer at Raspberry Pi Ltd.
Working in the Applications Team.

thradtke
Posts: 739
Joined: Wed May 16, 2012 5:16 am
Location: Germany / EL

Re: Raspberrypi is open hardware??

Tue Sep 17, 2013 7:42 am

Distopico Vegan wrote:My question arises that as a project by and for education, the student should have the opportunity to study as it was built towards being able to learn and adapt.
Take the nice GPU capabilities as a bonus. The Pi could live without it and its internals likely aren't of much interest to more than some handful of highly specialized engineers. What's nice about it is that the chip has a nigh on native OpenGL ES interface, i.e. there's only a very thin layer of glue (open source by now) between your application and the chip. I think that's the route things go.

And if you want to know how that chip works, read some books about computer graphics. The math is already complex enough, let aside implementation specific tricks, which belong to Broadcoms IP and surely won't be given away for free.
Rocket Scientist.

User avatar
rurwin
Forum Moderator
Forum Moderator
Posts: 4257
Joined: Mon Jan 09, 2012 3:16 pm

Re: Raspberrypi is open hardware??

Tue Sep 17, 2013 7:57 am

The Raspberry Pi is a very simple device; it only has two ICs* plus a handful of voltage regulators and passive components. It doesn't have anything interesting to teach regarding hardware design. (Unless your pupils are concerned with EMC decoupling and thermal design, maybe.) Nevertheless, the schematics are available. The PCB design is not published. However, it is built on a six layer board, which means that whatever signal you want to find, it is probably buried on one of the internal layers. It would be impossible for anyone to build fewer than 10,000 Raspberry Pi computers, because the chips are not available in such quantities. So it probably would not help to have any more data published than is available now.

On the other hand, there are copious data published on the signals that are available and the register-level programming to use them. There are probably no signals available anywhere on the board that are not documented.

---
* Three if you count the RAM that's fixed on top of the CPU.

Dutch_Master
Posts: 362
Joined: Sat Jul 27, 2013 11:36 am

Re: Raspberrypi is open hardware??

Tue Sep 17, 2013 11:45 am

If you want to learn about how a processor works, program one in an FPGA chip. Starterkits are available from several manufacturers, the underlying programming language is pretty much standardised. But it's not "open".... :roll:

Heater
Posts: 19674
Joined: Tue Jul 17, 2012 3:02 pm

Re: Raspberrypi is open hardware??

Tue Sep 17, 2013 1:11 pm

Once you get down to the chips nothing is open. This is no more or less true for the Pi than it is for the Arduino which always held up as an example of "open hardware".

The schematic of the Raspberry Pi board is probably not much use to anyone. You can't make one without the chips and you can't get the chips. There is probably not much useful to be learned from the schematics. As for modifying the board I'm pretty sure that's not a realistic possibility.

So what to do:

1) If one want's to learn or teach electronics there are many other places to start.
2) If one want's to learn or teach how to put computers together from chips or a bit of computer architecture there is nothing like getting back to the old 8 bit Z80 devices and such.
3) For embedded designs with MCU and sensors and such I would look into the Propeller MCU from Parallax Inc. A great little 32 bit machine with 8 cores and 32 I/O pins available in a bread board friendly 40 pin DIP package. Parallax has a lot of educational material surrounding it.
Slava Ukrayini.

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 32828
Joined: Sat Jul 30, 2011 7:41 pm

Re: Raspberrypi is open hardware??

Tue Sep 17, 2013 2:41 pm

Agreed. Some people seem to this that the aim of the Rapsi is to teach electronics as well as computing and software. I don't really think that a sensible concept. There are much better devices if you want to learn electronics. As to learning chip intricacies, that's pretty advanced stuff, and again, a bit outside the remit of the Rapsi itself.

So, the Raspi is open enough for it's major demographic, and tbh, is probably more open than the vast majority of people need anyway.
Principal Software Engineer at Raspberry Pi Ltd.
Working in the Applications Team.

User avatar
pluggy
Posts: 3635
Joined: Thu May 31, 2012 3:52 pm
Location: Barnoldswick, Lancashire,UK

Re: Raspberrypi is open hardware??

Tue Sep 17, 2013 6:12 pm

Heater wrote:This is no more or less true for the Pi than it is for the Arduino which always held up as an example of "open hardware".
Its very easy to make an Arduino, the chips are easy to buy in single quantity and the board can be knocked up on a piece of stripboard easily and cheaply. (I've built about a dozen). The chip itself is very simple, being an 8 bit processor with a couple of kilobytes of ram and 16 kilobytes of flash storage. The datasheet is freely available and fully documents what goes on on the inside.

Nothing whatever like the Raspberry Pi.
Don't judge Linux by the Pi.......
I must not tread on too many sacred cows......

Heater
Posts: 19674
Joined: Tue Jul 17, 2012 3:02 pm

Re: Raspberrypi is open hardware??

Tue Sep 17, 2013 11:57 pm

pluggy,

You chopped off the beginning of my paragraph, what I said was:

"Once you get down to the chips nothing is open. This is no more or less true for the Pi than it is for the Arduino which always held up as an example of "open hardware"".

The design of the AVR chip on the Arduino is not open at all. The "open" part of the Arduino necessarily starts outside it's AVR chip. Similarly the design of the chips used in the Pi are not open to inspection.

Yes, an Arduino is dead easy to make. That does not change what I said about the chips.
Slava Ukrayini.

User avatar
AndrewS
Posts: 3641
Joined: Sun Apr 22, 2012 4:50 pm
Location: Cambridge, UK

Re: Raspberrypi is open hardware??

Wed Sep 18, 2013 12:31 am

To the OP - there's quite a bit of hardware info on the wiki. Everything GPU-side is closed, but everything ARM-side is open.

User avatar
jbeale
Posts: 4003
Joined: Tue Nov 22, 2011 11:51 pm

Re: Raspberrypi is open hardware??

Wed Sep 18, 2013 12:39 am

If you are interested in the R-Pi schematics, they are here: http://www.raspberrypi.org/wp-content/u ... .2_027.pdf
The actual PCB layout files have not been published. Although there are some pretty x-ray photos of it, that give you some hint of the layout: http://www.raspberrypi.org/archives/tag/x-rays

There is a 205 page datasheet on some parts of the BCM2835 SoC used in the R-Pi. Details on the GPU structure, and many low-level things are not available, but higher-level stuff of practical use for building R-Pi projects is found on the wiki page http://elinux.org/RPi_Hub

If you are interested in learning the details of CPU or SoC design in general, there are many resources on the web for that, for example
Learning Verilog and VHDL: http://www.fpga4fun.com/HDL%20tutorials.html
Open Source processor designs: http://opencores.org/projects

Distopico Vegan
Posts: 3
Joined: Mon Sep 16, 2013 3:39 pm

Re: Raspberrypi is open hardware??

Thu Oct 03, 2013 7:40 pm

what it says on this page should change and if example of a first Single-board computers that does not require proprietary software to run

https://www.fsf.org/resources/hw/single-board-computers
The Raspberry Pi requires nonfree software to start up. It can't reach the point of executing free software unless this nonfree program is part of the installed system software.

The startup program is, in fact, the same program that runs the GPU and the video decoding hardware. Thus, the GPU and the video decoding hardware are unusable in the free world, but these jobs can be done with free software on the CPU.

That program appears to implement intentional restrictions, such as blocking the video decoding hardware for MPEG-2 and VC-1 in the absence of a key that is specific to the machine in hand.

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 32828
Joined: Sat Jul 30, 2011 7:41 pm

Re: Raspberrypi is open hardware??

Thu Oct 03, 2013 7:48 pm

Distopico Vegan wrote:what it says on this page should change and if example of a first Single-board computers that does not require proprietary software to run

https://www.fsf.org/resources/hw/single-board-computers
The Raspberry Pi requires nonfree software to start up. It can't reach the point of executing free software unless this nonfree program is part of the installed system software.

The startup program is, in fact, the same program that runs the GPU and the video decoding hardware. Thus, the GPU and the video decoding hardware are unusable in the free world, but these jobs can be done with free software on the CPU.

That program appears to implement intentional restrictions, such as blocking the video decoding hardware for MPEG-2 and VC-1 in the absence of a key that is specific to the machine in hand.
I don't believe there is anything techn ically incorrect in that FSF statement. It's rather misleading in that is it legally impossible to provide MPEG-2 and VC-1 codecs without paying for them, hence the need for the key system, but otherwise seems valid.

Of course, that's the FSF's definiton of free. Many people have different opinions. For example, it would be entirely possible to make the Raspi adhere to the FSF definition of free by permanently fixing the bootcode and GPU, rather than it being upgradable. So you would end up with a system that simply isn't as good as the current one, just to make it FSF compliant. That, in my opinion, makes it less 'free', as I am not 'free' to upgrade the software on it to the latest version.
Principal Software Engineer at Raspberry Pi Ltd.
Working in the Applications Team.

Heater
Posts: 19674
Joined: Tue Jul 17, 2012 3:02 pm

Re: Raspberrypi is open hardware??

Thu Oct 03, 2013 8:11 pm

Exactly, if you are really in strict compliance to free software ideals you would never be running your Linux operating system on any PC or laptop or whatever that has a closed source proprietary BIOS to boot the thing up.

I fail to see how the Raspi's firmware is any different.

Of course, you would also reject use of all that software that exists in you hard disk drive's controller, or you network adapter, or your USB adapters or even your mouse and keyboard.

Oh and by the way, your Intel CPU probably has upgradeable microcode which is closed source.

It is pointless to single out the Raspi in this respect.
Slava Ukrayini.

User avatar
DavidS
Posts: 4642
Joined: Thu Dec 15, 2011 6:39 am
Location: USA

Re: Raspberrypi is open hardware??

Thu Oct 03, 2013 9:51 pm

Also if you are interested in some information on the VideoCore IV propcessor in the RPi take a look at:
https://github.com/hermanhermitage/videocoreiv/wiki


And if you wish to learn Chip design start with the OpenCores stuff and doing it in an HDL, then move forware to doing some VLSI layout using ElectricVLSI (available in the packages for Raspbian) and simulating the low level operation with SPiCE.

Or alternately you can start by making a TTL CPU (this is the way I went, back in the lat 1980's), many tutorials are available on this topic. And then move on to VLSI layout using Electric VLSI.

For GPU design there is a lot to consider. Though the math is a lot easier than people make it out to be. Yes the math is significant, though 99% is just matrix transforms for the 3d side, and for the 2d side it is a good bit simpler than that. Someday it may be possible to do HW accelleration of true RayTracing, then the math is even simpler, and if you use the scalar processors in the VideoCore, combined with the Vector Processor, then you can speed up Raytracing a bit. Though remember that if you are using portions of the VideoCore processor you will not be able to use the RPis video output, as the means of pushing vedio out is not documented anywhere yet.
RPi = The best ARM based RISC OS computer around
More than 95% of posts made from RISC OS on RPi 1B/1B+ computers.

boyoh
Posts: 1717
Joined: Fri Nov 23, 2012 3:30 pm
Location: Selby. North Yorkshire .UK

Re: Raspberrypi is open hardware??

Thu Oct 03, 2013 10:32 pm

Don't worried to much about the nuts & bolts
Just learn how to use It. It was designed
At University, you will learn more about it
If you build some electronic projects then
Program them
BoyOh ( Selby, North Yorkshire.UK)
Some Times Right Some Times Wrong

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 32828
Joined: Sat Jul 30, 2011 7:41 pm

Re: Raspberrypi is open hardware??

Fri Oct 04, 2013 8:18 am

DavidS wrote:For GPU design there is a lot to consider. Though the math is a lot easier than people make it out to be. Yes the math is significant, though 99% is just matrix transforms for the 3d side, and for the 2d side it is a good bit simpler than that. Someday it may be possible to do HW accelleration of true RayTracing, then the math is even simpler, and if you use the scalar processors in the VideoCore, combined with the Vector Processor, then you can speed up Raytracing a bit. Though remember that if you are using portions of the VideoCore processor you will not be able to use the RPis video output, as the means of pushing vedio out is not documented anywhere yet.
Maths isn't too bad - matrices, FFT's, PWL mostly. Algorithms actually are where a lot of complication lies, and the sheer quantity of code required to implement something like OpenGL. And of course performance is key, and at low power, which is where the real complication comes in. When you are writing combination scaler and vector code over a couple of cores, with work offloaded to HW blocks, or to further multipurpose cores (Called Quads - 16 of them in a VC4 IIRC, very nasty things to program), in order to reduce power consumption and get as much performance as possible, then things get very very complicated.

Building a GPU is a difficult task. Building one as good as the VC4 is a HUGELY difficult task.
Principal Software Engineer at Raspberry Pi Ltd.
Working in the Applications Team.

Ravenous
Posts: 1956
Joined: Fri Feb 24, 2012 1:01 pm
Location: UK

Re: Raspberrypi is open hardware??

Fri Oct 04, 2013 8:49 am

And after years of making it all work, someone will come along and demand you publish every detail of each of those mechanisms, to make it "open", so making it pretty difficult to earn a living from it in the future.

Is any current hardware platform "open"? (Arduino are said to be open, but I think if you try and produce your own copies of the AVR chips you will probably be in hot water.)

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 32828
Joined: Sat Jul 30, 2011 7:41 pm

Re: Raspberrypi is open hardware??

Fri Oct 04, 2013 9:16 am

Ravenous wrote:And after years of making it all work, someone will come along and demand you publish every detail of each of those mechanisms, to make it "open", so making it pretty difficult to earn a living from it in the future.
Yup.

Actually you would go bust pretty quickly since the cost of the development would be amortised over the life of the product, and if the product is open from the launch, you will probably not recoup costs, which means no money to spend on the next version, which means no further development. And since the cost to do this stuff is so high, its cannot be done in the open (otherwise loads of people would be doing it already), so development, as a whole stops dead. And no-one - no-one - thinks of the children - who would have to live with slow old CPU's and GPU's for ever and ever. My personal opinion of course, other opinions are available.
Ravenous wrote:Is any current hardware platform "open"? (Arduino are said to be open, but I think if you try and produce your own copies of the AVR chips you will probably be in hot water.)
Yup.
Principal Software Engineer at Raspberry Pi Ltd.
Working in the Applications Team.

Return to “General discussion”