Skip to content

sipeed/NanoKVM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NanoKVM

Your NanoKVM is powered by RISC-V! If you have any issues or suggestions, creating issue here, or tell us with MaixHub Discussion.

Introduction

Lichee NanoKVM is an IP-KVM product based on LicheeRV Nano, inheriting the extreme size and powerful features of LicheeRV Nano.

The Lichee NanoKVM is now available in three versions:

  • NanoKVM-Cube Lite is a basic configuration that is suitable for individual users with certain DIY capabilities and enterprise users with bulk requirements.

  • NanoKVM-Cube Full is a full version with a sophisticated case and complete accessories, as well as a built-in system mirror card that is ready to use at boot, and is recommended for individual users.

  • NanoKVM-PCle is a new form with a built-in PCle baffle that can be fixed inside the chassis. NanoKVM-PCle adds optional WiFi and PoE functions based on NanoKVM-Cube; it has its own PCle slot and can draw power from the motherboard PCle slot; in addition, the wired connection (ETH) is also more stable, meeting more professional needs.

NanoKVM-Cube

NanoKVM-PCIe

For users concerned about security, you can read this issue: #301. You will find explanations addressing all security concerns. GitHub, as an open and transparent platform, provides a space for discussing so-called "backdoor" concerns. Open-source makes products more secure!

Project Structure

├── kvmapp          # APP update package
│   ├── jpg_stream  # Compatible for direct updates from very old versions
│   ├── kvm_new_app # Triggers necessary components for kvm_system update
│   ├── kvm_system  # kvm_system application
│   ├── server      # NanoKVM front-end and back-end applications
│   └── system      # Necessary system components
├── web             # NanoKVM front-end
├── server          # NanoKVM back-end
├── support         # Auxiliary functions (image subsystem, system status, system updates, screen, keys, etc.)
│   ├── sg2002      # NanoKVM-Lite/Full/PCIe
│   └── h618        # NanoKVM-Pro
├── ...

Tech Specs

Products NanoKVM (Lite) NanoKVM (Full) PiKVM V4
Compute Units LicheeRV Nano(RISCV) LicheeRV Nano(RISCV) CM4 (ARM)
Resolution 1080P @ 60fps 1080P @ 60fps 1080P @ 60fps
Video encoding MJPEG, H264 MJPEG, H264 MJPEG, H264
Video delay 90~230ms 90~230ms 100~230ms
UEFI/BIOS
Virtual HID
Virtual CD-ROM
IPMI
Wake-on-LAN
ETH 100M/10M 100M/10M 1000M/100M/10M
ATX power control None,Users can connect by their own USB interface IO control board RJ-45 interface IO control board
OLED None,Users can connect by their own 128x64 0.96" white 128x32 0.91" white
UART 2 2 1
TF Card None
Expansion None PoE WiFi/LTE
Power consumption 0.2A@5V 0.2A@5V Peak 2.6A@5V
Power input PC USB can be powered PC USB or auxiliary power supply DC 5V 3A power supply is required
Cooling Silent fanless Silent fanless Fan cooling
Size 23x37x15mm ~1/30 PiKVM V4 size 40x36x36mm ~1/7 PiKVM V4 size 120x68x44mm

NanoKVM PCB Pinout

Hardware platform NanoKVM

NanoKVM is based on Sipeed LicheeRV Nano,you can find specifications, schematics, and dimensional drawings here.

The NanoKVM Lite is constructed by the LicheeRV Nano and HDMItoCSI board, and the NanoKVM FULL adds the NanoKVM-A/B board and shell to the NanoKVM Lite. The HDMItoCSI board is used to convert the HDMI signal; NanoKVM-A, including OLED, ATX control output (USB Type-C interface), auxiliary power supply and ATX power on/off and reset buttons; The NanoKVM-B is connected to the plate at one end and the computer at the other end is connected to the computer ATX-Pin, which is used to remotely control the power of the computer.

The NanoKVM image is built on LicheeRV Nano SDK and MaixCDK, and is compatible with materials that use the LicheeRV Nano, opposite the KVM software cannot be used with the LicheeRV Nano or other SG2002 products. If you would like to build an HDMI input application on LicheeRV Nano or MaixCam, please contact us for technical support.

Note: Out of the 256MB memory in SG2002, 158MB is currently allocated for the multimedia subsystem, which NanoKVM will use for video image acquisition and processing.

Roadmap

Enhancements:

  • Refactor the HDMI module and remove the libmaixcam_lib.so dependency
  • Disable SSH by default and add an enable/disable toggle in the web UI
  • Disable Tailscale by default and add an enable/disable toggle in the web UI
  • Add JWT configuration options to the configuration file
  • Secure password storage with bcrypt

Distribution:

  • Distribute applications via GitHub
  • Implement integrity checks for online updates
  • Support offline updates

Bug Fixes:

  • Fix the DNS issue
  • Fix the CSRF vulnerability

Features

  • 79 Support Zerotier
  • 99 Support WireGuard
  • 249 Add Mouse Jiggler

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

Thanks for your interest in contributing to NanoKVM!

Please keep your pull requests small and focused. This will make it easier to review and merge.

Developers who have contributed high-quality Pull Requests will receive a NanoKVM Cube, PCIe, or Pro as a token of our appreciation.

Where to buy

Community

License

This project is licensed under the GPL-3.0 License - see the LICENSE file for details.