# ISP32 Avionics ###### tags: `Avionics` `ISP32` [Toc] ## Introduction The **ISP32** Avionic (ISP32 for short) board is a open source hardware designed for controlling the model rocket. ISP32 features various sensors and it's compatible with multiple wireless protocols such as WiFi, Bluetooth and LoRa protocol. The main processing system is the ESP32-S3 microcontroller module. - Github repo: https://github.com/NCKU-ISP/Avionics/tree/boards/isp32 ## Features - Igniter x2 - GPS - NEO 7M - LED indicator - IMU - MPU9250 - PWM output x4 - RGB Indicator - Buzzer - LoRa Transmission - SX1278 - Pressure Sensor - BMP280 - I2C Port for extenstion board ## Electrical Characteristics | Parameter | Min | Typ | Max | Unit | | - | - | - | - | - | | Power Supply Voltage | 5 | 11.1 | 16 | V | | I/Os Voltage | 3 | 3.3 | 3.6 | V | | LoRa Output Power | | 25 | | mW | ## Hardware Architecture ![](https://i.imgur.com/6Cmjlll.png) ## Schematics {%pdf https://docdro.id/BqgKFt3 %} ### Power ISP32 accepts wide range of voltage input from 5V to 16V typically is 11.1V (3 Cells of LiPo battery) The battery input voltage ($V_{BAT}$) is directly use by ignition circuits, and will step-down by `MP1606GTF` switching regulator to 5V supply to all on-board servo motors. 5V will feed into a 3.3V fixed voltage regulator `SC189Z` . ### USB ### Processing System ### PWM Controller Using the `STM32G030F6` as a pwm controller. Debugging and programming are available via the SWD interface. ### Ignition ISP32 features 2 sets of ignition circuits. Each set contains a level converter from 3.3V to $V_{BAT}$ and a 2.54mm pitch screw terminal block. ### Buzzer ### Peripheral *`*` indicate this sensor have interrupt pin connected* SPI devices: - *IMU (MPU9250) - SD Card - *LoRa (SX1278) I2C devices: - *Switching Board - PWM Controller - Pressure (BMP280) UART: - Processing System (ESP32) at UART0 - GPS (NEO-7m) at UART1 ## PCB The ISP32 PCB layout in 2 layers board. It have 4 M3 screw holes fits ISO-7380 screws. The board's dimension is 48mm in height and 53mm in width. ### Layout :::spoiler Front Copper ![](https://i.imgur.com/4otSsG9.png) ![](https://i.imgur.com/1JFH4Ek.png) ::: :::spoiler Back Copper ![](https://i.imgur.com/QLM2San.png) ![](https://i.imgur.com/6qUA8ft.png) ::: ### 3D Render ![](https://i.imgur.com/5ABMJOf.png) ![](https://i.imgur.com/Au0oC9R.png) <!-- ![](https://i.imgur.com/n4U9Zfc.jpg) ![](https://i.imgur.com/hEPeXVJ.jpg) --> ![](https://i.imgur.com/LpOLsIk.jpg) ## Issues & Bugs ### 23/02/21 - Power Circuit ICs - Buzzer's transistor - WS2812 replace by WS2182B - microSD card's solt - ESP32 debug port can be remove - USB ESD protection ic ### 23/03/06 - LoRa SPI and SD card collision ### 23/05/03 - Power reverse protection circuit - Replace SOT89 to SOT223 - Switching power layout ### 23/05/05 - IO0 pull up ### 24/06/28 - version: 3.0 - First time soldering - Issue: - Connected to ISP32, keep outputting `invalid header: 0xffffffff` - Reason: - Bootloader doesn't exsist. - Fix: - Enter boot mode by shorting the IO0 and IO46 to ground. - Then upload an empty sketch to esp32-s3. ## TODO ### Fix - [x] Power Circuit ICs - Replaced by MP2315 and AMS1117-3.3 - [x] Buzzer's transistor - [x] WS2812 replace by WS2182B - [x] Flip microSD card's solt - [x] ESP32 debug port can be remove - [x] Seperate SD Card and LoRa SPI - [x] KF Screw Terminal footprint - [x] Redesign switching mode power supply (12V -> 5V) - [x] Reverse voltage protection - [ ] [O-ring circuit](https://www.edntaiwan.com/20210127ta31-oring-low-voltage-sources-simply-and-cheaply-on-3-3v-microcontroller-boards/) - [x] Renforce USB-C connector ### Changes - [x] Change to louder buzzer - Add a external buzzer port - [x] Add ESD protection to I/O - [x] Add led indictor to ESP32 - [x] Remove WS2812 `Din` level conventer - [x] Remove IO0 button - [x] Remove GPS LED - [x] Change the 12V input connector - From XT60 to JST XH2.5 - [X] TF-card slot - https://www.adafruit.com/product/1660#technical-details - [x] Make IMU more stable - [x] (1) Change IMU - LSM6D - [ ] (2) Stick with `MPU9250` and improve circuit stability ### Features - [x] Add 4 channels analog input port - [x] Add reverse voltage protection - [x] Add plated M3 screw hole - [ ] DIP switch to choose operating mode ## BOM ### 2024/06/04 | Item | Value | Footprint | Qty | Buy | | ---- | ----------------------- | ---------------------------------------------------------------------- | --- | --- | | 1 | 100n | Capacitor_SMD:C_0603_1608Metric | 6 | 50 | | 2 | 100n | Capacitor_SMD:C_0805_2012Metric | 1 | 50 | | 3 | 22u | Capacitor_SMD:C_0603_1608Metric | 2 | 50 | | 4 | 220u | Capacitor_Tantalum_SMD:CP_EIA-3528-12_Kemet-T | 1 | 10 | | 5 | 1u | Capacitor_SMD:C_0603_1608Metric | 2 | 50 | | 6 | 10u | Capacitor_SMD:C_0805_2012Metric | 1 | 50 | | 7 | Zener_BZT52C12 | Diode_SMD:D_SOD-123 | 1 | 20 | | 8 | F0_LED | LED_SMD:LED_0603_1608Metric | 1 | 50 | | 9 | ESP_LED | LED_SMD:LED_0603_1608Metric | 1 | | | 10 | F1_LED | LED_SMD:LED_0603_1608Metric | 1 | | | 11 | POWER | LED_SMD:LED_0603_1608Metric | 1 | | | 12 | TVS_SMAJ24A | Diode_SMD:D_SMB | 1 | 10 | | 13 | WS2812B | LED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm | 1 | | | 14 | D_Shockley | Diode_SMD:D_SOD-123 | 1 | 0 | | 15 | D_Small | Diode_SMD:D_SOD-123 | 1 | 0 | | 17 | BAT1 | Connector_JST:JST_XH_S2B-XH-A-1_1x02_P2.50mm_Horizontal | 1 | 20 | | 18 | ExtBoard | Connector_Molex:Molex_PicoBlade_53261-0571_1x05-1MP_P1.25mm_Horizontal | 1 | 10 | | 19 | USB_C_Receptacle_USB2.0 | Connector_USB:USB_C_Receptacle_Palconn_UTC16-G | 1 | 20 | | 20 | ADC | Connector_PinHeader_1.27mm:PinHeader_1x05_P1.27mm_Vertical | 1 | 40 | | 21 | GPS_ANT | Connector_Coaxial:U.FL_Hirose_U.FL-R-SMT-1_Vertical | 1 | 40 | | 25 | LoRa_ANT | Connector_Coaxial:U.FL_Hirose_U.FL-R-SMT-1_Vertical | 1 | | | 27 | Micro_SD_Card | Connector_Card:microSD_HC_Wuerth_693072010801 | 1 | | | 31 | 5020 | Buzzer:XDCR_KSSG33J12-3 | 1 | 10 | | 29 | BUZZ | Connector_Molex:Molex_PicoBlade_53261-0271_1x02-1MP_P1.25mm_Horizontal | 1 | 10 | | 30 | 22u | Inductor_SMD:L_0805_2012Metric | 1 | | | 33 | BSS138 | Package_TO_SOT_SMD:SOT-23 | 2 | 20 | | 34 | S8050 | Package_TO_SOT_SMD:SOT-23 | 1 | 20 | | 35 | IRLML6402 | Package_TO_SOT_SMD:SOT-23 | 3 | 30 | | 36 | 10k | Resistor_SMD:R_0603_1608Metric | 6 | 100 | | 37 | 100 | Resistor_SMD:R_0603_1608Metric | 1 | 50 | | 38 | 4k7 | Resistor_SMD:R_0603_1608Metric | 2 | 50 | | 39 | 5k1 | Resistor_SMD:R_0603_1608Metric | 2 | 50 | | 40 | 22 | Resistor_SMD:R_0603_1608Metric | 1 | 50 | | 41 | 100K | Resistor_SMD:R_0603_1608Metric | 4 | 100 | | 42 | 1k | Resistor_SMD:R_0603_1608Metric | 2 | 50 | | 44 | RST | Button_Switch_SMD:SW_SPST_FSMSM | 1 | 0 | | 50 | AZ1117-3.3 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | 1 | 20 | | 51 | BA05C | Package_TO_SOT_SMD:TO-252-2 | 1 | 3 | | 52 | STM32G030F6 | Package_SO:TSSOP-20_4.4x6.5mm_P0.65mm | 1 | 3 | | 53 | LSM6DSM | Package_LGA:LGA-14_3x2.5mm_P0.5mm_LayoutBorder3x4y | 1 | 5 | | 54 | 24LC32 | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | 1 | 3 | | 55 | NEO-XM | RF_GPS:ublox_NEO | 1 | | | 56 | ESP32-S3-WROOM-1U | ESP32-S3-WROOM-1U:XCVR_ESP32-S3-WROOM-1U | 1 | 3 | | 57 | RFM98W-315S2 | RF_Module:HOPERF_RFM9XW_SMD | 1 | 3 | | 58 | BMP280 | Package_LGA:Bosch_LGA-8_2x2.5mm_P0.65mm_ClockwisePinNumbering | 1 | 10 |