Skip to content

Commit

Permalink
SPRACINGH7NANO - First betaflight STM32H750 400Mhz 20x20 mount FC.
Browse files Browse the repository at this point in the history
Website: http://seriouslypro.com/spracingh7nano
Shop: https://shop.seriouslypro.com/sp-racing-h7-nano

SPRACINGH7NANO - Add boards documentation and images.

SPRACINGH7NANO - Add unified target config.

Note: untested as no unified target exists for STM32H750+EXST yet.

SPRACINGH7NANO - Combine target files.

SPRACINGH7NANO - Update unified target config.
  • Loading branch information
hydra authored and mikeller committed Jul 14, 2019
1 parent b2b8ff6 commit 33f761d
Show file tree
Hide file tree
Showing 10 changed files with 626 additions and 0 deletions.
89 changes: 89 additions & 0 deletions docs/boards/Board - SPRacingH7NANO.md
@@ -0,0 +1,89 @@
# Board - Seriously Pro SP Racing H7 NANO

The SPRacingH7NANO flight controller features a 400Mhz H7 CPU that runs twice as fast as the previous generation F7 boards.
A fast control-loop is what you need for perfect flight performance, the H7 at 400Mhz gives you all the processing power you need.

The SPRacingH7NANO is features a 20x20 mounting pattern, has integrated 5V BEC and 128MB BlackBox logging and has support for
external OSDs (e.g. via RunCam Camera or CrossFire/CRSF VTX's like the TBS Unify Evo OSD/VTX.)

Full details available on the website, here:

http://seriouslypro.com/spracingh7nano

Purchasing boards directly from SeriouslyPro / SP Racing and official retailers helps fund software development.

Shop here: https://shop.seriouslypro.com/sp-racing-h7-nano

## Background

The SPRacingH7NANO FC is the second STM32H750 based FC to ship with Betaflight. Like the SPRacingH7EXTREME before it, it too uses
the External Storage (EXST) build system which allows a bootloader to load the flight-controller firmware from external flash.

See the EXST documentation for more details on the EXST system.

## Hardware Features

The SPRacingH7NANO is available in two versions, the NANO-S (solder-pads only) or NANO-E (with connectors for 4in1 ESC + RX + IO)

### SPRacingH7NANO FC board.

![SPRacingH7NANO CPU Side](images/spracingh7nano-cpu.jpg)
![SPRacingH7NANO NANO-E and NANO-S](images/spracingh7nano-cpu-e-s.jpg)
![SPRacingH7NANO NANO-S solder pads only](images/spracingh7nano-pcb-top.jpg)
![SPRacingH7NANO NANO-E with connectors](images/spracingh7nano-pcb-top-with-connectors.jpg)

* STM32H750 CPU, 400MHz inc FPU
* 128MByte 1GBit NAND flash via QuadSPI
* Low-noise ICM20602 accelerometer/gyro with dedicated filtering(connected via SPI)
* 1.0mm thick 4-layer copper gold-plated PCB
* 2-6S BEC 5V Switching regulator, 1A
* TVS protection diode (NANO-E: Fitted, NANO-S: optional extra)
* Transponder circuitry (LED and code available separately)
* Buzzer circuitry
* RSSI Analog input
* 8 motor outputs (NANO-S: 8 on pads, NANO-E: 4 on 4in1 connector, 4 on pads)
* 1x Dual SPI + GPIO breakout onto stacking connector (NANO-E only)
* 6 Serial Ports (5x TX+RX + 1x TX only bi-directional)
* 3 LEDs for 5V, 3V and STATUS (Green, Blue, Red)
* 26.5x26.5mm PCB with 20mm mounting hole pattern
* 4mm mounting holes for soft-mount grommets and M3 bolts
* MicroUSB socket for configuration and ESC programming
* Bootable from External flash.
* Supplied with 4x soft-mount grommets.
* Optionally supplied with 2x JST-SH 8-way IO cables. (NANO-E only)
* Optionally supplied with 2x PicoBlade 6-way IO cables. (NANO-E only)

* 1x solder pad for LED Strip
* 2x solder pad for DAC out (NANO-S only)
* 2x solder pad for ADC in (for 4in1 current sensor output, etc)
* 2x solder pads for UART8 RX/TX
* 2x solder pads for 5V/GND power
* 2x solder pads for Buzzer
* 2x solder pads for TVS Diode
* 1x Row of pads for Motor 1-4 + Battery wires (NANO-S only)
* 1x Row of pads for RX connections (UART1 RX+TX, RSSI, 5V, GND, IR) (NANO-S only)
* 2x Rows of pads for additional IO (UART2,UART5,IR,LED-Strip,etc)
* 2x 8pin JST-SH socket for GND/5V/I2C/UART4/UART5 (IO port, e.g. for external GPS module)
* 2x 8pin JST-SH socket for GND/5V/SWD/UART3 (IO port, e.g. for debugging, etc)
* 1x 6pin PicoBlade socket for RX (NANO-E only)
* 1x 6pin PicoBlade socket for 4in1 ESC (NANO-E only)
* 1x solder pads for BOOT
* 1x solder pads for BIND
* Cleanflight and Betaflight logos - they're on there, you just have to find them
* SP Racing logo
* 1x Additional easter egg!


## Connection Diagrams

Connection diagrams can be found on the website, here:

http://seriouslypro.com/spracingh7nano#diagrams


## Manual

The manual can be downloaded from the website, here:

http://seriouslypro.com/files/SPRacingH7NANO-Manual-latest.pdf

Binary file added docs/boards/images/spracingh7nano-cpu-e-s.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/boards/images/spracingh7nano-cpu.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/boards/images/spracingh7nano-pcb-top.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
44 changes: 44 additions & 0 deletions src/main/target/SPRACINGH7NANO/config.c
@@ -0,0 +1,44 @@
/*
* This file is part of Cleanflight and Betaflight.
*
* Cleanflight and Betaflight are free software. You can redistribute
* this software and/or modify this software under the terms of the
* GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option)
* any later version.
*
* Cleanflight and Betaflight are distributed in the hope that they
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this software.
*
* If not, see <http://www.gnu.org/licenses/>.
*/

#include <stdbool.h>
#include <stdint.h>

#include "platform.h"

#ifdef USE_TARGET_CONFIG

#include "config_helper.h"

#include "io/serial.h"
#include "osd/osd.h"
#include "pg/pg.h"

static targetSerialPortFunction_t targetSerialPortFunction[] = {
{ SERIAL_PORT_USART1, FUNCTION_MSP },
{ SERIAL_PORT_USART2, FUNCTION_MSP },
};

void targetConfiguration(void)
{
osdConfigMutable()->core_temp_alarm = 85;
targetSerialPortFunctionConfig(targetSerialPortFunction, ARRAYLEN(targetSerialPortFunction));
}
#endif
60 changes: 60 additions & 0 deletions src/main/target/SPRACINGH7NANO/target.c
@@ -0,0 +1,60 @@
/*
* This file is part of Cleanflight and Betaflight.
*
* Cleanflight and Betaflight are free software. You can redistribute
* this software and/or modify this software under the terms of the
* GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option)
* any later version.
*
* Cleanflight and Betaflight are distributed in the hope that they
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this software.
*
* If not, see <http://www.gnu.org/licenses/>.
*/

#include <stdint.h>

#include "platform.h"
#include "drivers/io.h"

#include "drivers/dma.h"
#include "drivers/timer.h"
#include "drivers/timer_def.h"

const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED, 0, 10, 0 ), // LED Strip
DEF_TIM(TIM2, CH4, PB11, TIM_USE_TRANSPONDER, 0, 11, 0 ), // Transponder

DEF_TIM(TIM12, CH2, PB15, TIM_USE_PPM | TIM_USE_PWM, 0, 0, 0 ), // Also USART1 RX

DEF_TIM(TIM15, CH1, PE5, TIM_USE_CAMERA_CONTROL, 0, 0, 0 ),
DEF_TIM(TIM15, CH2, PE6, TIM_USE_NONE, 0, 0, 0 ),

DEF_TIM(TIM5, CH1, PA0, TIM_USE_MOTOR, 0, 0, 0 ), // M1
DEF_TIM(TIM5, CH2, PA1, TIM_USE_MOTOR, 0, 1, 0 ),
DEF_TIM(TIM5, CH3, PA2, TIM_USE_MOTOR, 0, 2, 0 ),
DEF_TIM(TIM5, CH4, PA3, TIM_USE_MOTOR, 0, 3, 0 ), // M4

DEF_TIM(TIM4, CH1, PB6, TIM_USE_MOTOR, 0, 4, 1 ), // M5
DEF_TIM(TIM4, CH2, PB7, TIM_USE_MOTOR, 0, 5, 1 ), // M6

DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 0, 6, 2 ), // M7
DEF_TIM(TIM8, CH2, PC7, TIM_USE_MOTOR, 0, 7, 2 ), // M8

DEF_TIM(TIM4, CH3, PD14, TIM_USE_MOTOR, 0, 12, 0 ), // M9
DEF_TIM(TIM4, CH4, PD15, TIM_USE_MOTOR, 0, 0, 0 ), // M10 // Note: No DMA on TIM4_CH4, can use with BURST DSHOT using TIM4_UP

DEF_TIM(TIM3, CH1, PA6, TIM_USE_NONE, 0, 0, 0 ), // Also TIM13/CH1
DEF_TIM(TIM3, CH2, PA7, TIM_USE_NONE, 0, 0, 0 ), // Also TIM14/CH1
DEF_TIM(TIM3, CH3, PB0, TIM_USE_NONE, 0, 0, 0 ), // Also TIM8/CH2_N
DEF_TIM(TIM3, CH4, PB1, TIM_USE_NONE, 0, 0, 0 ), // Also TIM8/CH3_N
};



0 comments on commit 33f761d

Please sign in to comment.