A distributed and scalable autopilot architecture is attractive to me due to space and sensor positioning demands on my airframes. The existing range of autopilots simply doesn't fit. The uNode (microNode) is the result of my desperate attempts to fix this. uNode is a very cutdown version of Pixhawk with a little bit of AUAV-X2 added.
Board contents are:
- STM32F427 Processor (as per pixhawk)
- 64Mbit onboard flash - no sdcard
- 4.5V to 10V input power supply or power from USB.
- No USB connector, only 0.1" holes
- MAX21100 6dof sensor - an experiment and about the only sensor I have space for.
- No I/O buffers. ESD and EMI protection on everything.
- Power for GPS module
- SRAM Battery backup
- Pinouts for
- 2x I2C
- 3x UART
- 2x CAN with transceiver onboard
- 8x servo outputs
- PPM input
- SBUS or Spektrum module input.
Total manufacturing cost in volume may be ~$25.
These boards are designed to fit into the servo hatch of a wing. They have about the same area as a slim wing servo. There is no USB connector because there is absolutely no space for one. There is no sdcard because it is not accessible. Some other potential uses:
- As a CAN connected failproof board
- Failproof remote servo expander
- Remote sensor interface - I2C sensors over long wires without interference.
- A backup, get you home autopilot. Just add GPS module.
The board uses the same processor as the pixhawk so that the same OS and software is used. You pick whatever you need to run in what node location. The dual CAN can then be used to setup a robust network to transport the data between nodes. The PX4 firmware is structured to be very suitable for this.
The prototype hardware functions well. The onboard flash works and I have had bi-direction file transfer over mavlink-ftp working. I had it working... The PX4 codebase has taken another leap forward, broken my branch and I somehow need to catch up again.
That's all for now until I manage to make it do something useful.
I would be very interested in this board.
@Matt, I just rechecked the errata doc for STM32F42xx and the workaround for the FLASH memory bank 2 corruption problem is to leave pin PA12 floating. Since that's a USB pin, uNode may not be affected, and it will have twice the usable FLASH of Pixhawk/X2 :)
Doc is http://www.st.com/web/en/resource/technical/document/errata_sheet/D...
Good work. I'm impatient to see the maiden flight of your new controller.
You can't dampen something which is just a gram or two and is lighter than the flexible board connection itself. The only way to dampen external IMU over flexible board connection is to add to the IMU an additional 100g weight, thus lowering its resonant frequency. If an additional weight is not added to the external IMU, it will vibrate with many unpredictable frequencies, thus making you life a nightmare.
This has been discussed many times here.
@Mark, debug is working after I discovered the bootloader update. I used it to get the qgc mavlink-ftp file upload working.
It looks like I am using rev Y silicon. How fu**ed am I?
I could do with getting some good luck on this project for a while. I would like to do useful stuff and not just making toolchains and codebases work. Every time I merge from upstream I find more changes and need to restart debugging again. I really wanted to post this once it was more operational but I am searching for motivation.
I am considering using AUAV-X2 as the core autopilot. There is much work to do before making that decision.
@benbojangles, I am not a company so this was funded with my pocket money. Anything other than very simple is too high risk and too likely to need respins. The prototype cost already runs at $1500. MAX21100 cost is low and flexi proto pcb cost is high.
@Ravi, I need to write the MAX21100 driver code. This should not be much of a struggle once I get the basic working.
Thanks for posting, Matt. Looks good.
Past the JTAG debugging stage yet? and were you able to find rev3 silicon for the STM32F4?
Would be nice in conjunction with a central board having an SD card; could do all the logging on the central board and have no need to transfer files around.
does the AC/AP code supports MAX21100 IMU? would u need to modify the code for this IMU?
How come most board creators aren't using flex ribbon with the IMU sensors printed on this? It would allow 'floating' IMU (vibration dampening) inside the case.
Are there any PCB companies around providing this service?