
OSO SWAT B1-jig
joeycastillo/Sensor-Watch
A board replacement for the classic Casio F-91W wristwatch

The goal of this project is to construct a physical FANET, outside the simulator, this can be done by constructing a number of drones built on the ESP-Drone repository, along with our own PCB and a 3D printed drone…
D SMD is an open-source printed circuit board by mahmoud024, from the mahmoud024/Graduation-Project repository on GitHub. It is a 2-layer board with 31 parts on 44 nets, routed with 174 tracks and 8 vias.
Its parts include 6 resistors, 5 capacitors, 4 diodes, 4 transistors and 2 connectors.
The goal of this project is to construct a physical FANET, outside the simulator, this can be done by constructing a number of drones built on the ESP-Drone repository, along with our own PCB and a 3D printed drone body. The FANET nodes will communicate with each other using LoRaWAN through our own modified AODV routing protocol. The FANET is planned to operate over the area of Birzeit University.
Since we will be using light-weight drones for nodes, the weight of anything carried by drones is critical, for this reason we decided on using the LoRa32 microcontroller, that integrates the ESP32 chip along with the LoRa module in a compact package, which weighs about 18grams, our testing shows a current draw of 45-50 mA during normal operations, goes up by 10 mA during transmission/reception
Since the scope of the project is rapidly expanding, we don’t have enough time to design and build a drone from scratch, instead we will be using Espressif Systems’ drone design.
For more information on getting started, visit the Espressif ESP-Drone Documentation.
Components
We faced some difficulties in providing the parts because we are restricted by the Israeli occupation and the high cost of the parts, but the parts were eventually provided with great difficulty.
| Component | Number | Notes |
|---|---|---|
| Main board | 1 | ESP32 LORA V3 + MPU6050 |
| Frame | 1 | We Build it using 3D printer |
| 716 motor | 4 | Optional: 720 motor |
| 46mm propeller A | 2 | |
| 46mm propeller B | 2 | |
| 1000mAh 1s LiPo battery | 1 |
Steps to make the Frame:
Final Output:
| Chip | Module | Battery | Dimensions |
|---|---|---|---|
| ESP32-S3FN8 | ESP32 LORA V3 | 3.7V lithium battery | 50.2 * 25.5* 10.2 mm |
| Sensor | Interface | Notes |
|---|---|---|
| MPU6050 | I2C0 | Main board sensor |
| Motor | Type | Notes |
|---|---|---|
| 716 motor | Coreless motor | Use 720 if you have issue in altitude |
| Battery | Voltage | Dimensions | Dimensions |
|---|---|---|---|
| 1000mAh 1s LiPo battery | 3.7V (1S) | 48 x 30 x 9 | 28.5 |
| Pins | Function | Notes |
|---|---|---|
| GPIO23 | I2C0_SDA | Only for MPU6050 |
| GPIO22 | I2C0_SCL | Only for MPU6050 |
| GPIO2 | interrupt | MPU6050 interrupt |
| GPIO12 | MOT_1 | |
| GPIO35 | MOT_2 | |
| GPIO32 | MOT_3 | |
| GPIO33 | MOT_4 | |
| GND | With Ground | |
| 3V3 | With VCC of MPU6050 |
PCB
As is previously, our drone design is light-weight, so we will need to conserve as much as possible on the drone weight, and therefore we found it best to construct our own PCB.
Scheme Below show our PCB design:
Steps to make our PCB:
The Link below show some videos While working on the production of the PCB (https://google.com)
You Can Find All File You Needed in (PCB) Folder
Please refer to ESP-IDF Programming Guide and set up ESP-IDF environmnet step by step.
ESP-IDF branch release /v4.4 is suggested.
Please follow and complete all setup steps.
Build a example of ESP-IDF to make sure the setup is successful.
git clone https://github.com/espressif/esp-drone.gitThe flight control kernel is from Crazyflie, mainly including hardware abstraction layer and flight control program.
Hardware drivers are structured in files according to hardware interfaces, including I2C devcies and SPI devices.
Dependency libraries include the default components provided by ESP-IDF, as well as DSP from third parties.
ESP-Drone APP is available for Android and iOS.
For Android, please scan the QR below to download ESP-Drone APP.
For iOS, please search and download the ESP-Drone APP in App Store.
iOS APP source code: ESP-Drone-iOS
Android APP source code: ESP-Drone-Android
Click “Connect” button/icon at your APP. When the connection is established successfully between your drone and APP, the LED on the drone blinks GREEN.
Slide “Thrust” slightly to take off the drone.
Control the flight by moving your fingers on the APP.
we will be using a LoRa module for transmission/Re- ception between nodes in our physical test bench, the LoRa module is chosen for its extended range, up to 14Km at SF12, and extremely low current draw, our own testing showed an 10 mA increase in current draw at transmission/re- ception at SF7, matching the datasheet specification.
The drawback to all this, is the low bandwidth, 290 bps at SF12, choosing a lower spread factor, will provide a higher bandwidth at a lower range, SF7 is rated to give 5470 bps for 2km, a range of 2km is well above our needs for this project, the bit rate is also sufficient for the communication protocol used, table 2 shows LoRa transmission ranges and bandwidth at different Spread Factors.
| Spreading Factor | Bitrate | Range |
|---|---|---|
| SF7 | 5470 bps | 2 Km |
| SF8 | 3125 bps | 4 Km |
| SF9 | 1760 bps | 6 Km |
| SF10 | 980 bps | 8 Km |
| SF11 | 440 bps | 11 Km |
| SF12 | 290 bps | 14 Km |
Our routing protocol builds upon the AODV protocol, and improves on it in two substantial ways, multiple paths and speed dependent route lifetime. The AODV routing protocol establishes a singular path for packets to travel from the source node to the destination node, however this can be unreliable in unstable networks, therefore establishing multiple paths will incur small overhead for the reward of a more reliable communication link, this is proposed in the AOMDV routing protocol.
| Parameter | AODV | AOMDV |
|---|---|---|
| Routing Protocol | Single path routing protocol | Multipath routing protocol |
| Average End-to-End Delay | 175 ms | 194 ms |
| Routing Overhead | Low | High |
| Number of Packets Dropped | High | Low |
| Performance Metrics | Low | High |
The AODV routing protocol doesn’t provide a method to calculate the lifetime of established routes between nodes, ns3 simulator keeps an arbitrary period of time of 10 seconds, we suggest making use of the instantaneous speed of each node in the calculation of the lifetime, where the lifetime of any path is decided by the speed of the nodes in the path at route instantiation, equation below is followed when calculating the lifetime of any route established between any two nodes, where Sx is the speed of node x at the time of RREP packet transmission/forwarding, and is scalar hyperparameter used for scaling the lifetime of all routes.
Life time Route = min(S0, S1, S2, …, Sn) / α
Currently, we were able to construct the lifetime calculations on the ns3 simulator and it has yield promising results, as it outperformed the AODV protocol in terms on Packet Receive Rate, this is probably at the cost of increased routing calculations.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 8 | , , , , , , , | ||
| 6 | 10k | Resistor_SMD:R_0603_1608Metric | R1, R2, R3, R4, R5, R6 |
| 4 | 1uf | Capacitor_SMD:C_0504_1310Metric_Pad0.83x1.28mm_HandSolder | C2, C3, C4, C5 |
| 4 | D | Diode_SMD:D_0603_1608Metric | D1, D2, D3, D4 |
| 4 | NMOS | TSM250N02CX_RFG:TRANS_TSM250N02CX_RFG | Q1, Q2, Q3, Q4 |
| 2 | Conn_01x18_Socket | Connector_PinSocket_2.54mm:PinSocket_1x18_P2.54mm_Vertical | J1, J2 |
| 1 | 10uf | Capacitor_SMD:C_0504_1310Metric_Pad0.83x1.28mm_HandSolder | C1 |
| 1 | 3.7 | Connector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_Horizontal | BT1 |
| 1 | module_mpu6050 | usini_sensors:module_mpu6050 | U4 |
31 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the mahmoud024/Graduation-Project repository on GitHub, at the commit this page was made from: the board is PCB/d_SMD/d_SMD.kicad_pcb and its schematic PCB/d_SMD/d_SMD.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask mahmoud024 before reusing the design.

joeycastillo/Sensor-Watch
A board replacement for the classic Casio F-91W wristwatch

hoglet67/RGBtoHDMI
Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

openwch/ch32v003
CH32V003 is an ultra-cheap RISC-V MCU with 2KB SRAM, 16KB flash, and up to 18 GPIOs that sells for under $0.10

Luos-io/luos_engine
Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.
BlueAndi/Pixelix
Full RGB LED matrix, based on an ESP32 and WS2812B LEDs or emulated LEDs on TFT.

