Close
0%
0%

Open Source All-In Drone-Droni SAME70Pi (Kopernik)

Yet another open source platform for drones, but this one is fully integrated and uses the SAME70@300Mhz x2 + a Pi Compute Module

Similar projects worth following
"Drones ain't has-been!" (⌐■_■)–︻╦╤─ ᕦ(・ิ_・ิ')ᕤ

---------------- project ongoing, please feel free to comment or suggest! -----------------

Imagine an open source hackable drone that is fully integrated, no room for more weight. It uses two powerful microcontrollers for critical computations @300Mhz, a Raspberry Pi CM for high level data processing and hackable remote controller.

Don't forget an inertial station full of sensors and a power management with all what you need in flight.
You can add customized sensors to the platform in the front panel.

One of the motivations behind, is to have a ready to use steroscopic vision for navigation relatively low-cost.

Regarding the software, the work will be around porting the existing api and autopilot of dronecode/px4/dronecore.

he idea of this project is to create an open source drone platform that can be easily hackable.

It uses the last powerful Atmel's microntroller @300Mhz, the SAME70. Actually it will embed two of them. The dual SAME70 uC handles the computing (stabilization, sensors interface, GPS, communication,...etc).

They will be associated to a Raspberry Pi Compute Module for navigation and heavy computation. Also used for, this is the favorite part, its dual camera handling.

The dual cameras can be used natively in the platform for stereo-vision or NDVI processing for example.

All the circuitry will be embedded in the platform, it will be part of the mechanical chassis. The PCB of the electronic circuit are the chassis of the drone. There will two main PCB, the top one for the calculation circuitry, and the bottom PCB will handle the power distribution.

The first step is to build and setup the platform (electronics and mechanics parts) then start building a SDK (porting Pixhawk) that can facilitate the software development on the platform.



Key features:

  • 2x ARM Cortex-M7 running at up to 300 MHz / 16 Kbytes of ICache / 16 Kbytes of DCache with Error Code Correction (ECC)
  • 2x 1024Kbyte Flash, 2x 384Kbyte SRAM
  • 1x Raspberry Pi Compute Module socket
  • 12x ADC 12-bits, 12xDAC 12 bits, 5xUART, 3xSPI, 2xCAN, 3xI2C,
  • 16 xPWM
  • microSD card for high-rate logging over extended periods of tim
  • 2x xBee communication modules
  • Integrated power distribution
  • Customized sensor panel for more sensors
  • 2x Raspberry Pi Cameras that can be placed in the front or the bottom of the drone


TOP PCB design


The circuits are designed using Kicad big thanks

The work on the software is ongoing, the software behind will be: PX4/Firmware from with porting the DroneCode's api DroneCore

T

I love the Pi! specially the Raspberry Pi Compute Module

Droni SAME70Pi (Kopernik) - Une plateforme expérimentale pour les drones


The assembled computation modules:


  • 1 × SAME70N19
  • 1 × Raspberry Pi Compute Module
  • 1 × xBee
  • 1 × BME280
  • 1 × BMI160

View all 7 components

  • IMU Sens

    Hack&Invent04/07/2018 at 17:01 0 comments

    Here is how it looks like the IMU sens placed on the PCB TOP.
    It has multiple redundant accelerometers and gyroscopes.

    It is placed on dumpers for vibrations absorptions.


  • PCB TOP / Raspberry Pi Compute Module Socket

    Hack&Invent04/01/2018 at 22:52 0 comments

    The PCB TOP has a socket to host the Raspberry Pi compute module

    It is connected to :
    - a micro USB for booting
    - a USB-A for peripheral (not soldered yet)
    - two Raspberry Pi Cameras (not soldered yet)

    The power of the compute is provided by two LDO 1v8 and 2v5. The 3v3 is directly provided by the PCB Bottom.


  • PCB TOP Assembled (part 1)

    Hack&Invent04/01/2018 at 22:04 0 comments

    I assembled the following parts of the PCB TOP:
    - the SAME70-M1/M2 circuits
    - the headers of the xBees
    - the connector for front sens
    - the RPi Cams connectors
    - the Raspberry Pi compute module socket and circuit
    - the radio Si4464


  • The weight

    Hack&Invent03/24/2018 at 09:45 0 comments

    The weight matters ᕙ(° ͜ಠ ͜ʖ ͜ಠ°)ᓄ

    The PCBs of the fliying part is around 110g

    I will see how it will become when I finish the assembly


  • Just got the PCBs

    Hack&Invent03/24/2018 at 09:31 0 comments

    I've received the PCBs, shall now start the assembly!


  • Got the font sens PCB

    Hack&Invent03/23/2018 at 20:38 0 comments

    Just got the PCBs of the front sens, the assembly will follow.

    The Raspberry Pi Cameras will be placed in the front, hopfully to do stereo vision with the compute module.

    There will be also sensors (gas, temperature, baro in there).

    https://cdn.hackaday.io/images/original//9091761521830512103.png

  • Plof

    Hack&Invent03/22/2018 at 17:07 0 comments

    Nothing for the moment, waiting for the pcbs to arrive (expected tomorrow).
    I got the bom.
    The iron and oven are warming.

    Next step the assembly, then the software integration.

  • BANANA CONNECTORS

    Hack&Invent03/21/2018 at 19:01 0 comments

    For this version I will use only the soldered wire with banana connector.
    Next time I will use directly PCB soldered bana connector for LiPo and Motors.


  • DRONI SAME70Pi / 1.ELECTRONICS / IMU SENS

    Hack&Invent03/21/2018 at 18:35 0 comments

    This small piece of beauty is the graal of the project.
    A full redundant 3xIMU + baros.


    Quite small, it uses dumpers to get fixed on the TOP PCB of the drone.
    We keep a little delta between the two holes of fixation 2mm Y axis, and 3mm X axis. The reason is to have a small stress to keep the equilibrium of the IMU SENS.


    I use the 2xBMI160:


    2xLSM9DS1:
    2xLSM6DS33:


    Finally two barometers and temperature sensors:

  • DRONI SAME70Pi / 1.ELECTRONICS / REMOTE CONTROLLER (UPDATE)

    Hack&Invent03/21/2018 at 16:34 0 comments

    The analog joysticks that will be used are the same replacement for Fr'sky ones


    The PCB of the remote controller has changed a little bit.
    The TOP PCB will hold the analog sticks, buttons and leds.
    I added the possibility to fix a LCD, I don't know yet which.



    The link between the TOP and BOTTOM PCB of the remote controller is done using a PFC connector with 30pins (finally).


    I added both tactile buttons and small rockers.


    There are a bench of LEDs to displays statuses.


    REMOTE CONTROLLER PCB BOTTOM:
    The bottom PCB will hold the micro controllers and all the circuitry relative to the power.


    The funny and interesting thing is that the same components used in the flying part are used in the remote controlled.
    The idea is to have the same configuration to ease the software development and also for me to have the same circuits.

    It might appear that the remote controller has more calculation power that it will require, but whynot.

    We use the same Si4464 communication module with SMA antena:

    We use two xBees, and the SAME70-R1/R2 are linked using an UART:

    We use the same DC converters, but not the same number, because the need is not the same:

View all 31 project logs

Enjoy this project?

Share

Discussions

Gravis wrote 03/20/2018 at 15:28 point

I think you'll find that two 300MHz processors both with shitload of memory just to do menial tasks is overkill.  It's hard to express just how overkill this design is.

  Are you sure? yes | no

Hack&Invent wrote 03/20/2018 at 16:04 point

Not necessary to do menial tasks.
Anyway, let's rock it! with such power, you can do rocky maneuvers.

One of the motivations behind this design, is to have a ready to use stereoscopic vision for navigation with honorable performances without spending k$$ on

  Are you sure? yes | no

Gravis wrote 03/20/2018 at 20:43 point

Why put two of them on there?  Also, why not a lesser chip that does everything and interfaces with the compute module?  ATSAMD20J18A looks like it has everything you need, is a fraction of the cost, drastically reduces complexity and could even be programmed and debugged using the compute module.

  Are you sure? yes | no

Hack&Invent wrote 03/20/2018 at 23:34 point

The first SAME70 will handle the stabilization it's real time -> the more it's powerfull, the more it has flexibility for the user to add more complex algos

The second SAME70 is in charge for non RT routines -> true, it could be less powerful, I was thinking about using a STM32H432 (32pins) 5$ for it, but I said why not using the same 15$, it doesn't add complexity, the user will have the SDK for both, it can handle more complex algos... without big cost

Honestly there is no big reason, I didn't found any cons, so I put it, I will see what it will take :) usually I don't put strings until I encounter actual problems :)
If I was a company looking for profit and cost optimization and pragmatic oriented thinking, for sure I would think differently, but right now it's just about fun and share :)

  Are you sure? yes | no

Yaf.Q wrote 03/20/2018 at 08:21 point

Expect !

  Are you sure? yes | no

merck.ding wrote 03/19/2018 at 07:15 point

This is very much looking forward to

  Are you sure? yes | no

Hack&Invent wrote 03/19/2018 at 07:52 point

It will be ready soon

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates