diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index 4bdcb82c..c54fe30c 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -78,7 +78,7 @@ #define TEMPERATURE_PIN 28 // Diode temperature analog pin #define PORT 8080 -#define FREQUENCY_OFFSET 0 +//#define FREQUENCY_OFFSET 0 #define TRUE 1 #define FALSE 0 @@ -131,6 +131,7 @@ #define PROMPT_I2CSCAN 14 #define PROMPT_WIFI 15 #define PROMPT_CAMERA 16 +#define PROMPT_OFFSET 17 #define PAYLOAD_QUERY 1 #define PAYLOAD_RESET 2 @@ -145,7 +146,7 @@ float get_cpu_temp(); //#define WAV_DATA_LENGTH (50000 * 8) -uint32_t tx_freq_hz = 434900000 + FREQUENCY_OFFSET; +uint32_t tx_freq_hz = 434900000; // + FREQUENCY_OFFSET; //uint8_t data[1024]; uint32_t tx_channel = 0; @@ -224,6 +225,7 @@ void load_sstv_image_2_as_cam_dot_jpg(); void get_input(); void transmit_led(bool status); void reset_min_max(); +int frequency_offset = 0; #ifndef STASSID #define STASSID "Pico" @@ -374,6 +376,7 @@ bool voltage_read = false; bool ina219_started = false; bool camera_detected = false; bool rotate_flag = true; +bool clockgen_present = false; int led_builtin_pin; diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 41f4f1fb..6d0a8063 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -8,7 +8,7 @@ * (at your option) any later version. * * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of + * but WITHOUT ANY WARRANTY; without even the implied warranty ofF * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * @@ -92,6 +92,22 @@ void setup() { set_sys_clock_khz(133000, true); Serial.begin(115200); + + config_gpio(); +/**/ + if (check_for_wifi()) { + wifi = true; + led_builtin_pin = LED_BUILTIN; // use default GPIO for Pico W + pinMode(LED_BUILTIN, OUTPUT); +// configure_wifi(); + } else { + led_builtin_pin = 25; // manually set GPIO 25 for Pico board +// pinMode(25, OUTPUT); + pinMode(led_builtin_pin, OUTPUT); + } +/**/ + + blink(50); delay(10000); @@ -112,25 +128,18 @@ void setup() { // otherwise, run CubeSatSim Pico code - Serial.println("CubeSatSim Pico v0.39 starting...\n"); + Serial.println("CubeSatSim Pico v0.41 starting...\n"); -/**/ - if (check_for_wifi()) { - wifi = true; - led_builtin_pin = LED_BUILTIN; // use default GPIO for Pico W - pinMode(LED_BUILTIN, OUTPUT); -// configure_wifi(); - } else { - led_builtin_pin = 25; // manually set GPIO 25 for Pico board -// pinMode(25, OUTPUT); - pinMode(led_builtin_pin, OUTPUT); - } -/**/ - - config_gpio(); +//// config_gpio(); get_input(); + if (wifi) + Serial.println("\nPico W detected!\n"); + else + Serial.println("\nPico detected!\n"); + + start_clockgen(); EEPROM.begin(512); @@ -437,8 +446,7 @@ void read_config_file() { // sprintf(buff, "%d\n", cnt); sprintf(buff, "%s %d", "AMSAT", 0); config_file.write(buff, strlen(buff)); - - + config_file.close(); config_file = LittleFS.open("/sim.cfg", "r"); @@ -447,10 +455,10 @@ void read_config_file() { // char * cfg_buf[100]; config_file.read((uint8_t *)buff, 255); // sscanf(buff, "%d", &cnt); - sscanf(buff, "%s %d %f %f %s", callsign, & reset_count, & lat_file, & long_file, sim_yes); + sscanf(buff, "%s %d %f %f %s %d", callsign, & reset_count, & lat_file, & long_file, sim_yes, & frequency_offset); config_file.close(); - if (debug_mode) - Serial.printf("Config file /sim.cfg contains %s %d %f %f %s\n", callsign, reset_count, lat_file, long_file, sim_yes); +// if (debug_mode) + Serial.printf("Config file /sim.cfg contains %s %d %f %f %s %d\n", callsign, reset_count, lat_file, long_file, sim_yes, frequency_offset); reset_count = (reset_count + 1) % 0xffff; @@ -490,7 +498,7 @@ void write_config_file() { else strcpy(sim_yes, "no"); - sprintf(buff, "%s %d %f %f %s", callsign, reset_count, latitude, longitude, sim_yes); + sprintf(buff, "%s %d %f %f %s %d", callsign, reset_count, latitude, longitude, sim_yes, frequency_offset); Serial.println("Writing string "); // if (debug_mode) print_string(buff); @@ -574,18 +582,19 @@ void transmit_on() { ret = clockgen.enableOutputs(true); Serial.println("Enable clock outputs!"); } -*/ +*/ if (clockgen_present) { if (clockgen.enableOutputs(true)) { start_clockgen(); if (mode == BPSK) - clockgen.setClockBPSK(); + clockgen.setClockBPSK(frequency_offset); else - clockgen.setClockFSK(); + clockgen.setClockFSK(frequency_offset); clockgen.enableOutputs(true); Serial.println("Enable clock outputs!"); } else { Serial.println("Enable clock outputs"); } + } } else if (mode == CW) { // Serial.println("Transmit on!"); @@ -614,7 +623,7 @@ void transmit_off() { Serial.println("Disable clock outputs!"); } // clockgen.enableOutputs(false) -*/ +*/ if (clockgen_present) { if (clockgen.enableOutputs(false)) { start_clockgen(); clockgen.enableOutputs(false); @@ -622,6 +631,7 @@ void transmit_off() { } else { Serial.println("Disable clock outputs"); } + } } else if (mode == SSTV) @@ -2247,10 +2257,13 @@ void config_radio() if (sr_frs_present) digitalWrite(PD_PIN, HIGH); // Enable SR_FRS else { - start_clockgen(); - if (clockgen.setClockFSK()) { +// if (!clockgen_present) + if (mode != CW) + start_clockgen(); + if (clockgen_present) { + if (clockgen.setClockFSK(frequency_offset)) { start_clockgen(); - clockgen.setClockFSK(); + clockgen.setClockFSK(frequency_offset); Serial.println("Config clock for CW without SR_FRS!"); } else { Serial.println("Config clock for CW without SR_FRS"); @@ -2258,7 +2271,8 @@ void config_radio() digitalWrite(PD_PIN, LOW); // disable SR_FRS clockgen.enableOutputs(false); digitalWrite(BPSK_CONTROL_B, LOW); - digitalWrite(BPSK_CONTROL_A, LOW); + digitalWrite(BPSK_CONTROL_A, LOW); + } } @@ -2271,14 +2285,15 @@ void config_radio() Serial.println("Config clock for BPSK"); } */ - - if (clockgen.setClockBPSK()) { + if (clockgen_present) { + if (clockgen.setClockBPSK(frequency_offset)) { start_clockgen(); - clockgen.setClockBPSK(); + clockgen.setClockBPSK(frequency_offset); Serial.println("Config clock for BPSK"); } else { Serial.println("Config clock for BPSK"); } + } transmit_on(); } else if (mode == FSK) {// || (mode == SSTV)) @@ -2289,14 +2304,15 @@ void config_radio() ret = clockgen.setClockFSK(); Serial.println("Config clock for FSK"); } -*/ - if (clockgen.setClockFSK()) { +*/ if (clockgen_present) { + if (clockgen.setClockFSK(frequency_offset)) { start_clockgen(); - clockgen.setClockFSK(); + clockgen.setClockFSK(frequency_offset); Serial.println("Config clock for FSK"); } else { Serial.println("Config clock for FSK"); - } + } + } transmit_on(); } @@ -2396,7 +2412,7 @@ void read_ina219() loadvoltage = busvoltage + (shuntvoltage / 1000); if ((debug_mode) || (voltage_read)) { - Serial.print("+Bat (1 0x44) Voltage: "); + Serial.print("Bat (1 0x44) Voltage: "); Serial.print(loadvoltage); Serial.print("V Current: "); Serial.print(current_mA); @@ -3268,9 +3284,9 @@ void start_ina219() { i2c_bus1 = i2c_1 || i2c2 || i2c3; - Wire1.setSDA(2); - Wire1.setSCL(3); - Wire1.begin(); +// Wire1.setSDA(2); +// Wire1.setSCL(3); +// Wire1.begin(); if (!(i2c5 = ina219_2_0x40.begin(&Wire1))) // check i2c bus 2 Serial.println("I2C +Z sensor (bus 2 0x40) not found"); @@ -3775,11 +3791,6 @@ void config_gpio() { pinMode(27, INPUT); pinMode(28, INPUT); -/// pinMode(PI_3V3_PIN, INPUT); -/// Serial.print("Pi 3.3V: "); -/// Serial.println(digitalRead(PI_3V3_PIN)); -/// if (digitalRead(PI_3V3_PIN) == HIGH) { - { Serial.print("Pi Zero present, so running Payload OK code instead of CubeSatSim code."); start_payload(); @@ -3824,7 +3835,7 @@ void config_gpio() { Serial.println("BPF not present - no transmitting after CW ID"); if (digitalRead(TXC_PIN) == FALSE) { -// if (true) { // force SR_FRS not present +// if (false) { // force SR_FRS not present Serial.println("SR_FRS present"); sr_frs_present = true; } @@ -4013,11 +4024,11 @@ bool check_for_wifi() { // if (result < 0x100) { if (result < 0x10) { - Serial.println("\nPico W detected!\n"); +// Serial.println("\nPico W detected!\n"); return(true); } else { - Serial.println("\nPico detected!\n"); +// Serial.println("\nPico detected!\n"); return(false); } } @@ -4159,14 +4170,19 @@ void transmit_cw(int freq, float duration) { // freq in Hz, duration in millise digitalWrite(AUDIO_OUT_PIN, LOW); } else { + // Serial.println("No sr_frs present!"); unsigned long start = micros(); -// clockgen.enableOutputs(true); - clockgen.enableOutputOnly(0); - digitalWrite(BPSK_CONTROL_A, HIGH); +// clockgen.enableOutputs(true); + if (clockgen_present) { + clockgen.enableOutputOnly(0); + digitalWrite(BPSK_CONTROL_A, HIGH); + } while((micros() - start) < duration_us) { } - digitalWrite(BPSK_CONTROL_A, LOW); - clockgen.enableOutputs(false); + if (clockgen_present) { + digitalWrite(BPSK_CONTROL_A, LOW); + clockgen.enableOutputs(false); + } } // if (!wifi) @@ -4199,18 +4215,25 @@ void transmit_callsign(char *callsign) { print_string(id); if (!sr_frs_present) { - start_clockgen(); - if (clockgen.setClockFSK()) { - start_clockgen(); - clockgen.setClockFSK(); - Serial.println("Config clock for CW without SR_FRS!"); - } else { - Serial.println("Config clock for CW without SR_FRS"); - } - digitalWrite(PD_PIN, LOW); // disable SR_FRS - clockgen.enableOutputs(false); - digitalWrite(BPSK_CONTROL_B, LOW); - digitalWrite(BPSK_CONTROL_A, LOW); +// Serial.println("before start"); +// start_clockgen(); +// Serial.println("after start"); + if (clockgen_present) { + if (clockgen.setClockFSK(frequency_offset)) { + start_clockgen(); + if (clockgen_present) + clockgen.setClockFSK(frequency_offset); + Serial.println("Config clock for CW without SR_FRS!"); + } else { + Serial.println("Config clock for CW without SR_FRS"); + } + } + digitalWrite(PD_PIN, LOW); // disable SR_FRS + if (clockgen_present) { + clockgen.enableOutputs(false); + digitalWrite(BPSK_CONTROL_B, LOW); + digitalWrite(BPSK_CONTROL_A, LOW); + } } /* if (reset_count == 0) { @@ -4479,11 +4502,15 @@ void serial_input() { break; case 'o': - case 'O': Serial.println("Read diode temperature"); prompt = PROMPT_TEMP; break; + case 'O': + Serial.println("Set frequency offset"); + prompt = PROMPT_OFFSET; + break; + case 'l': case 'L': Serial.println("Change the Latitude and Longitude"); @@ -4558,11 +4585,12 @@ void prompt_for_input() { Serial.println("l Change Lat and Lon"); Serial.println("? Query sensors"); Serial.println("v Read INA219 voltage and current"); - Serial.println("o Read diode temperature"); + Serial.println("o Read diode temperature"); + Serial.println("O Set frequency offset"); Serial.println("d Change debug mode"); Serial.println("w Connect to WiFi\n"); - Serial.printf("Software version v0.39 \nConfig file /sim.cfg contains %s %d %f %f %s\n\n", callsign, reset_count, lat_file, long_file, sim_yes); + Serial.printf("Software version v0.41 \nConfig file /sim.cfg contains %s %d %f %f %s %d\n\n", callsign, reset_count, lat_file, long_file, sim_yes, frequency_offset); switch(mode) { @@ -4700,13 +4728,6 @@ void prompt_for_input() { voltage_read = true; read_ina219(); break; - - case PROMPT_REBOOT: - Serial.println("Rebooting..."); - Serial.flush(); - watchdog_reboot (0, SRAM_END, 500); // restart Pico - sleep(20.0); - break; case PROMPT_FORMAT: LittleFS.format(); @@ -4730,6 +4751,42 @@ void prompt_for_input() { write_config_file(); break; + case PROMPT_OFFSET: + if (frequency_offset != 0) + Serial.println("Frequency offset is currently on"); + else + Serial.println("Frequency offset is currently off"); + Serial.println("Do you want Frequency offset on (y/n)"); + get_serial_char(); + if ((serial_string[0] == 'y') || (serial_string[0] == 'Y')) { + Serial.println("Turning Frequency offset on"); + frequency_offset = -15000; // set frequency offset + write_config_file(); + program_radio(); + Serial.println("Rebooting..."); + Serial.flush(); + watchdog_reboot (0, SRAM_END, 500); // restart Pico + sleep(20.0); + } else if ((serial_string[0] == 'n') || (serial_string[0] == 'N')) { + Serial.println("Turning Frequency offset off"); + frequency_offset = 0; // turn off frequency offset + program_radio(); + write_config_file(); + Serial.println("Rebooting..."); + Serial.flush(); + watchdog_reboot (0, SRAM_END, 500); // restart Pico + sleep(20.0); + } else + Serial.println("No change to frequency offset."); + break; + + case PROMPT_REBOOT: + Serial.println("Rebooting..."); + Serial.flush(); + watchdog_reboot (0, SRAM_END, 500); // restart Pico + sleep(20.0); + break; + case PROMPT_RESTART: prompt = false; // Serial.println("Restart not yet implemented"); @@ -4742,7 +4799,7 @@ void prompt_for_input() { config_radio(); sampleTime = (unsigned int) millis(); break; - + case PROMPT_DEBUG: Serial.print("Changing Debug Mode to "); debug_mode = !debug_mode; @@ -4916,7 +4973,7 @@ void get_serial_string() { int input = 0; int i = 0; unsigned int elapsed_time = (unsigned int) millis(); - while ((input != '\n') && (input!= '\r') && (i < 128) && ((millis() - elapsed_time) < 20000)) { + while ((input != '\n') && (input!= '\r') && (i < 128) && ((millis() - elapsed_time) < 40000)) { // was 20 if (Serial.available() > 0) { input = Serial.read(); if ((input != '\n') && (input!= '\r')) { @@ -4996,7 +5053,7 @@ void program_radio() { mySerial.begin(9600); for (int i = 0; i < 5; i++) { - sleep(0.5); // delay(500); + sleep(0.5); // delay(500); // Serial1.println("AT+DMOSETGROUP=0,434.9100,434.9100,1,2,1,1\r"); // mySerial.println("AT+DMOSETGROUP=0,434.9000,434.9000,1,2,1,1\r"); // mySerial.println("AT+DMOSETGROUP=0,434.9000,434.9000,0,8,0,0\r"); @@ -5010,6 +5067,7 @@ void program_radio() { sleep(0.5); mySerial.println("AT+DMOSETMIC=8,0\r"); // was 8 + } } @@ -5058,19 +5116,39 @@ void write_mode(int save_mode) { } void start_clockgen() { + clockgen_present = false; + + Wire1.setSDA(2); + Wire1.setSCL(3); + Wire1.begin(); - if (clockgen.begin() != ERROR_NONE) + if (clockgen.begin(&Wire) != ERROR_NONE) { /* There was a problem detecting the IC ... check your connections */ - Serial.println("No Si5351 detected ... Check your wiring or I2C ADDR!"); - return; + Serial.println("No Si5351 detected on bus 1"); + + if (clockgen.begin(&Wire1) != ERROR_NONE) + { + /* There was a problem detecting the IC ... check your connections */ + Serial.println("No Si5351 detected on bus 2 ... Check your wiring or I2C ADDR!"); + clockgen.begin(&Wire); // go back to Wire so that it doesn't lock up with no clockgen + return; + } else { + Serial.println("Si5351 detected on bus 2"); + clockgen_present = true; + } + + } else { + Serial.println("Si5351 detected on bus 1"); + clockgen_present = true; } - - Serial.println("Starting clockgen frequency 434.9 MHz"); + + if (clockgen_present) { + Serial.println("Starting clockgen frequency 434.9 MHz"); // clockgen.setClockFSK(); // default to FSK - clockgen.enableOutputs(false); - + clockgen.enableOutputs(false); + } } void get_input() { diff --git a/cubesatsim/esp32-cam-send-jpeg-serial/readme.MD b/cubesatsim/esp32-cam-send-jpeg-serial/readme.MD index 067982a4..697fa25f 100644 --- a/cubesatsim/esp32-cam-send-jpeg-serial/readme.MD +++ b/cubesatsim/esp32-cam-send-jpeg-serial/readme.MD @@ -1,12 +1,8 @@ This code runs on the ESP32-CAM camera module -The board is ESP32 Arduino/AI Thinker ESP32-CAM such as from here: +You need the ESP32 library on Arduino. here's how to install it: https://randomnerdtutorials.com/installing-the-esp32-board-in-arduino-ide-windows-instructions/ -I follow the instructions here https://all3dp.com/2/esp32-cam-arduino-tutorial/ - -I use the ESP32-CAM MB USB programmer as described in the section "Esp32-Cam MB Micro-USB Programmer" - -The Arduino IDE 1.x instructions are in the section "Installing the Esp32 Library" +The board is ESP32 Arduino/AI Thinker ESP32-CAM Select the USB Serial port diff --git a/hardware/batt/v0.2/cubesatsim-batt-0.2.mnb b/hardware/batt/v0.2/cubesatsim-batt-0.2.mnb new file mode 100644 index 00000000..02e00999 --- /dev/null +++ b/hardware/batt/v0.2/cubesatsim-batt-0.2.mnb @@ -0,0 +1 @@ +JP4 12.80 78.69 90 JUMPER-SMT_2_NC_TRACE_SILK SMT-JUMPER_2_NC_TRACE_SILK diff --git a/hardware/batt/v0.2/cubesatsim-batt-0.2.mnt b/hardware/batt/v0.2/cubesatsim-batt-0.2.mnt new file mode 100644 index 00000000..d9906f2f --- /dev/null +++ b/hardware/batt/v0.2/cubesatsim-batt-0.2.mnt @@ -0,0 +1 @@ +J1 32.68 74.23 0 CONN_20X2 2X20 diff --git a/hardware/batt/v0.2/cubesatsim-batt-0.2_bnames.pdf b/hardware/batt/v0.2/cubesatsim-batt-0.2_bnames.pdf new file mode 100644 index 00000000..a6f3a2c2 Binary files /dev/null and b/hardware/batt/v0.2/cubesatsim-batt-0.2_bnames.pdf differ diff --git a/hardware/batt/v0.2/cubesatsim-batt-0.2_bom.csv.txt b/hardware/batt/v0.2/cubesatsim-batt-0.2_bom.csv.txt new file mode 100644 index 00000000..b0b2aef8 --- /dev/null +++ b/hardware/batt/v0.2/cubesatsim-batt-0.2_bom.csv.txt @@ -0,0 +1,7 @@ +"Part";"Value";"Device";"Package";"Description";""; +"BT1";"2477";"2477";"2477PCB_62P99X57P99_KEY";"";""; +"J1";"CONN_20X2";"CONN_20X2";"2X20";"Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";""; +"JP1";"Micro JST";"M02JST-PTH-VERT";"JST-2-PTH-VERT";"Standard 2-pin 0.1" header. Use with";""; +"JP2";"";"CONN_01PTH_NO_SILK_KIT";"1X01NS_KIT";"Single connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";""; +"JP3";"";"CONN_01PTH_NO_SILK_KIT";"1X01NS_KIT";"Single connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";""; +"JP4";"JUMPER-SMT_2_NC_TRACE_SILK";"JUMPER-SMT_2_NC_TRACE_SILK";"SMT-JUMPER_2_NC_TRACE_SILK";"Normally closed trace jumper";""; diff --git a/hardware/batt/v0.2/cubesatsim-batt-0.2_bottom.png b/hardware/batt/v0.2/cubesatsim-batt-0.2_bottom.png new file mode 100644 index 00000000..c053569d Binary files /dev/null and b/hardware/batt/v0.2/cubesatsim-batt-0.2_bottom.png differ diff --git a/hardware/batt/v0.2/cubesatsim-batt-0.2_gerbers.zip b/hardware/batt/v0.2/cubesatsim-batt-0.2_gerbers.zip new file mode 100644 index 00000000..afccf4e7 Binary files /dev/null and b/hardware/batt/v0.2/cubesatsim-batt-0.2_gerbers.zip differ diff --git a/hardware/batt/v0.2/cubesatsim-batt-0.2_pcb.png b/hardware/batt/v0.2/cubesatsim-batt-0.2_pcb.png new file mode 100644 index 00000000..1f5eb6c4 Binary files /dev/null and b/hardware/batt/v0.2/cubesatsim-batt-0.2_pcb.png differ diff --git a/hardware/batt/v0.2/cubesatsim-batt-0.2_pour.png b/hardware/batt/v0.2/cubesatsim-batt-0.2_pour.png new file mode 100644 index 00000000..0ef116aa Binary files /dev/null and b/hardware/batt/v0.2/cubesatsim-batt-0.2_pour.png differ diff --git a/hardware/batt/v0.2/cubesatsim-batt-0.2_schematic.pdf b/hardware/batt/v0.2/cubesatsim-batt-0.2_schematic.pdf new file mode 100644 index 00000000..cf944c31 Binary files /dev/null and b/hardware/batt/v0.2/cubesatsim-batt-0.2_schematic.pdf differ diff --git a/hardware/batt/v0.2/cubesatsim-batt-0.2_tnames.pdf b/hardware/batt/v0.2/cubesatsim-batt-0.2_tnames.pdf new file mode 100644 index 00000000..8e8c501a Binary files /dev/null and b/hardware/batt/v0.2/cubesatsim-batt-0.2_tnames.pdf differ diff --git a/hardware/batt/v0.2/cubesatsim-batt-0.2_top.png b/hardware/batt/v0.2/cubesatsim-batt-0.2_top.png new file mode 100644 index 00000000..6d8da6a5 Binary files /dev/null and b/hardware/batt/v0.2/cubesatsim-batt-0.2_top.png differ diff --git a/hardware/batt/v0.2/readme.md b/hardware/batt/v0.2/readme.md new file mode 100644 index 00000000..26e084cf --- /dev/null +++ b/hardware/batt/v0.2/readme.md @@ -0,0 +1 @@ +The Battery board for the Pico diff --git a/hardware/framev2/CubeSatSim_Frame_Side_v2.stl b/hardware/framev2/CubeSatSim_Frame_Side_v2.stl new file mode 100644 index 00000000..4af818f1 Binary files /dev/null and b/hardware/framev2/CubeSatSim_Frame_Side_v2.stl differ diff --git a/hardware/framev2/Cubesat_Bottom_Top_Frame_Holes.stl b/hardware/framev2/Cubesat_Bottom_Top_Frame_Holes.stl new file mode 100644 index 00000000..2b17ea04 Binary files /dev/null and b/hardware/framev2/Cubesat_Bottom_Top_Frame_Holes.stl differ diff --git a/hardware/framev2/readme.md b/hardware/framev2/readme.md new file mode 100644 index 00000000..683c9b42 --- /dev/null +++ b/hardware/framev2/readme.md @@ -0,0 +1 @@ +These are the updated frame parts. You need to print two of each. diff --git a/hardware/pico/v0.4/cubesatsim-pico-0.4_bottom.png b/hardware/pico/v0.4/cubesatsim-pico-0.4_bottom.png index 167d86da..037bce8a 100644 Binary files a/hardware/pico/v0.4/cubesatsim-pico-0.4_bottom.png and b/hardware/pico/v0.4/cubesatsim-pico-0.4_bottom.png differ diff --git a/hardware/pico/v0.4/cubesatsim-pico-0.4_top.png b/hardware/pico/v0.4/cubesatsim-pico-0.4_top.png index ee72d767..c47f9064 100644 Binary files a/hardware/pico/v0.4/cubesatsim-pico-0.4_top.png and b/hardware/pico/v0.4/cubesatsim-pico-0.4_top.png differ diff --git a/hardware/pico/v0.4/readme.md b/hardware/pico/v0.4/readme.md index 68424c9f..d383ddc1 100644 --- a/hardware/pico/v0.4/readme.md +++ b/hardware/pico/v0.4/readme.md @@ -1,5 +1,19 @@ Here is information about the 4th Beta version of CubeSatSim Pico PCB + Changes from v0.3 + +- Fix soldermask on USB-C board +- Move Si5351 board up +- Make chip antenna longer +- Add SMD RBF +- Change analog switch SMD footprints to SOT-23-5 +- Fixed crystal pin 1 label +- Replace JP5 with a normally open pad on top with solder paste on it +- Solder resist on top of SMA for ground pins +- VBUS on Pico to USB-C through Diode - red charging light will illuminate, RBF work except for when micro USB connected to Pico +- Camera connector mounted on PCB bottom + + The files here are for a single board, the CubeSatSim Pico which replaces the STEM Payload Board and the Raspberry Pi Zero. cubesatsim-pico-0.4.G* -- All gerber files used to fabricate PCBs along with .TXT drill file diff --git a/hardware/pico/v0.5/cubesatsim-pico-0.5.mnb b/hardware/pico/v0.5/cubesatsim-pico-0.5.mnb new file mode 100644 index 00000000..34ccee96 --- /dev/null +++ b/hardware/pico/v0.5/cubesatsim-pico-0.5.mnb @@ -0,0 +1,21 @@ +D1 19.74 46.48 0 DNI/1N5817 D-2.5 +D3 66.09 65.79 0 1N5817 D-2.5 +D5 46.33 11.13 180 DNI-1N5817 D-2.5 +D6 50.06 9.96 270 DNI/5V1 Zener 1W ZDIO-2.5 +D7 72.77 9.70 0 1N5817 D-2.5 +D9 67.95 10.62 180 1N4148 D-2.5 +JP1 75.41 18.06 0 JUMPER-SMT_2_NC_TRACE_SILK SMT-JUMPER_2_NC_TRACE_SILK +JP2 34.49 46.08 180 JUMPER-SMT_2_NO_SILK SMT-JUMPER_2_NO_SILK +JP3 5.51 69.16 270 JUMPER-SMT_2_NO_SILK SMT-JUMPER_2_NO_SILK +JP4 29.79 54.89 0 JUMPER-SMT_2_NO_SILK SMT-JUMPER_2_NO_SILK +JP5 74.93 68.28 270 JUMPER-SMT_2_NO_SILK SMT-JUMPER_2_NO_SILK +JP6 22.12 23.72 180 JUMPER-SMT_2_NC_TRACE_SILK SMT-JUMPER_2_NC_TRACE_SILK +JP7 75.03 45.06 180 JUMPER-SMT_2_NC_TRACE_SILK SMT-JUMPER_2_NC_TRACE_SILK +JP8 64.97 45.06 0 JUMPER-SMT_2_NC_TRACE_SILK SMT-JUMPER_2_NC_TRACE_SILK +JP9 52.48 62.28 0 JUMPER-SMT_2_NC_TRACE_SILK SMT-JUMPER_2_NC_TRACE_SILK +JP10 36.55 62.31 180 JUMPER-SMT_2_NC_TRACE_SILK SMT-JUMPER_2_NC_TRACE_SILK +JP11 22.12 26.67 180 JUMPER-SMT_2_NC_TRACE_SILK SMT-JUMPER_2_NC_TRACE_SILK +JP12 22.10 20.83 180 JUMPER-SMT_2_NO_SILK SMT-JUMPER_2_NO_SILK +JP13 22.02 29.72 180 JUMPER-SMT_2_NO_SILK SMT-JUMPER_2_NO_SILK +X1 73.61 73.10 270 SC1464-ND PG203J +X11 5.36 74.55 180 SMA-VERT SMA-VERT diff --git a/hardware/pico/v0.5/cubesatsim-pico-0.5.mnt b/hardware/pico/v0.5/cubesatsim-pico-0.5.mnt new file mode 100644 index 00000000..860182d7 --- /dev/null +++ b/hardware/pico/v0.5/cubesatsim-pico-0.5.mnt @@ -0,0 +1,20 @@ +C6 6.20 65.48 0 DNI/0.47uF C0603 +E1 17.94 77.42 0 ANT-916-CHP-T XDCR_ANT-916-CHP-T +FL1 16.48 72.14 90 DNI/SF2176E SF2176E +J1 32.55 66.61 0 CONN_20X2 2X20 +J4 34.16 10.95 180 1x8 female right angle header 1X08_NO_SILK +J8 39.17 71.55 0 Sparkfun USB-C Breakout 1X06_NO_SILK +J9 39.34 73.70 180 DNI/USB4105-GF-A or GT-USB-7010B USB-C-16P-2LAYER-PADS +R2 56.11 62.23 0 DNI/1k R0603 +R5 33.10 75.97 180 DNI/5.1k R0603 +R6 45.62 76.02 0 DNI/5.1k R0603 +R10 60.73 62.23 180 DNI/1k R0603 +R23 64.24 41.91 90 DNI/4.7k R0603 +R25 77.95 41.81 90 DNI/4.7k R0603 +R28 10.74 75.59 0 DNI/0R R0603 +S2 77.82 9.55 270 DNI/DTSM-6 DTSM-6 +U1 54.43 24.61 270 Raspberry Pi Pico PICO-PKG-NO_DEBUG +U6 39.24 51.22 270 SRFRS0W5 SR_FRS_0W5 +U7 12.34 71.68 90 U7 B39871B3725U410_TDK +U10 7.09 62.13 180 SI5351A-B-GT 10MSOP_3X3_SIL +Y1 12.47 62.00 0 ABM8G-25.000MHZ-07-B1G-T3 CRYSTAL_ABM8G_ABR diff --git a/hardware/pico/v0.5/cubesatsim-pico-0.5_bnames.pdf b/hardware/pico/v0.5/cubesatsim-pico-0.5_bnames.pdf new file mode 100644 index 00000000..30cf8a75 Binary files /dev/null and b/hardware/pico/v0.5/cubesatsim-pico-0.5_bnames.pdf differ diff --git a/hardware/pico/v0.5/cubesatsim-pico-0.5_bom.csv.txt b/hardware/pico/v0.5/cubesatsim-pico-0.5_bom.csv.txt new file mode 100644 index 00000000..50fc31f5 --- /dev/null +++ b/hardware/pico/v0.5/cubesatsim-pico-0.5_bom.csv.txt @@ -0,0 +1,79 @@ +"Part";"Value";"Device";"Package";"Description";""; +"C2";"100nF";"CAPPTH";"CAP-PTH-SMALL";"Capacitor";""; +"C4";"47uF";"CAPPTH";"CAP-PTH-SMALL";"Capacitor";""; +"C5";"100nF";"CAPPTH";"CAP-PTH-SMALL";"Capacitor";""; +"C6";"DNI/0.47uF";"CERAMIC-10PF-50V-5%-NPO(0603)";"C0603";"302010097";""; +"D1";"DNI/1N5817";"DIODE-D-2.5";"D-2.5";"DIODE";""; +"D3";"1N5817";"DIODE-D-2.5";"D-2.5";"DIODE";""; +"D5";"DNI-1N5817";"DIODE-D-2.5";"D-2.5";"DIODE";""; +"D6";"DNI/5V1 Zener 1W";"ZENER-DIODEZD-2.5";"ZDIO-2.5";"Z-Diode";""; +"D7";"1N5817";"DIODE-D-2.5";"D-2.5";"DIODE";""; +"D9";"1N4148";"DIODE-D-2.5";"D-2.5";"DIODE";""; +"E1";"ANT-916-CHP-T";"ANT-916-CHP-T";"XDCR_ANT-916-CHP-T";"868MHz ISM, LoRa, Sensor Networks, SigFox Chip RF Antenna 863MHz ~ 873MHz 0.5dBi Solder Surface Mount Check prices";""; +"FL1";"DNI/SF2176E";"SF2176E";"SF2176E";"Signal Conditioning FILTER, SAW, 433.92 MHZ, 6SMD";""; +"J1";"CONN_20X2";"CONN_20X2";"2X20";"Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";""; +"J2";"MPU6050";"M08NO_SILK_FEMALE_PTH";"1X08_NO_SILK@1";"Header 8";""; +"J3";"BME280";"M04NO_SILK_ALL_ROUND";"1X04_NO_SILK_ALL_ROUND";"Header 4";""; +"J4";"1x8 female right angle header";"CONN_08NO_SILK_FEMALE_PTH";"1X08_NO_SILK";"Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";""; +"J5";"DNI/Sparkfun QWIIC Breakout";"CONN_041X04_NO_SILK";"1X04_NO_SILK";"Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";""; +"J6";"DNI/Sparkfun Si5351 Breakout";"CONN_07NO_SILK";"1X07_NO_SILK";"Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";""; +"J7";"DNI/1x4 pin header";"CONN_041X04_NO_SILK";"1X04_NO_SILK";"Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";""; +"J8";"Sparkfun USB-C Breakout";"CONN_06NO_SILK_FEMALE_PTH";"1X06_NO_SILK";"Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";""; +"J9";"DNI/USB4105-GF-A or GT-USB-7010B";"USB_C_2-LAYER_PADS";"USB-C-16P-2LAYER-PADS";"USB Type C 16Pin Connector";""; +"J10";"DNI/Micro JST";"M02JST-PTH-VERT";"JST-2-PTH-VERT";"Standard 2-pin 0.1" header. Use with";""; +"J11";"DNI/Test Point for MIC_IN";"CONN_01PTH_NO_SILK_YES_STOP";"1X01_NO_SILK";"Single connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";""; +"J13";"";"CONN_01PTH_NO_SILK_YES_STOP";"1X01_NO_SILK";"Single connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";""; +"JP1";"JUMPER-SMT_2_NC_TRACE_SILK";"JUMPER-SMT_2_NC_TRACE_SILK";"SMT-JUMPER_2_NC_TRACE_SILK";"Normally closed trace jumper";""; +"JP2";"JUMPER-SMT_2_NO_SILK";"JUMPER-SMT_2_NO_SILK";"SMT-JUMPER_2_NO_SILK";"Normally open jumper";""; +"JP3";"JUMPER-SMT_2_NO_SILK";"JUMPER-SMT_2_NO_SILK";"SMT-JUMPER_2_NO_SILK";"Normally open jumper";""; +"JP4";"JUMPER-SMT_2_NO_SILK";"JUMPER-SMT_2_NO_SILK";"SMT-JUMPER_2_NO_SILK";"Normally open jumper";""; +"JP5";"JUMPER-SMT_2_NO_SILK";"JUMPER-SMT_2_NO_SILK";"SMT-JUMPER_2_NO_SILK";"Normally open jumper";""; +"JP6";"JUMPER-SMT_2_NC_TRACE_SILK";"JUMPER-SMT_2_NC_TRACE_SILK";"SMT-JUMPER_2_NC_TRACE_SILK";"Normally closed trace jumper";""; +"JP7";"JUMPER-SMT_2_NC_TRACE_SILK";"JUMPER-SMT_2_NC_TRACE_SILK";"SMT-JUMPER_2_NC_TRACE_SILK";"Normally closed trace jumper";""; +"JP8";"JUMPER-SMT_2_NC_TRACE_SILK";"JUMPER-SMT_2_NC_TRACE_SILK";"SMT-JUMPER_2_NC_TRACE_SILK";"Normally closed trace jumper";""; +"JP9";"JUMPER-SMT_2_NC_TRACE_SILK";"JUMPER-SMT_2_NC_TRACE_SILK";"SMT-JUMPER_2_NC_TRACE_SILK";"Normally closed trace jumper";""; +"JP10";"JUMPER-SMT_2_NC_TRACE_SILK";"JUMPER-SMT_2_NC_TRACE_SILK";"SMT-JUMPER_2_NC_TRACE_SILK";"Normally closed trace jumper";""; +"JP11";"JUMPER-SMT_2_NC_TRACE_SILK";"JUMPER-SMT_2_NC_TRACE_SILK";"SMT-JUMPER_2_NC_TRACE_SILK";"Normally closed trace jumper";""; +"JP12";"JUMPER-SMT_2_NO_SILK";"JUMPER-SMT_2_NO_SILK";"SMT-JUMPER_2_NO_SILK";"Normally open jumper";""; +"JP13";"JUMPER-SMT_2_NO_SILK";"JUMPER-SMT_2_NO_SILK";"SMT-JUMPER_2_NO_SILK";"Normally open jumper";""; +"LED1";"Green 5mm";"LED3MM";"LED3MM";"LED";""; +"LED2";"Blue 5mm";"LED3MM";"LED3MM";"LED";""; +"LED3";"Green 5mm";"LED3MM";"LED3MM";"LED";""; +"LED4";"Blue 5mm";"LED3MM";"LED3MM";"LED";""; +"LED5";"Red 5mm";"LED3MM";"LED3MM";"LED";""; +"R1";"1K";"RESISTORPTH-1/4W-VERT-KIT";"AXIAL-0.1EZ";"Resistor";""; +"R2";"DNI/1k";"R-EU_R0603";"R0603";"RESISTOR, European symbol";""; +"R3";"220";"RESISTORPTH-1/4W-VERT-KIT";"AXIAL-0.1EZ";"Resistor";""; +"R5";"DNI/5.1k";"R-EU_R0603";"R0603";"RESISTOR, European symbol";""; +"R6";"DNI/5.1k";"R-EU_R0603";"R0603";"RESISTOR, European symbol";""; +"R8";"100";"RESISTORPTH-1/4W-VERT-KIT";"AXIAL-0.1EZ";"Resistor";""; +"R9";"1K";"RESISTORPTH-1/4W-VERT-KIT";"AXIAL-0.1EZ";"Resistor";""; +"R10";"DNI/1k";"R-EU_R0603";"R0603";"RESISTOR, European symbol";""; +"R11";"10K";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";""; +"R13";"1k";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";""; +"R14";"100";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";""; +"R20";"4.7k";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";""; +"R21";"DNI/4.7k";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";""; +"R22";"4.7k";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";""; +"R23";"DNI/4.7k";"SMD-RES-1.2K-1%-1/10W(0603)";"R0603";"301010206";""; +"R24";"DNI/4.7k";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";""; +"R25";"DNI/4.7k";"SMD-RES-1.2K-1%-1/10W(0603)";"R0603";"301010206";""; +"R26";"68";"RESISTORPTH-1/4W-VERT-KIT";"AXIAL-0.1EZ";"Resistor";""; +"R28";"DNI/0R";"SMD-RES-1.2K-1%-1/10W(0603)";"R0603";"301010206";""; +"R29";"180";"RESISTORPTH-1/4W-VERT-KIT";"AXIAL-0.1EZ";"Resistor";""; +"R31";"68";"RESISTORPTH-1/4W-VERT-KIT";"AXIAL-0.1EZ";"Resistor";""; +"R32";"1k";"RESISTORPTH-1/4W-VERT-KIT";"AXIAL-0.1EZ";"Resistor";""; +"R34";"100";"RESISTORPTH-1/4W-VERT-KIT";"AXIAL-0.1EZ";"Resistor";""; +"R35";"220";"RESISTORPTH-1/4W-VERT-KIT";"AXIAL-0.1EZ";"Resistor";""; +"S1";"RA-SPST";"RA-SPST";"RA-SPST";"";""; +"S2";"DNI/DTSM-6";"DTSM-6";"DTSM-6";"";""; +"U1";"Raspberry Pi Pico";"RASPBERRY_PICO-NO_DEBUG";"PICO-PKG-NO_DEBUG";"";""; +"U2";"TS12A4514PG4";"TS12A4515PG4";"P8_TEX";"";""; +"U4";"TS12A4514PG4";"TS12A4515PG4";"P8_TEX";"";""; +"U6";"SRFRS0W5";"SR_FRS_0W5";"SR_FRS_0W5";"";""; +"U7";"U7";"B39871B3725U410";"B39871B3725U410_TDK";"";""; +"U8";"TS12A4514PG4";"TS12A4515PG4";"P8_TEX";"";""; +"U10";"SI5351A-B-GT";"SI5351A-B-GT";"10MSOP_3X3_SIL";"";""; +"X1";"SC1464-ND";"PG203J";"PG203J";"MIC/HEADPHONE JACK";""; +"X11";"SMA-VERT";"SMA-VERT";"SMA-VERT";"";""; +"Y1";"ABM8G-25.000MHZ-07-B1G-T3";"ABM8G-25.000MHZ-07-B1G-T3";"CRYSTAL_ABM8G_ABR";"";""; diff --git a/hardware/pico/v0.5/cubesatsim-pico-0.5_bottom.png b/hardware/pico/v0.5/cubesatsim-pico-0.5_bottom.png new file mode 100644 index 00000000..e0ac662f Binary files /dev/null and b/hardware/pico/v0.5/cubesatsim-pico-0.5_bottom.png differ diff --git a/hardware/pico/v0.5/cubesatsim-pico-0.5_gerbers.zip b/hardware/pico/v0.5/cubesatsim-pico-0.5_gerbers.zip new file mode 100644 index 00000000..0d514245 Binary files /dev/null and b/hardware/pico/v0.5/cubesatsim-pico-0.5_gerbers.zip differ diff --git a/hardware/pico/v0.5/cubesatsim-pico-0.5_pcb.png b/hardware/pico/v0.5/cubesatsim-pico-0.5_pcb.png new file mode 100644 index 00000000..c158391e Binary files /dev/null and b/hardware/pico/v0.5/cubesatsim-pico-0.5_pcb.png differ diff --git a/hardware/pico/v0.5/cubesatsim-pico-0.5_pour.png b/hardware/pico/v0.5/cubesatsim-pico-0.5_pour.png new file mode 100644 index 00000000..732b6c84 Binary files /dev/null and b/hardware/pico/v0.5/cubesatsim-pico-0.5_pour.png differ diff --git a/hardware/pico/v0.5/cubesatsim-pico-0.5_schematic.pdf b/hardware/pico/v0.5/cubesatsim-pico-0.5_schematic.pdf new file mode 100644 index 00000000..83c8bdc7 Binary files /dev/null and b/hardware/pico/v0.5/cubesatsim-pico-0.5_schematic.pdf differ diff --git a/hardware/pico/v0.5/cubesatsim-pico-0.5_tnames.pdf b/hardware/pico/v0.5/cubesatsim-pico-0.5_tnames.pdf new file mode 100644 index 00000000..0e161a5e Binary files /dev/null and b/hardware/pico/v0.5/cubesatsim-pico-0.5_tnames.pdf differ diff --git a/hardware/pico/v0.5/cubesatsim-pico-0.5_top.png b/hardware/pico/v0.5/cubesatsim-pico-0.5_top.png new file mode 100644 index 00000000..eb23cc23 Binary files /dev/null and b/hardware/pico/v0.5/cubesatsim-pico-0.5_top.png differ diff --git a/hardware/pico/v0.5/readme.md b/hardware/pico/v0.5/readme.md new file mode 100644 index 00000000..193b67ac --- /dev/null +++ b/hardware/pico/v0.5/readme.md @@ -0,0 +1,43 @@ +Here is information about the Beta version of the CubeSatSim Pico PCB + +Changes since the v0.4 board: + +- 68 Ohm resistor SMD is now 0805 +- Added cutable trace JP1 so Pico 5V is supplied through the RBF +- Moved AUDIO_OUT on GPIO to a Pi Zero PWM pin +- Moved SWTX on GPIO to Pi Zero TX pin +- Added back GPIO clock pin to RF +- Added a Pico GPIO connection to a pin to test wake for Camera +- Made solering Pico pins easier +- Moved diode D3 away from GPIO header + + +The files here are for a single board, the CubeSatSim Pico which replaces the STEM Payload Board and the Raspberry Pi Zero. + +cubesatsim-pico-0.5_gerbers.zip -- All gerber files used to fabricate PCBs along with .TXT drill file + +cubesatsim-pico-0.5_schematic.pdf -- Schematic + +cubesatsim-pico-0.5_pcb.png -- View of board + +cubesatsim-pico-0.5_pour.png -- View of board with fill + +cubesatsim-main-pico-0.5_top.png -- Top view of PCB generated by gerbers + +cubesatsim-main-pico-0.5_bottom.png -- Bottom view of PCB generated by gerbers + +cubesatsim-main-pico-0.5_tNames.pdf -- Top outline of components + +cubesatsim-main-pico-0.5_bNames.pdf -- Bottom outline of components + +cubesatsim-main-pico-0.5.mnt -- top SMD component placement data + +cubesatsim-main-pico-0.5.mnb -- bottom SMD component placement data + +cubesatsim-main-pico-0.5_bom.csv.txt -- Bill of Materials in CSV format + +I use PCBWay to fabricate PCBs https://pcbway.com + +Here is a very draft bill of materials https://octopart.com/bom-tool/DjMqIbKX + +Draft wiki instructions: https://github.com/alanbjohnston/CubeSatSim/wiki/Pico-v0.4-Board diff --git a/hardware/pico/v0.6s/cubesatsim-pico-0.6s.mnb b/hardware/pico/v0.6s/cubesatsim-pico-0.6s.mnb new file mode 100644 index 00000000..07adc094 --- /dev/null +++ b/hardware/pico/v0.6s/cubesatsim-pico-0.6s.mnb @@ -0,0 +1,23 @@ +D1 19.74 46.48 0 DNI/1N5817 D-2.5 +D3 66.09 65.79 0 1N5817 D-2.5 +D5 46.33 11.13 180 DNI-1N5817 D-2.5 +D6 50.06 9.96 270 DNI/5V1 Zener 1W ZDIO-2.5 +D7 72.77 9.70 0 1N5817 D-2.5 +D9 67.95 10.62 180 1N4148 D-2.5 +JP1 75.41 18.06 0 JUMPER-SMT_2_NC_TRACE_SILK SMT-JUMPER_2_NC_TRACE_SILK +JP2 34.49 46.08 180 JUMPER-SMT_2_NO_SILK SMT-JUMPER_2_NO_SILK +JP3 5.51 69.16 270 JUMPER-SMT_2_NO_SILK SMT-JUMPER_2_NO_SILK +JP4 29.79 54.89 0 JUMPER-SMT_2_NO_SILK SMT-JUMPER_2_NO_SILK +JP5 74.55 68.07 270 JUMPER-SMT_2_NO_SILK SMT-JUMPER_2_NO_SILK +JP6 22.12 23.72 180 JUMPER-SMT_2_NC_TRACE_SILK SMT-JUMPER_2_NC_TRACE_SILK +JP7 75.03 45.06 180 JUMPER-SMT_2_NC_TRACE_SILK SMT-JUMPER_2_NC_TRACE_SILK +JP8 64.97 45.06 0 JUMPER-SMT_2_NC_TRACE_SILK SMT-JUMPER_2_NC_TRACE_SILK +JP9 52.48 62.28 0 JUMPER-SMT_2_NC_TRACE_SILK SMT-JUMPER_2_NC_TRACE_SILK +JP10 36.55 62.31 180 JUMPER-SMT_2_NC_TRACE_SILK SMT-JUMPER_2_NC_TRACE_SILK +JP11 22.12 26.67 180 JUMPER-SMT_2_NC_TRACE_SILK SMT-JUMPER_2_NC_TRACE_SILK +JP12 22.10 20.83 180 JUMPER-SMT_2_NO_SILK SMT-JUMPER_2_NO_SILK +JP13 22.02 29.72 180 JUMPER-SMT_2_NO_SILK SMT-JUMPER_2_NO_SILK +JP14 46.61 8.18 180 JUMPER-SMT_2_NC_TRACE_SILK SMT-JUMPER_2_NC_TRACE_SILK +JP15 18.21 37.59 90 JUMPER-SMT_2_NO_SILK SMT-JUMPER_2_NO_SILK +X1 73.61 73.10 270 SC1464-ND PG203J +X11 5.36 74.55 180 SMA-VERT SMA-VERT diff --git a/hardware/pico/v0.6s/cubesatsim-pico-0.6s.mnt b/hardware/pico/v0.6s/cubesatsim-pico-0.6s.mnt new file mode 100644 index 00000000..12a57743 --- /dev/null +++ b/hardware/pico/v0.6s/cubesatsim-pico-0.6s.mnt @@ -0,0 +1,48 @@ +C1 56.41 45.62 270 DNI/100nF C0603 +C3 55.68 55.50 0 DNI/47uF C0603 +C6 6.63 65.18 0 DNI/0.47uF C0603 +C7 68.35 4.14 270 DNI/100nF C0603 +D2 65.96 68.20 180 DNI/B5817WS SOD-323F +D4 46.36 8.64 0 DNI/B5817WS SOD-323F +D8 68.05 8.28 0 DNI/4148WS SOD-323F +D10 72.59 7.21 180 DNI/B5817WS SOD-323F +E1 17.94 77.42 0 ANT-916-CHP-T XDCR_ANT-916-CHP-T +FL1 16.48 72.14 90 DNI/SF2176E SF2176E +J1 32.55 66.61 0 CONN_20X2 2X20 +J4 34.16 10.95 180 1x8 female right angle header 1X08_NO_SILK +J8 39.17 71.55 0 Sparkfun USB-C Breakout 1X06_NO_SILK +J9 39.34 73.70 180 DNI/USB4105-GF-A or GT-USB-7010B USB-C-16P-2LAYER-PADS +J12 72.03 72.70 90 MJ-3523-SMT CUI_MJ-3523-SMT +LED6 65.43 78.08 90 DNI/Lite-On LTST-C191KGKT Green LED-0603 +LED7 28.78 78.16 90 DNI/Lite-On LTST-C191TBKT Blue LED-0603 +LED8 51.97 78.05 90 DNI/B1911USD-20D000114U1930 RED LED-0603 +LED9 1.96 50.75 180 DNI/B1911NG--20D000214U1930 GREEN LED-0603 +LED10 2.08 59.74 180 DNI/Lite-On LTST-C191TBKT Blue LED-0603 +R2 56.11 62.23 0 DNI/1k R0603 +R4 55.60 42.98 0 DNI/220 R0603 +R5 33.10 75.97 270 DNI/5.1k R0603 +R6 45.62 76.02 90 DNI/5.1k R0603 +R7 56.54 51.41 90 DNI/100 R0603 +R10 60.73 62.23 180 DNI/1k R0603 +R12 63.58 8.38 0 DNI/10k R0603 +R15 1.65 43.28 90 DNI/1.0K 0603-RES +R16 2.62 63.27 270 DNI/100 0603-RES +R17 65.43 71.70 90 DNI/1.0K 0603-RES +R18 28.85 72.24 90 DNI/3.3K 0603-RES +R19 52.10 72.39 90 DNI/220 0603-RES +R23 64.24 41.91 90 DNI/4.7k R0603 +R25 77.95 41.81 90 DNI/4.7k R0603 +R27 27.10 59.72 0 DNI/68 R0805 +R28 10.74 75.59 0 DNI/0R R0603 +R30 23.83 59.72 270 DNI/180 R0603 +R33 19.96 59.74 0 DNI/68 R0805 +S2 77.82 9.55 270 DNI/DTSM-6 DTSM-6 +S3 57.04 77.34 270 DNI/DTSM-6 DTSM-6 +U1 54.43 24.61 270 Raspberry Pi Pico PICO-PKG-NO_DEBUG +U6 39.24 51.22 270 SRFRS0W5 SR_FRS_0W5 +U7 12.34 71.68 90 U7 B39871B3725U410_TDK +U9 19.63 53.06 270 TS12A4514DBVR DBV5 +U10 7.09 62.13 180 SI5351A-B-GT 10MSOP_3X3_SIL +U11 9.25 55.25 270 TS12A4514DBVR DBV5 +U12 9.47 45.01 270 TS12A4514DBVR DBV5 +Y1 12.47 62.00 0 ABM8G-25.000MHZ-07-B1G-T3 CRYSTAL_ABM8G_ABR diff --git a/hardware/pico/v0.6s/cubesatsim-pico-0.6s_bnames.pdf b/hardware/pico/v0.6s/cubesatsim-pico-0.6s_bnames.pdf new file mode 100644 index 00000000..221d33cd Binary files /dev/null and b/hardware/pico/v0.6s/cubesatsim-pico-0.6s_bnames.pdf differ diff --git a/hardware/pico/v0.6s/cubesatsim-pico-0.6s_bom.csv.txt b/hardware/pico/v0.6s/cubesatsim-pico-0.6s_bom.csv.txt new file mode 100644 index 00000000..601e68b0 --- /dev/null +++ b/hardware/pico/v0.6s/cubesatsim-pico-0.6s_bom.csv.txt @@ -0,0 +1,110 @@ +"Part";"Value";"Device";"Package";"Description";""; +"C1";"DNI/100nF";"CERAMIC-10PF-50V-5%-NPO(0603)";"C0603";"302010097";""; +"C2";"100nF";"CAPPTH";"CAP-PTH-SMALL";"Capacitor";""; +"C3";"DNI/47uF";"CERAMIC-10PF-50V-5%-NPO(0603)";"C0603";"302010097";""; +"C4";"47uF";"CAPPTH";"CAP-PTH-SMALL";"Capacitor";""; +"C5";"100nF";"CAPPTH";"CAP-PTH-SMALL";"Capacitor";""; +"C6";"DNI/0.47uF";"CERAMIC-10PF-50V-5%-NPO(0603)";"C0603";"302010097";""; +"C7";"DNI/100nF";"CERAMIC-10PF-50V-5%-NPO(0603)";"C0603";"302010097";""; +"D1";"DNI/1N5817";"DIODE-D-2.5";"D-2.5";"DIODE";""; +"D2";"DNI/B5817WS";"DIODESOD-323F";"SOD-323F";"Diode";""; +"D3";"1N5817";"DIODE-D-2.5";"D-2.5";"DIODE";""; +"D4";"DNI/B5817WS";"DIODESOD-323F";"SOD-323F";"Diode";""; +"D5";"DNI-1N5817";"DIODE-D-2.5";"D-2.5";"DIODE";""; +"D6";"DNI/5V1 Zener 1W";"ZENER-DIODEZD-2.5";"ZDIO-2.5";"Z-Diode";""; +"D7";"1N5817";"DIODE-D-2.5";"D-2.5";"DIODE";""; +"D8";"DNI/4148WS";"DIODESOD-323F";"SOD-323F";"Diode";""; +"D9";"1N4148";"DIODE-D-2.5";"D-2.5";"DIODE";""; +"D10";"DNI/B5817WS";"DIODESOD-323F";"SOD-323F";"Diode";""; +"E1";"ANT-916-CHP-T";"ANT-916-CHP-T";"XDCR_ANT-916-CHP-T";"868MHz ISM, LoRa, Sensor Networks, SigFox Chip RF Antenna 863MHz ~ 873MHz 0.5dBi Solder Surface Mount Check prices";""; +"FL1";"DNI/SF2176E";"SF2176E";"SF2176E";"Signal Conditioning FILTER, SAW, 433.92 MHZ, 6SMD";""; +"J1";"CONN_20X2";"CONN_20X2";"2X20";"Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";""; +"J2";"MPU6050";"M08NO_SILK_FEMALE_PTH";"1X08_NO_SILK@1";"Header 8";""; +"J3";"BME280";"M04NO_SILK_ALL_ROUND";"1X04_NO_SILK_ALL_ROUND";"Header 4";""; +"J4";"1x8 female right angle header";"CONN_08NO_SILK_FEMALE_PTH";"1X08_NO_SILK";"Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";""; +"J5";"DNI/Sparkfun QWIIC Breakout";"CONN_041X04_NO_SILK";"1X04_NO_SILK";"Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";""; +"J6";"DNI/Sparkfun Si5351 Breakout";"CONN_07NO_SILK";"1X07_NO_SILK";"Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";""; +"J7";"DNI/1x4 pin header";"CONN_041X04_NO_SILK";"1X04_NO_SILK";"Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";""; +"J8";"Sparkfun USB-C Breakout";"CONN_06NO_SILK_FEMALE_PTH";"1X06_NO_SILK";"Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";""; +"J9";"DNI/USB4105-GF-A or GT-USB-7010B";"USB_C_2-LAYER_PADS";"USB-C-16P-2LAYER-PADS";"USB Type C 16Pin Connector";""; +"J10";"DNI/Micro JST";"M02JST-PTH-VERT";"JST-2-PTH-VERT";"Standard 2-pin 0.1" header. Use with";""; +"J11";"DNI/Test Point for MIC_IN";"CONN_01PTH_NO_SILK_YES_STOP";"1X01_NO_SILK";"Single connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";""; +"J12";"MJ-3523-SMT";"MJ-3523-SMT";"CUI_MJ-3523-SMT";"3.5 mm, Mono, Right Angle, Surface Mount (SMT), Audio Jack Connector";""; +"J13";"";"CONN_01PTH_NO_SILK_YES_STOP";"1X01_NO_SILK";"Single connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";""; +"J14";"";"CONN_01PTH_NO_SILK_YES_STOP";"1X01_NO_SILK";"Single connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";""; +"JP1";"JUMPER-SMT_2_NC_TRACE_SILK";"JUMPER-SMT_2_NC_TRACE_SILK";"SMT-JUMPER_2_NC_TRACE_SILK";"Normally closed trace jumper";""; +"JP2";"JUMPER-SMT_2_NO_SILK";"JUMPER-SMT_2_NO_SILK";"SMT-JUMPER_2_NO_SILK";"Normally open jumper";""; +"JP3";"JUMPER-SMT_2_NO_SILK";"JUMPER-SMT_2_NO_SILK";"SMT-JUMPER_2_NO_SILK";"Normally open jumper";""; +"JP4";"JUMPER-SMT_2_NO_SILK";"JUMPER-SMT_2_NO_SILK";"SMT-JUMPER_2_NO_SILK";"Normally open jumper";""; +"JP5";"JUMPER-SMT_2_NO_SILK";"JUMPER-SMT_2_NO_SILK";"SMT-JUMPER_2_NO_SILK";"Normally open jumper";""; +"JP6";"JUMPER-SMT_2_NC_TRACE_SILK";"JUMPER-SMT_2_NC_TRACE_SILK";"SMT-JUMPER_2_NC_TRACE_SILK";"Normally closed trace jumper";""; +"JP7";"JUMPER-SMT_2_NC_TRACE_SILK";"JUMPER-SMT_2_NC_TRACE_SILK";"SMT-JUMPER_2_NC_TRACE_SILK";"Normally closed trace jumper";""; +"JP8";"JUMPER-SMT_2_NC_TRACE_SILK";"JUMPER-SMT_2_NC_TRACE_SILK";"SMT-JUMPER_2_NC_TRACE_SILK";"Normally closed trace jumper";""; +"JP9";"JUMPER-SMT_2_NC_TRACE_SILK";"JUMPER-SMT_2_NC_TRACE_SILK";"SMT-JUMPER_2_NC_TRACE_SILK";"Normally closed trace jumper";""; +"JP10";"JUMPER-SMT_2_NC_TRACE_SILK";"JUMPER-SMT_2_NC_TRACE_SILK";"SMT-JUMPER_2_NC_TRACE_SILK";"Normally closed trace jumper";""; +"JP11";"JUMPER-SMT_2_NC_TRACE_SILK";"JUMPER-SMT_2_NC_TRACE_SILK";"SMT-JUMPER_2_NC_TRACE_SILK";"Normally closed trace jumper";""; +"JP12";"JUMPER-SMT_2_NO_SILK";"JUMPER-SMT_2_NO_SILK";"SMT-JUMPER_2_NO_SILK";"Normally open jumper";""; +"JP13";"JUMPER-SMT_2_NO_SILK";"JUMPER-SMT_2_NO_SILK";"SMT-JUMPER_2_NO_SILK";"Normally open jumper";""; +"JP14";"JUMPER-SMT_2_NC_TRACE_SILK";"JUMPER-SMT_2_NC_TRACE_SILK";"SMT-JUMPER_2_NC_TRACE_SILK";"Normally closed trace jumper";""; +"JP15";"JUMPER-SMT_2_NO_SILK";"JUMPER-SMT_2_NO_SILK";"SMT-JUMPER_2_NO_SILK";"Normally open jumper";""; +"LED1";"Green 5mm";"LED3MM";"LED3MM";"LED";""; +"LED2";"Blue 5mm";"LED3MM";"LED3MM";"LED";""; +"LED3";"Green 5mm";"LED3MM";"LED3MM";"LED";""; +"LED4";"Blue 5mm";"LED3MM";"LED3MM";"LED";""; +"LED5";"Red 5mm";"LED3MM";"LED3MM";"LED";""; +"LED6";"DNI/Lite-On LTST-C191KGKT Green";"LED-GREEN0603";"LED-0603";"Green SMD LED";""; +"LED7";"DNI/Lite-On LTST-C191TBKT Blue";"LED-BLUE0603";"LED-0603";"Blue SMD LED";""; +"LED8";"DNI/B1911USD-20D000114U1930 RED";"LED-BLUE0603";"LED-0603";"Blue SMD LED";""; +"LED9";"DNI/B1911NG--20D000214U1930 GREEN";"LED-GREEN0603";"LED-0603";"Green SMD LED";""; +"LED10";"DNI/Lite-On LTST-C191TBKT Blue";"LED-GREEN0603";"LED-0603";"Green SMD LED";""; +"R1";"1K";"RESISTORPTH-1/4W-VERT-KIT";"AXIAL-0.1EZ";"Resistor";""; +"R2";"DNI/1k";"R-EU_R0603";"R0603";"RESISTOR, European symbol";""; +"R3";"220";"RESISTORPTH-1/4W-VERT-KIT";"AXIAL-0.1EZ";"Resistor";""; +"R4";"DNI/220";"SMD-RES-1.2K-1%-1/10W(0603)";"R0603";"301010206";""; +"R5";"DNI/5.1k";"R-EU_R0603";"R0603";"RESISTOR, European symbol";""; +"R6";"DNI/5.1k";"R-EU_R0603";"R0603";"RESISTOR, European symbol";""; +"R7";"DNI/100";"SMD-RES-1.2K-1%-1/10W(0603)";"R0603";"301010206";""; +"R8";"100";"RESISTORPTH-1/4W-VERT-KIT";"AXIAL-0.1EZ";"Resistor";""; +"R9";"1K";"RESISTORPTH-1/4W-VERT-KIT";"AXIAL-0.1EZ";"Resistor";""; +"R10";"DNI/1k";"R-EU_R0603";"R0603";"RESISTOR, European symbol";""; +"R11";"10K";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";""; +"R12";"DNI/10k";"R-EU_R0603";"R0603";"RESISTOR, European symbol";""; +"R13";"1k";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";""; +"R14";"100";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";""; +"R15";"DNI/1.0K";"RESISTOR0603";"0603-RES";"Resistor";""; +"R16";"DNI/100";"RESISTOR0603";"0603-RES";"Resistor";""; +"R17";"DNI/1.0K";"RESISTOR0603";"0603-RES";"Resistor";""; +"R18";"DNI/3.3K";"RESISTOR0603-RES";"0603-RES";"Resistor";""; +"R19";"DNI/220";"RESISTOR0603-RES";"0603-RES";"Resistor";""; +"R20";"4.7k";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";""; +"R21";"DNI/4.7k";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";""; +"R22";"4.7k";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";""; +"R23";"DNI/4.7k";"SMD-RES-1.2K-1%-1/10W(0603)";"R0603";"301010206";""; +"R24";"DNI/4.7k";"RESISTORPTH-1/4W-VERT";"AXIAL-0.1";"Resistor";""; +"R25";"DNI/4.7k";"SMD-RES-1.2K-1%-1/10W(0603)";"R0603";"301010206";""; +"R26";"68";"RESISTORPTH-1/4W-VERT-KIT";"AXIAL-0.1EZ";"Resistor";""; +"R27";"DNI/68";"R-US_R0805";"R0805";"RESISTOR, American symbol";""; +"R28";"DNI/0R";"SMD-RES-1.2K-1%-1/10W(0603)";"R0603";"301010206";""; +"R29";"180";"RESISTORPTH-1/4W-VERT-KIT";"AXIAL-0.1EZ";"Resistor";""; +"R30";"DNI/180";"SMD-RES-1.2K-1%-1/10W(0603)";"R0603";"301010206";""; +"R31";"68";"RESISTORPTH-1/4W-VERT-KIT";"AXIAL-0.1EZ";"Resistor";""; +"R32";"1k";"RESISTORPTH-1/4W-VERT-KIT";"AXIAL-0.1EZ";"Resistor";""; +"R33";"DNI/68";"R-US_R0805";"R0805";"RESISTOR, American symbol";""; +"R34";"100";"RESISTORPTH-1/4W-VERT-KIT";"AXIAL-0.1EZ";"Resistor";""; +"R35";"220";"RESISTORPTH-1/4W-VERT-KIT";"AXIAL-0.1EZ";"Resistor";""; +"S1";"RA-SPST";"RA-SPST";"RA-SPST";"";""; +"S2";"DNI/DTSM-6";"DTSM-6";"DTSM-6";"";""; +"S3";"DNI/DTSM-6";"DTSM-6";"DTSM-6";"";""; +"U1";"Raspberry Pi Pico";"RASPBERRY_PICO-NO_DEBUG";"PICO-PKG-NO_DEBUG";"";""; +"U2";"TS12A4514PG4";"TS12A4515PG4";"P8_TEX";"";""; +"U4";"TS12A4514PG4";"TS12A4515PG4";"P8_TEX";"";""; +"U6";"SRFRS0W5";"SR_FRS_0W5";"SR_FRS_0W5";"";""; +"U7";"U7";"B39871B3725U410";"B39871B3725U410_TDK";"";""; +"U8";"TS12A4514PG4";"TS12A4515PG4";"P8_TEX";"";""; +"U9";"TS12A4514DBVR";"TS12A4514DBVR";"DBV5";"";""; +"U10";"SI5351A-B-GT";"SI5351A-B-GT";"10MSOP_3X3_SIL";"";""; +"U11";"TS12A4514DBVR";"TS12A4514DBVR";"DBV5";"";""; +"U12";"TS12A4514DBVR";"TS12A4514DBVR";"DBV5";"";""; +"X1";"SC1464-ND";"PG203J";"PG203J";"MIC/HEADPHONE JACK";""; +"X11";"SMA-VERT";"SMA-VERT";"SMA-VERT";"";""; +"Y1";"ABM8G-25.000MHZ-07-B1G-T3";"ABM8G-25.000MHZ-07-B1G-T3";"CRYSTAL_ABM8G_ABR";"";""; diff --git a/hardware/pico/v0.6s/cubesatsim-pico-0.6s_bottom.png b/hardware/pico/v0.6s/cubesatsim-pico-0.6s_bottom.png new file mode 100644 index 00000000..9cb81e55 Binary files /dev/null and b/hardware/pico/v0.6s/cubesatsim-pico-0.6s_bottom.png differ diff --git a/hardware/pico/v0.6s/cubesatsim-pico-0.6s_centroid.zip b/hardware/pico/v0.6s/cubesatsim-pico-0.6s_centroid.zip new file mode 100644 index 00000000..6ee0ee76 Binary files /dev/null and b/hardware/pico/v0.6s/cubesatsim-pico-0.6s_centroid.zip differ diff --git a/hardware/pico/v0.6s/cubesatsim-pico-0.6s_gerbers.zip b/hardware/pico/v0.6s/cubesatsim-pico-0.6s_gerbers.zip new file mode 100644 index 00000000..1ac46b0b Binary files /dev/null and b/hardware/pico/v0.6s/cubesatsim-pico-0.6s_gerbers.zip differ diff --git a/hardware/pico/v0.6s/cubesatsim-pico-0.6s_pcb.png b/hardware/pico/v0.6s/cubesatsim-pico-0.6s_pcb.png new file mode 100644 index 00000000..0a72832b Binary files /dev/null and b/hardware/pico/v0.6s/cubesatsim-pico-0.6s_pcb.png differ diff --git a/hardware/pico/v0.6s/cubesatsim-pico-0.6s_pour.png b/hardware/pico/v0.6s/cubesatsim-pico-0.6s_pour.png new file mode 100644 index 00000000..c40241de Binary files /dev/null and b/hardware/pico/v0.6s/cubesatsim-pico-0.6s_pour.png differ diff --git a/hardware/pico/v0.6s/cubesatsim-pico-0.6s_schematic.pdf b/hardware/pico/v0.6s/cubesatsim-pico-0.6s_schematic.pdf new file mode 100644 index 00000000..b6bae9cd Binary files /dev/null and b/hardware/pico/v0.6s/cubesatsim-pico-0.6s_schematic.pdf differ diff --git a/hardware/pico/v0.6s/cubesatsim-pico-0.6s_tnames.pdf b/hardware/pico/v0.6s/cubesatsim-pico-0.6s_tnames.pdf new file mode 100644 index 00000000..68d0dc06 Binary files /dev/null and b/hardware/pico/v0.6s/cubesatsim-pico-0.6s_tnames.pdf differ diff --git a/hardware/pico/v0.6s/cubesatsim-pico-0.6s_top.png b/hardware/pico/v0.6s/cubesatsim-pico-0.6s_top.png new file mode 100644 index 00000000..7ed4f4da Binary files /dev/null and b/hardware/pico/v0.6s/cubesatsim-pico-0.6s_top.png differ diff --git a/hardware/pico/v0.6s/readme.md b/hardware/pico/v0.6s/readme.md new file mode 100644 index 00000000..0c38989e --- /dev/null +++ b/hardware/pico/v0.6s/readme.md @@ -0,0 +1,41 @@ +Here is information about the Beta version of the CubeSatSim Pico PCB + +Changes since the v0.5 board: + +- No solder paste on Pico pads +- Added wiring between SMD and through hole LED resistors, so the resistors can be SMD and the LEDs through hole +- Moved AUDIO_OUT to GPIO pin 12 +- Added a cut pad on 3.3V to ESP32-CAM and a pin for 5V to try powering from 5V +- Added an open pad on GPIO pin 7 to RF +- Added U1a and U1b labels to the two parts of the Pico female sockets +- Added SQUELCH to GPIO pin 15 + +The files here are for a single board, the CubeSatSim Pico which replaces the STEM Payload Board and the Raspberry Pi Zero. + +cubesatsim-pico-0.6s_gerbers.zip -- All gerber files used to fabricate PCBs along with .TXT drill file + +cubesatsim-pico-0.6s_schematic.pdf -- Schematic + +cubesatsim-pico-0.6s_pcb.png -- View of board + +cubesatsim-pico-0.6s_pour.png -- View of board with fill + +cubesatsim-main-pico-0.6s_top.png -- Top view of PCB generated by gerbers + +cubesatsim-main-pico-0.6s_bottom.png -- Bottom view of PCB generated by gerbers + +cubesatsim-main-pico-0.6s_tNames.pdf -- Top outline of components + +cubesatsim-main-pico-0.6s_bNames.pdf -- Bottom outline of components + +cubesatsim-main-pico-0.6s.mnt -- top SMD component placement data + +cubesatsim-main-pico-0.6s.mnb -- bottom SMD component placement data + +cubesatsim-main-pico-0.6s_bom.csv.txt -- Bill of Materials in CSV format + +I use PCBWay to fabricate PCBs https://pcbway.com + +Here is a very draft bill of materials https://octopart.com/bom-tool/qqEuO6mB + +Draft wiki instructions: [https://github.com/alanbjohnston/CubeSatSim/wiki/Pico-v0.4-Board](https://github.com/alanbjohnston/CubeSatSim/wiki/Pico-and-Solar-SMD) diff --git a/hardware/solar/v0.4s/cubesatsim-solar-0.4s_bnames.pdf b/hardware/solar/v0.4s/cubesatsim-solar-0.4s_bnames.pdf new file mode 100644 index 00000000..1d51f93a Binary files /dev/null and b/hardware/solar/v0.4s/cubesatsim-solar-0.4s_bnames.pdf differ diff --git a/hardware/solar/v0.4s/cubesatsim-solar-0.4s_bom.csv.txt b/hardware/solar/v0.4s/cubesatsim-solar-0.4s_bom.csv.txt new file mode 100644 index 00000000..9533767f --- /dev/null +++ b/hardware/solar/v0.4s/cubesatsim-solar-0.4s_bom.csv.txt @@ -0,0 +1,16 @@ +"Qty";"Value";"Device";"Package";"Parts";"Description";"COPYRIGHT";"DIGI-KEY_PART_NUMBER_1";"DIGI-KEY_PART_NUMBER_2";"DIGI-KEY_PART_NUMBER_3";"DIGI-KEY_PART_NUMBER_4";"MANUFACTURER_PART_NUMBER";"MFR_NAME";"PROD_ID";"REFDES";"TYPE";"VALUE"; +"2";"";"CONN_01PTH_NO_SILK_YES_STOP";"1X01_NO_SILK";"J2, J3";"Single connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";"";"";"";"";"";"";"";"";"";"";""; +"7";"0.1µF";"CAP_CERAMIC0603";"0603";"C1, C2, C3, C4, C5, C6, C7";"Ceramic Capacitors";"";"";"";"";"";"";"";"";"";"";""; +"6";"1A/23V/620mV";"DIODE-SCHOTTKY-BAT20J";"SOD-323";"D7, D8, D9, D10, D11, D12";"Schottky diode";"";"";"";"";"";"";"";"DIO-11623";"";"";"1A/23V/620mV"; +"6";"1N5817";"DIODE-D-2.5";"D-2.5";"D1, D2, D3, D4, D5, D6";"DIODE";"";"";"";"";"";"";"";"";"";"";""; +"2";"4.7k";"RESISTORPTH-1/4W-VERT-KIT";"AXIAL-0.1EZ";"R3, R4";"Resistor";"";"";"";"";"";"";"";"";"";"";""; +"1";"CONN_20X2";"CONN_20X2";"2X20";"J1";"Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";"";"";"";"";"";"";"";"";"";"";""; +"2";"DNI-4.7k";"R-US_R0603";"R0603";"R11, R12";"RESISTOR, American symbol";"";"";"";"";"";"";"";"";"";"";""; +"2";"DNI-4.7k";"RESISTORPTH-1/4W-VERT-KIT";"AXIAL-0.1EZ";"R7, R8";"Resistor";"";"";"";"";"";"";"";"";"";"";""; +"1";"Female socket 1x4";"CONN_041X04_NO_SILK";"1X04_NO_SILK";"J4";"Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";"";"";"";"";"";"";"";"CONN-09696";"";"";""; +"7";"INA219 purple board";"INA219";"INA219";"U1, U3, U4, U5, U6, U7, U8";"";"";"";"";"";"";"";"";"";"";"";""; +"7";"INA219AIDR";"INA219AIDR";"D0008A_N";"U2, U9, U10, U11, U12, U13, U14";"";"Copyright (C) 2022 Ultra Librarian. All rights reserved.";"296-23978-1-ND";"296-23978-2-ND";"296-23978-6-ND";"2156-INA219AIDR-ND";"INA219AIDR";"Texas Instruments";"";"RefDes";"TYPE";""; +"1";"Micro JST";"CONN_021X02_NO_SILK";"1X02_NO_SILK";"JP8";"Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections";"";"";"";"";"";"";"";"";"";"";""; +"13";"Micro JST";"M02JST-PTH-VERT";"JST-2-PTH-VERT";"JP1, JP2, JP3, JP4, JP5, JP6, JP7, JP10, JP11, JP12, JP13, JP14, JP15";"Standard 2-pin 0.1" header. Use with";"";"";"";"";"";"";"";"";"";"";""; +"7";"R100";"R-US_R0805";"R0805";"R1, R2, R5, R6, R9, R10, R17";"RESISTOR, American symbol";"";"";"";"";"";"";"";"";"";"";""; +"2";"VDD-EN";"JUMPER-SMT_2_NC_TRACE_SILK";"SMT-JUMPER_2_NC_TRACE_SILK";"JP9, JP16";"Normally closed trace jumper";"";"";"";"";"";"";"";"";"";"";""; diff --git a/hardware/solar/v0.4s/cubesatsim-solar-0.4s_bottom.png b/hardware/solar/v0.4s/cubesatsim-solar-0.4s_bottom.png new file mode 100644 index 00000000..adcc76c1 Binary files /dev/null and b/hardware/solar/v0.4s/cubesatsim-solar-0.4s_bottom.png differ diff --git a/hardware/solar/v0.4s/cubesatsim-solar-0.4s_gerbers.zip b/hardware/solar/v0.4s/cubesatsim-solar-0.4s_gerbers.zip new file mode 100644 index 00000000..b35785fc Binary files /dev/null and b/hardware/solar/v0.4s/cubesatsim-solar-0.4s_gerbers.zip differ diff --git a/hardware/solar/v0.4s/cubesatsim-solar-0.4s_pcb.png b/hardware/solar/v0.4s/cubesatsim-solar-0.4s_pcb.png new file mode 100644 index 00000000..fc60ba5e Binary files /dev/null and b/hardware/solar/v0.4s/cubesatsim-solar-0.4s_pcb.png differ diff --git a/hardware/solar/v0.4s/cubesatsim-solar-0.4s_pour.png b/hardware/solar/v0.4s/cubesatsim-solar-0.4s_pour.png new file mode 100644 index 00000000..59cdd4ef Binary files /dev/null and b/hardware/solar/v0.4s/cubesatsim-solar-0.4s_pour.png differ diff --git a/hardware/solar/v0.4s/cubesatsim-solar-0.4s_schematic.pdf b/hardware/solar/v0.4s/cubesatsim-solar-0.4s_schematic.pdf new file mode 100644 index 00000000..17b23e2e Binary files /dev/null and b/hardware/solar/v0.4s/cubesatsim-solar-0.4s_schematic.pdf differ diff --git a/hardware/solar/v0.4s/cubesatsim-solar-0.4s_tnames.pdf b/hardware/solar/v0.4s/cubesatsim-solar-0.4s_tnames.pdf new file mode 100644 index 00000000..a5990f10 Binary files /dev/null and b/hardware/solar/v0.4s/cubesatsim-solar-0.4s_tnames.pdf differ diff --git a/hardware/solar/v0.4s/cubesatsim-solar-0.4s_top.png b/hardware/solar/v0.4s/cubesatsim-solar-0.4s_top.png new file mode 100644 index 00000000..6389475e Binary files /dev/null and b/hardware/solar/v0.4s/cubesatsim-solar-0.4s_top.png differ diff --git a/hardware/solar/v0.4s/readme.md b/hardware/solar/v0.4s/readme.md new file mode 100644 index 00000000..c66ed5cc --- /dev/null +++ b/hardware/solar/v0.4s/readme.md @@ -0,0 +1,39 @@ +Here is information about the Beta version of the CubeSatSim Solar PCB + +Changes since the v0.3 board: + +- Moved U4 so that it isn't covered up by U6 +- Moved bridging labels so they can be better seen +- Flipped U2 and U12 so they are the same direction as all the other ICs +- J4 test pins are now 6 pins and used on the top + +The files here are for a single board, the CubeSatSim Pico which replaces the STEM Payload Board and the Raspberry Pi Zero. + +cubesatsim-solar-0.4s_gerbers.zip -- All gerber files used to fabricate PCBs along with .TXT drill file + +cubesatsim-solar-0.4s_schematic.pdf -- Schematic + +cubesatsim-solar-0.4s_pcb.png -- View of board + +cubesatsim-solar-0.4s_pour.png -- View of board with fill + +cubesatsim-solaro-0.4s_top.png -- Top view of PCB generated by gerbers + +cubesatsim-solar-0.4s_bottom.png -- Bottom view of PCB generated by gerbers + +cubesatsim-solar-0.4s_tNames.pdf -- Top outline of components + +cubesatsim-solar-0.4s_bNames.pdf -- Bottom outline of components + +cubesatsim-solar-0.4s.mnt -- top SMD component placement data + +cubesatsim-solar-0.4s.mnb -- bottom SMD component placement data + +cubesatsim-solar-0.4s_bom.csv.txt -- Bill of Materials in CSV format + +I use PCBWay to fabricate PCBs https://pcbway.com + +Here is a very draft bill of materials https://octopart.com/bom-tool/g1Fkrhew + +Draft wiki instructions: https://github.com/alanbjohnston/CubeSatSim/wiki/Pico-and-Solar-SMD +