
LoRa Node
TilenTinta/Greenhouse_LoRa_Node
An open-source monitoring system designed for use in greenhouses, orchards or other agricultural environments

An open-source electronic designed for RF communication between a PC-based Ground Control system and the Amon drone
Amon Link is an open-source printed circuit board by TilenTinta, from the TilenTinta/Amon_Link repository on GitHub, published under the MIT licence. It is a 4-layer board of 55 × 40 mm with 106 parts on 77 nets, routed with 552 tracks and 345 vias.
It is built around the CH32V003F4P6, NRF24L01 and RFX2401C, with the CH340G, SPX5205M5-L/TR and TL3340AF160QG among its other parts. Its parts include 48 capacitors, 21 resistors, 10 inductors, 7 ICs and 4 connectors. It belongs with the radio and wireless and robots and motor control boards and the RISC-V boards of this library.
USB-powered RF bridge between Amon Ground Control (PC) and the Amon Lander drone, built around the WCH CH32V003F4P6 MCU with dual NRF24L01 + RFX2401C radios for robust range.

Part of the Amon Lander project:
- Amon Lander — overall vehicle, frame, test/control SW, and data
https://github.com/TilenTinta/Amon_Lander- Amon Board — flight controller hardware & firmware
https://github.com/TilenTinta/Amon_Board- Amon Ground Control — desktop GCS for telemetry & control
https://github.com/TilenTinta/Amon_GroundControl_Software
Amon Link is a compact, low-power RF communication bridge that connects a PC-based Ground Control application to the Amon Lander over 2.4 GHz radios. It prioritizes reliability by pairing two NRF24L01 modules with the RFX2401C PA/LNA front-end for extended range and improved link quality. The board is powered from USB Type‑C and integrates a 3.3 V LDO.
The board also includes a custom bootloader for USB firmware updates which is supported by the desktop software.
Firmware for device also includes bootloader option. To flash that:
If bootloader is not used you MUST modify the code in folder Firmware. In file Link.ld change code on the top of the file to:
/* Full flash 16KB */
__app_size = 16K;
MEMORY
{
/* Application region - 16KB */
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = __app_size
/* RAM - untouched 2KB */
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 2K
}
SECTIONS
{
.init :
{
...Once the bootloader is flashed, you can put your device in firmware update mode by holding the Reconnect button while plugging in the USB cable or by triggering it via software. When the blue and red LEDs are lights up, you're in firmware update mode!
The firmware can be updated using a graphical application. The application is built with a Python backend and an Electron front end. You can select and import either a hex or a binary file. Once imported, the CRC32 checksum is calculated for the file.
This checksum is used during device connection. When the device connects, a handshake process exchanges several pieces of data, one of which is the CRC32 value of the firmware currently installed on the device. If this CRC matches the one from the new file, you are notified before proceeding with the update. After a successful update, the new CRC32 value is written to the device for future reference.

| LED Pattern (App) | Meaning |
|---|---|
| Constant blinking red | Device initialization failed |
| Solid blue | Device initialized |
| Blinking red | Received packet |
| LED Pattern (Boot) | Meaning |
|---|---|
| Solid blue and red | Waiting on USB data |
Press the button to trigger a manual reconnect attempt or befor powring up device to enter bootloader mode.
The plan for this device is not to reach over 1 km of range, but only a few meters are enough for now. To test this, I did a simple test. I connected the device to my laptop and established a connection from the Ground control app to Amon Link and from that to Amon Lander. After receiving telemetry data, I started moving away from the drone. This test was done with line of sight between the drone and link device.

Because of field limitations, the test was not done until telemetry cut-off. The test will be repeated in the future to really get the limitation of radio range.

In active development. The hardware and firmware are usable, but changes are ongoing; expect rough edges as features evolve.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 10 | 1.5pF | Capacitor_SMD:C_0402_1005Metric | C21, C26, C27, C28, C29, C37, C43, C44, C45, C46 |
| 8 | 22pF | Capacitor_SMD:C_0402_1005Metric | C1, C2, C3, C10, C13, C19, C20, C34 |
| 4 | 10k | Resistor_SMD:R_0603_1608Metric | R1, R2, R11, R23 |
| 4 | 1k | Resistor_SMD:R_0402_1005Metric | R15, R16, R20, R21 |
| 4 | 1uF | Capacitor_SMD:C_0402_1005Metric | C25, C35, C42, C48 |
| 4 | 2.4nH | Inductor_SMD:L_0402_1005Metric | L4, L5, L9, L10 |
| 4 | MountHole_Via | MountingHole:MountingHole_2.2mm_M2_Pad_Via | H1, H2, H3, H4 |
| 3 | 10nF | Capacitor_SMD:C_0603_1608Metric | C9, C12, C14 |
| 3 | 1k | Resistor_SMD:R_0603_1608Metric | R5, R7, R12 |
| 2 | 0.3pF | Capacitor_SMD:C_0402_1005Metric | C30, C41 |
| 2 | 100nF | Capacitor_SMD:C_0603_1608Metric | C6, C11 |
| 2 | 10nF | Capacitor_SMD:C_0402_1005Metric | C16, C31 |
| 2 | 16MHz | Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm | Y3, Y4 |
| 2 | 1M | Resistor_SMD:R_0402_1005Metric | R14, R19 |
| 2 | 1nF | Capacitor_SMD:C_0402_1005Metric | C17, C33 |
| 2 | 1pF | Capacitor_SMD:C_0402_1005Metric | C18, C38 |
| 2 | 2.2nF | Capacitor_SMD:C_0402_1005Metric | C22, C36 |
| 2 | 2.7nH | Inductor_SMD:L_0402_1005Metric | L2, L7 |
| 2 | 20k | Resistor_SMD:R_0402_1005Metric | R17, R22 |
| 2 | 220pF | Capacitor_SMD:C_0402_1005Metric | C24, C40 |
| 2 | 22k | Resistor_SMD:R_0402_1005Metric | R13, R18 |
| 2 | 3.9nH | Inductor_SMD:L_0402_1005Metric | L3, L8 |
| 2 | 33nF | Capacitor_SMD:C_0402_1005Metric | C15, C32 |
| 2 | 4.7pF | Capacitor_SMD:C_0402_1005Metric | C23, C39 |
| 2 | 5k1 | Resistor_SMD:R_0603_1608Metric | R9, R10 |
| 2 | 8.2nH | Inductor_SMD:L_0402_1005Metric | L1, L6 |
| 2 | NRF24L01 | Package_DFN_QFN:QFN-20-1EP_4x4mm_P0.5mm_EP2.5x2.5mm | U3, U5 |
| 2 | RFX2401C | RFX2401C:QFN50P300X300X60-17N | U4, U6 |
| 2 | SMA Edge | Connector_Coaxial:SMA_Samtec_SMA-J-P-X-ST-EM1_EdgeMount | J2, J4 |
| 1 | 0.1uF | Capacitor_SMD:C_0603_1608Metric | C4 |
| 1 | 12MHz | Crystal:Resonator_SMD_Murata_CSTxExxV-3Pin_3.0x1.1mm | Y2 |
| 1 | 12k | Resistor_SMD:R_0603_1608Metric | R4 |
| 1 | 1uF | Capacitor_SMD:C_0603_1608Metric | C8 |
| 1 | 20k | Resistor_SMD:R_0603_1608Metric | R3 |
| 1 | 24MHz | Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm | Y5 |
| 1 | 4.7uF | Capacitor_SMD:C_1206_3216Metric | C5 |
| 1 | 4.7uf | Capacitor_SMD:C_0603_1608Metric | C47 |
| 1 | BLUE | LED_SMD:LED_1206_3216Metric | D2 |
| 1 | CH32V003F4P6 | Package_SO:TSSOP-20_4.4x6.5mm_P0.65mm | U1 |
| 1 | CH340G | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U2 |
| 1 | LOGO | LOGO:RISC_V | G*** |
| 1 | LOGO | LOGO:Amon | G*** |
| 1 | PWR | LED_SMD:LED_0603_1608Metric | D1 |
| 1 | Programing port | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J3 |
| 1 | RED | LED_SMD:LED_1206_3216Metric | D4 |
| 1 | SPX5205M5-L/TR | SPX5205M5-L-3-3_TR:SOT95P280X145-5N | IC1 |
| 1 | SW_SPST | Button_Switch_SMD:SW_Push_1P1T_NO_CK_KMR2 | SW1 |
| 1 | TL3340AF160QG | Library:SW_TL3340AF160QG | S1 |
| 1 | USB_C_Receptacle_USB2.0 | Connector_USB:USB_C_Receptacle_XKB_U262-16XN-4BVC11 | J1 |
| 1 | tbd | Capacitor_Tantalum_SMD:CP_EIA-3528-12_Kemet-T | C7 |
The 105 most common of 106 parts.
It measures 55 × 40 mm and has 4 copper layers, 1.59 mm thick.
106 parts, built around the CH32V003F4P6, NRF24L01, RFX2401C and CH340G. 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 TilenTinta/Amon_Link repository on GitHub, at the commit this page was made from: the board is PCB/Amon_Link/Amon_Link.kicad_pcb and its schematic PCB/Amon_Link/Amon_Link.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

TilenTinta/Greenhouse_LoRa_Node
An open-source monitoring system designed for use in greenhouses, orchards or other agricultural environments

LouisVizard/NavBoard
A full navigation solution featuring MCU, GNSS receiver, RF transceiver, and 9-DOF IMU




antmicro/jetson-nano-baseboard
Antmicro's open hardware baseboard for the NVIDIA Jetson Nano, TX2 NX and Xavier NX

CopperPilot/Jetson-AI-Cam-CopperPilot
A carrier for Jetson Nano, Xavier NX and TX2 NX with two IMX219 cameras on a 39 mm stereo baseline, dual 4K outputs and CAN.

ApotheoTech/APT-XAV-PX4
A PX4 based Xavier NX flight controller