
Usbflashprog
robsonsmartins/usbflashprog
A memory device programmer (Flash/EPROM/E2PROM) board and software, connected to PC by USB port.

This is the main repository for the Autonomous Forest Navigation Rover NANA
Rover is an open-source printed circuit board by Alp-1, from the Alp-1/NANA-Forest-Rover repository on GitHub. It is a 2-layer board with 32 parts on 154 nets.
It is built around the 1N4733A and BC547. Its parts include 17 connectors, 7 ICs, 4 diodes, 2 capacitors and 1 resistor. It belongs with the robots and motor control boards and the ESP32 and RP2040 boards of this library.
This is the main repository for NANA (Near-ground Autonomous Navigator for Arboreous Terrain), a low-cost autonomous forest navigation rover developed as a Group Design Project at the University of Southampton, commissioned by Professor Jadu Dash's remote sensing group. The core challenge is autonomous point-to-point navigation from a 15 cm viewpoint under forest canopy, with degraded GPS, limited look-ahead, and compliant vegetation indistinguishable from solid obstacles using geometry alone. Navigation combines geometric terrain analysis (RANSAC-based slope estimation) with semantic image segmentation (random forest classifier over four terrain classes) on depth and RGB frames from an Intel RealSense D455. The wiki contains further documentation on the rover's operation and configuration.
Note: Contributions to hardware, sensor integration, algorithm design and field work are not fully reflected in the commit history.
Note 2: Some files are not publicly available due to university policy. Some links may also be broken as a result of the migration from the University of Southampton's GitLab instance.
.
├── .vscode # VS Code settings
├── CAD Models # CAD Models used in the project with attributions.
├── ESP32 # ESP32 code for ESP32-C3 dronebridge.
├── GPS # Script to start NTRIP caster.
├── low_level_control # Low level control
├── lua_scripts # Lua scripts uploaded in flight controller
├── navigation # Autonomous navigation
├── pyrealsense # Intel Realsense library required on Raspberry Pi
├── schematic # Schematic of the low level controller
├── .gitignore
├── pyproject.toml # Python dependencies
└── README.mdTo run some code that are not hardware dependent on your local PC, you can run the following commands in Python (Version used: 3.10.5 in PC and Raspberry Pi):
(./ is the repo root directory)
$ pip install -e .
There are two components in the low level control i.e. the motor controller and the central hub. They are both implemented on the Raspberry Pi Pico using micropython. See the README.md in the low level control folder for more information.
The files in the pyrealsense folder may have to be in the same directory as the navigation scripts, depending on your installation. Another option is to include the right package from local directory i.e.
from pyrealsense import pyrealsense2 as rsTo run the autonomous navigation script, use the following command in the navigation folder:
$ python navigation_final.pyThe platform was evaluated across four progressively harder terrain types, from uniform asphalt through open grassland to forest floor with sparse and dense vegetation, with two runs per environment and eight quantitative metrics extracted from flight data logs via MATLAB (trajectory deviation, traversal time, energy consumption, bumpiness, GPS signal recovery, intervention count, and idle time).
NANA completed autonomous missions in all four environments. On uniform and grassy terrain the rover achieved 0 to 2 interventions per run with path deviations of 12-87%. In forest terrain with dense vegetation, the system remained operational but required more frequent intervention (6 per run) and showed significantly higher path deviation (293-295%), reflecting the challenge of near-ground navigation through compliant obstacles. The full system was built for approximately £2,370, placing it among the lowest-cost 20% of autonomous forest navigation platforms surveyed in Niu et al. (2023). The platform is currently in use by the Geography faculty at the University of Southampton for field data collection.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | ACS711xEXLT-31AB | Sensor_Current:Allegro_QFN-12-10-1EP_3x3mm_P0.5mm | U4, U5, U6, U7 |
| 3 | Pico | MCU_RaspberryPi_and_Boards:RPi_Pico_SMD_TH | U1, U2, U3 |
| 2 | 1N4733A | Diode_THT:D_DO-41_SOD81_P10.16mm_Horizontal | D1, D3 |
| 2 | 1N5820 | Diode_THT:D_DO-201AD_P15.24mm_Horizontal | D2, D4 |
| 2 | 3.3n | Capacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mm | C1, C2 |
| 2 | Conn_01x03_Socket | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J9, J15 |
| 2 | Conn_02x05_Odd_Even | Connector_PinHeader_2.54mm:PinHeader_2x05_P2.54mm_Vertical | J7, J13 |
| 2 | Left_Current_Sense | Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_Vertical | J11, J17 |
| 2 | Left_Encoder | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J6, J12 |
| 2 | Right_Current_Sense | Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_Vertical | J10, J16 |
| 2 | Right_Encoder | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J8, J14 |
| 1 | 100k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P5.08mm_Vertical | R1 |
| 1 | BC547 | Package_TO_SOT_THT:TO-92_Inline | Q1 |
| 1 | Conn_01x04_Socket | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J18 |
| 1 | Flight_Controller_Conn | Connector_PinHeader_2.54mm:PinHeader_2x05_P2.54mm_Vertical | J3 |
| 1 | Front_Wheel_Conn | Connector_PinHeader_2.54mm:PinHeader_2x05_P2.54mm_Vertical | J1 |
| 1 | Rear_Wheel_Conn | Connector_PinHeader_2.54mm:PinHeader_2x05_P2.54mm_Vertical | J2 |
| 1 | Receiver_Conn | Connector_PinHeader_2.54mm:PinHeader_2x05_P2.54mm_Vertical | J5 |

robsonsmartins/usbflashprog
A memory device programmer (Flash/EPROM/E2PROM) board and software, connected to PC by USB port.

profdc9/DRSSTC-PCB-Pack
A pack of PCBs for a dual resonant solid state tesla coil setup. Pretty much everything you need.



ToneAlchemy/BiasPro
A professional-grade, dual-probe Arduino Bias Meter for guitar tube amplifiers. Open source hardware & firmware

profdc9/LinearPS
Linear constant constant/current constant voltage power supply PCB

Starsurfer78/TeensyMower-PCBs
PCB's Folder for Teensy 4.1 based Robot Lawn Mower

32 parts, built around the 1N4733A and BC547. 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 Alp-1/NANA-Forest-Rover repository on GitHub, at the commit this page was made from: the board is schematic/rover/rover.kicad_pcb and its schematic schematic/rover/central_hub.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 Alp-1 before reusing the design.