Skip to the content
PCBKitNew board
2 layers50.8 × 69.2 mmUikit, the printed circuit board in 3D

Versaloon Software Framework -- a tiny preemptive-capable event-driven incremental software framework for embedded systems

Size
50.8 × 69.2 mm
Copper layers
2
Thickness
1.6 mm
Parts
51
Nets
75
Pads
235
Tracks, vias
682, 81
Pours
1
Routed
Yes
KiCad
KiCad 6 (file 20211014)
Created
17 Apr 2019
Updated
2 Nov 2026

Overview

Uikit is an open-source printed circuit board by vsfteam, from the vsfteam/vsf repository on GitHub, published under the Apache-2.0 licence. It is a 2-layer board of 50.8 × 69.2 mm with 51 parts on 75 nets, routed with 682 tracks and 81 vias.

It is built around the CH340N, NS8002 and LESD5Z5.0CT1G. Its parts include 23 resistors, 13 capacitors, 9 connectors, 3 ICs and 1 diode.

Main components

3

README

README.md

VSF -- Versaloon Software Framework

GitHub

windows-build cmake-native-build cmake-arm-cross-build

vsf.linux windows build cmake-arm-cross-build cmake-native-build

vsf.demo build

中文 |

Full name of VSF is "Versaloon Software Framework". VSF is an open-source software framework for embedded applications based on Apache2 license. VSF includes hal, a pre-emptive multi-thread kernel, services and components. VSF is implemented by C language with object-oriented programming methods(PLOOC).

Overall Framework

Catalogue

NameDescription
documentdocument
doxygenconfiguration of doxygen
exampledemo codes
hardwarehardware of VSF development boards
patchsome patches(for 3rd-party components, etc)
script
 cmakecmake scripts
sourcesource code of VSF
 componentcomponent(filesystem, stacks, UI, drivers, etc)
 halhardware abstraction layer(ARCH support, chip drivers)
 kernelVSF pre-emptive/collaborative kernel
 osa_servicesoftware services based on kernel
 servicesoftware services
 shellshell to use application software for other systems
 utilitiesbase software utilities(preprocessor, compiler, list, etc)

Kernel

Pre-emptive kernel based on event-driven architecture, supporting mcs51, 8bit MCU, 32/64 bit ARM, riscv, x86, etc.

  • event-driven architecture, sleep if no event occurred, lower-power naturally
  • in pre-emptive mode, task switch is implemented by hardware swi(software interrupt), priority of task is the priority of the swi.
  • pre-emptive scheduling for tasks with different priority, collaborative scheduling for tasks with the same priority
  • can run in other RTOS as a task, or as swi ISR
  • different tasks
    • event handler task -- minimum resources usage, 20 bytes ram usage for minimum configuration, 40 bytes ram usage for normal configuration
    • pt task
    • thread with dedicated stack -- depending on setjmp in libc
    • fsm task
    • other tasks in shell, eg pthread
  • IPC: semaphore, mutex, trigger, queue, etc

Components

  • Reasonable framework for code re-use
  • declarative development model
  • standard interface, standard port for 3rd-party components
  • software components
    • distbus -- distributed bus framework
    • fifo
    • heap
    • json
    • pool
    • stream
    • trace
  • Components
    • fs -- filesystem with vfs support
    • input -- input sub-system
    • mal -- memory abstraction layer(normally known as 'block' device)
    • scsi -- SCSI device
    • tcpip -- TCPIP stack and netdrv drivers
    • ui -- UI and display drivers
    • usb -- USB host/slave stacks
    • bt -- bt stack(using btstack)

HAL -- hardware abstraction layer

  • standard hal interface and API -- eg: vsf_spi_init can be used with hardware SPI, GPIO emulated SPI, SPI from external usb device, etc
  • IP core driver -- simplify porting by implement clock, reset, interrupt functions which is not provided by IP core
  • template for different interfaces and functionalities
  • interfaces
    • PM
    • GPIO
    • SPI
    • I2C
    • PWM
    • ADC
    • SWI
    • USART
    • FLASH
    • USB
    • ethernet

Shell

To use applications from other system, shell can be used.

  • SDL -- use applications based on SDL directly
  • linux -- use applications based on linux directly
    • posix
    • devfs
    • socket
    • console
    • libraries
      • libusb
      • libgen
      • libsdl2
      • libcurl
      • etc

3rd-party

SoftwarePathLicenseLink
btstacksource/component/3rd-party/btstack/rawOtherhttps://github.com/bluekitchen/btstack
coremarksource/component/3rd-party/coremark/rawApachehttps://github.com/eembc/coremark
freetypesource/component/3rd-party/freetype/rawFreeTypehttps://freetype.org/
zlibsource/component/3rd-party/zlib/rawzlibhttp://zlib.net/
nuklearsource/component/3rd-party/nuklear/rawMTIhttps://github.com/Immediate-Mode-UI/Nuklear
nnomsource/component/3rd-party/nnom/rawApache 2.0https://github.com/majianjia/nnom
luasource/component/3rd-party/lua/rawMIThttps://www.lua.org/
lwipsource/component/3rd-party/lwip/rawBSDhttps://savannah.nongnu.org/projects/lwip/
libpngsource/component/3rd-party/libpng/rawPNG2https://libpng.sf.net
libjpeg-turbosource/component/3rd-party/libjpeg-turbo/rawBSDhttps://libjpeg-turbo.org/
SDL_ttfsource/shell/media/sdl2/3rd-party/SDL_ttfzlibhttps://hg.libsdl.org/SDL_ttf/
SDL_imagesource/shell/media/sdl2/3rd-party/SDL_imagezlibhttps://hg.libsdl.org/SDL_image/
lvglsource/component/3rd-party/lvgl/raw/lvglMIThttps://lvgl.io/
lv_lib_freetypesource/component/3rd-party/lvgl/extension/lv_lib_freetype/rawMIThttps://lvgl.io/
CMSISsource/utilities/compiler/arm/3rd-party/CMSISApache 2.0https://github.com/ARM-software/CMSIS_5
PLOOCsource/utilities/3rd-party/PLOOC/rawApache 2.0https://github.com/GorgonMeducer/PLOOC
mbedtlssource/component/3rd-party/mbedtls/rawApache 2.0https://tls.mbed.org/
Segger_RTTsource/component/3rd-party/segger/raw/RTTseggerhttps://wiki.segger.com/RTT
Segger_SystemViewsource/component/3rd-party/segger/raw/SystemViewseggerhttps://wiki.segger.com/SystemView
nuconsolesource/component/3rd-party/nuconsole/rawnuvotonhttps://www.nuvoton.com.cn/
AIC8800M_SDKsource/hal/driver/AIC/AIC8800/vendoraichttp://www.aicsemi.com/
awtkLGPL 2.1https://www.zlg.cn/index/pub/awtk.html
littlefssource/component/3rd-party/littlefs/rawBSDhttps://github.com/littlefs-project/littlefs
getopt_longsource/shell/sys/linux/lib/3rd-party/getoptOpenBSDhttps://github.com/openbsd/src
regexsource/shell/sys/linux/lib/3rd-party/regexOpenBSDhttps://github.com/openbsd/src
fnmatchsource/shell/sys/linux/lib/3rd-party/fnmatchBSDhttp://www.jbox.dk/sanos/source/lib/fnmatch.c.html
globsource/shell/sys/linux/lib/3rd-party/globBSDhttps://github.com/cloudius-systems/musl
setjmpsource/hal/arch/x86/winBSD
libtuvsource/shell/sys/linux/lib/3rd-party/libtuv/rawApache 2.0https://github.com/Samsung/libtuv
scguisource/component/ui/tgui/view/scgui_view/scgui.c&hMIThttps://gitee.com/li_yucheng/scgui

Parts

51
QtyValueFootprintReferences
40.1uFCapacitor_SMD:C_0402_1005MetricC3, C5, C7, C10
430KResistor_SMD:R_0402_1005MetricR7, R8, R9, R10
30Resistor_SMD:R_0402_1005MetricR6, R17, R19
32.2uFCapacitor_SMD:C_0402_1005MetricC4, C8, C9
21.0uFCapacitor_SMD:C_0402_1005MetricC11, C13
210KResistor_SMD:R_0402_1005MetricR4, R5
21uFCapacitor_SMD:C_0402_1005MetricC1, C2
220KResistor_SMD:R_0402_1005MetricR21, R22
222Resistor_SMD:R_0402_1005MetricR13, R14
22KResistor_SMD:R_0402_1005MetricR15, R16
24.7KResistor_SMD:R_0402_1005MetricR2, R3
25.1KResistor_SMD:R_0402_1005MetricR11, R12
2Conn_01x02Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ8, J9
2Conn_01x20Connector_PinHeader_2.54mm:PinHeader_1x20_P2.54mm_VerticalJ1, J2
2NCResistor_SMD:R_0402_1005MetricR18, R20
10.39uFCapacitor_SMD:C_0402_1005MetricC12
1100KResistor_SMD:R_0402_1005MetricR23
12pFCapacitor_SMD:C_0402_1005MetricC6
1AIC1000APackage_DFN_QFN:QFN-24-1EP_3x4mm_P0.4mm_EP1.65x2.65mmU1
1CH340NPackage_SO:SOP-8_3.9x4.9mm_P1.27mmU2
1Conn_01x06VSF:Hirose_FH12-6S-0.5SH_1x06-1MP_P0.50mm_Horizontal_ReverseJ4
1Conn_01x10VSF:Hirose_FH12-10S-0.5SH_1x10-1MP_P0.50mm_Horizontal_ReverseJ3
1LESD5Z5.0CT1GDiode_SMD:D_SOD-523D1
1Micro_SD_Card_DetConnector_Card:microSD_HC_Molex_104031-0811J6
1NCResistor_SMD:R_1206_3216MetricR1
1NS8002Package_SO:SOP-8_3.9x4.9mm_P1.27mmU3
1PJ-393-USAVSF:PJ-393J7
1SW_PushVSF:Key_2Pin_2.9X4.3SW0
1SpeakerConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalLS0
1USB_C_Receptacle_USB2.0VSF:USB_C_Receptacle_Palconn_UTC16-G_DOWN1.6J5

Questions

How big is the Uikit PCB?

It measures 50.8 × 69.2 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Uikit use?

51 parts, built around the CH340N, NS8002 and LESD5Z5.0CT1G. 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.

Where can I download the Uikit KiCad files?

From the vsfteam/vsf repository on GitHub, at the commit this page was made from: the board is hardware/AIC8800/uikit/uikit.kicad_pcb and its schematic hardware/AC6321A/vsf_ac6321a.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Uikit design in my own project?

Its repository publishes it under the Apache-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

More from vsfteam/vsf

11
  • 2 layers25.4 × 33 mmPegboard, the printed circuit board in 3D

    Pegboard

    vsfteam/vsf

    Versaloon Software Framework -- a tiny preemptive-capable event-driven incremental software framework for embedded systems

    222 parts341Apache-2.0
  • 2 layers62.2 × 99.1 mmVsf gd32h759, the printed circuit board in 3D

    Vsf gd32h759

    vsfteam/vsf

    Versaloon Software Framework -- a tiny preemptive-capable event-driven incremental software framework for embedded systems

    127 parts341Apache-2.0
  • 2 layers155.8 × 76.2 mmGamepad, the printed circuit board in 3D

    Gamepad

    vsfteam/vsf

    Versaloon Software Framework -- a tiny preemptive-capable event-driven incremental software framework for embedded systems

    100 parts341Apache-2.0
  • 4 layers36.8 × 57.2 mmVsf aic8800m40b, the printed circuit board in 3D

    Vsf aic8800m40b

    vsfteam/vsf

    Versaloon Software Framework -- a tiny preemptive-capable event-driven incremental software framework for embedded systems

    92 parts341Apache-2.0
  • 4 layers34.9 × 30.5 mmVsf m484, the printed circuit board in 3D

    Vsf m484

    vsfteam/vsf

    Versaloon Software Framework -- a tiny preemptive-capable event-driven incremental software framework for embedded systems

    81 parts341Apache-2.0
  • 2 layers36.8 × 57.1 mmVsf ac6321a, the printed circuit board in 3D

    Vsf ac6321a

    vsfteam/vsf

    Versaloon Software Framework -- a tiny preemptive-capable event-driven incremental software framework for embedded systems

    42 parts341Apache-2.0
  • 2 layers47.8 × 27.4 mmVsf stm32h7b0, the printed circuit board in 3D

    Vsf stm32h7b0

    vsfteam/vsf

    Versaloon Software Framework -- a tiny preemptive-capable event-driven incremental software framework for embedded systems

    37 parts341Apache-2.0
  • 2 layers27.9 × 50.8 mmVsf aic8800, the printed circuit board in 3D

    Vsf aic8800

    vsfteam/vsf

    Versaloon Software Framework -- a tiny preemptive-capable event-driven incremental software framework for embedded systems

    33 parts341Apache-2.0
  • 2 layersJTAG ext, the printed circuit board in 3D

    JTAG ext

    vsfteam/vsf

    Versaloon Software Framework -- a tiny preemptive-capable event-driven incremental software framework for embedded systems

    14 parts341Apache-2.0
  • 2 layers36.8 × 33 mmAdapter, the printed circuit board in 3D

    Adapter

    vsfteam/vsf

    Versaloon Software Framework -- a tiny preemptive-capable event-driven incremental software framework for embedded systems

    5 parts341Apache-2.0
  • 2 layers30.5 × 45.7 mmMux, the printed circuit board in 3D

    Mux

    vsfteam/vsf

    Versaloon Software Framework -- a tiny preemptive-capable event-driven incremental software framework for embedded systems

    3 parts341Apache-2.0

Similar boards

  • 4 layers78.5 × 80 mmDmgplus, the printed circuit board in 3D

    Dmgplus

    Spritetm/dmgplus

    DMGPlus, upgraded internals for the original GameBoy

    108 parts19
  • 2 layers179.1 × 63.5 mmBadge-18650, the printed circuit board in 3D

    Badge-18650

    TomKeddie/prj-supercon2022

    65 parts3MIT
  • 2 layers42.5 × 76 mmPbf mainpcb, the printed circuit board in 3D

    Pbf mainpcb

    kitspace-test-repos/kicad6-file-collection

    66 partsMIT
  • 4 layers39.6 × 19.6 mm0102-TILEDAP, the printed circuit board in 3D

    0102-TILEDAP

    TileParts/0102-TILEDAP

    一个 DAPLink 调试器,附带 USB-UART 桥接功能

    57 parts5
  • 4 layers30 × 45 mmDeerMon, the printed circuit board in 3D

    DeerMon

    xingrz/DeerMon-PCB

    51 parts3
  • 2 layers79.6 × 35 mm0104-USB HUB, the printed circuit board in 3D

    0104-USB HUB

    TileParts/0104-USB-HUB

    一个带分控开关的一拖三 USB 2.0 Hub

    47 parts1