Announced a new Raspberry:
Today, I’m pleased to be able to announce the immediate availability of Raspberry Pi Zero, made in Wales and priced at just $5. Zero is a full-fledged member of the Raspberry Pi family, featuring:
- A Broadcom BCM2835 application processor
- 1GHz ARM11 core (40% faster than Raspberry Pi 1)
- 512MB of LPDDR2 SDRAM
- A micro-SD card slot
- A mini-HDMI socket for 1080p60 video output
- Micro-USB sockets for data and power
- An unpopulated 40-pin GPIO header
- Identical pinout to Model A+/B+/2B
- An unpopulated composite video header
- Our smallest ever form factor, at 65mm x 30mm x 5mm
With this, shields like the PXF 2.0, NavIO, Raspilot and the one from VirtualRobotix may have a way to cut down costs.
Robert have you found the schematics for the Pi Zero? Please share, I looked for a few hours yesterday and came up with...zero! ;-)
Patrick wouldn't another low powered cheap MCU be better then the ESP8266? There's some ARM M0 starting from $0.49 running at 48MHz even in 2x2mm packaging that would probably do the trick. I don't mind going minimalist...I even chop props off to go mono-prop on my vtols to save weight and drag... ;-)
I'd prefer to add a wifi module that can handle video anyway for just $3-4 more anyway, and one where we could use openwrt on the Pi to run mesh too. You know for those pesty swarming drone me thingies!
@ Robert you are right, there is a lot of work and unknown to get something reliable and flyable.
If someone is interested in building a shield for this RPI Zero the shortest route, as Victor wrote, is to start from the PFX 2.0 and shrink it down to the size of the new board.
@Patrick: I was considering a $2 Arduino (as my solder-breadboard-based hat's daughterboard) as an expander for analog inputs. Arduino is pretty much as proven a design as you'll get for interfacing with hardware, but honestly it makes sense to try new cheaper solutions and that's the only way that those solutions become proven solutions.
before a few start dreaming.
have a look at the schema.
there are some surprises ...
OK, I'll make another try at a workable solution. What if we turn the hat into a co-processor? Something with lots of real-time grunt to overcome the asynchronicity of Linux and the Pi architecture. We've been doing this with our laser scanners and in our experience it is very difficult to get the Pi to handle real time events (it can be done but it's lots of work) but the Pi is brilliant at heavy processing like video. Since the Pi2 and Pi0 share a common interface we could make a single hat that works on both types of board - the Pi0 for lightweight systems and the Pi2 when using the camera.
So what coprocessor should be used? How about something with an FPGA onboard so that any requirements for PWM or other interfaces with any combination of features can be programmed in as needed? The Pi takes the role of "big brain" and the co-pro handles the real time work. I'm thinking of the SmartFusion SoC family from Microsemi. Yes, I know - too expensive ;(
Sorry for teasing you tto much with the ESP8266 , but this was an example of ''extreme minimalist'' design. In fact, running both the WIFI and the PWM on this chip is possible within certain limits (like a remote servo controler for a ptz camera). But for a real life autopilot I would spend a few $$ to get the proven PCA9685 and keep the ESP8266 dedicated to Telemetry.
If PWM is an issue why can't we add the ESP8266 to handle that and telemetry over wifi like Patrick suggested? It's only $2.
I found some data rates for the ESP8266 and it looks like video streaming is not possible with it, but it will work fine for shorter range telemetry.
What other "cheap" components can we use otherwise? Can we do it with DMA? Do we have a list of whats missing in software/hardware on the Zero to get it to fly?
Well, I've tried software PWM long ago on an OLinuXino nano (60 MHz I think?) non-RT kernel and I was getting poor accuracy but it kinda worked, the jitter was perhaps some 100uS. On a 1GHz CPU like the RPi + RT-kernel you may be close (4uS accuracy would be good for a 256-step servo or ESC). Yet you'd be putting a singnificant interrupt load on the kernel. Xenomai would probably be much better in both aspects.
But I've seen there are various python libraries for the RPi that use the DMA-based approach to drive servos and this should have nanosecond accuracy and not add any load.
You need about 1us accuracy for PWM, I think to realize that with GPIOs under Linux is nearly impossible.
@Andrew , The NAVIO is using the pigpio library to read the PPM input from the transmitter, that is a necessary function. According to developers feedback, if you stick to gpioRead (no writes) you can even get nearly reliable accuracy (repeatable performance). If you use gpioWrite, however, in even a simple loop, you will see a very different performance. At the end of the day, I guess we still need a chip for PWM on this shield.