GithubHelp home page GithubHelp logo

project-quantum's Introduction

[Project-Quantum] 超迷你模块化卡片电脑计划

量子计划是我从2019年12月开始设计的一个关于自制超迷你Linux卡片电脑软硬件开源项目,项目构思和实现的历程比较丰富曲折~其前身是我在两年前做的MiniPi

当时准备拿树莓派做一些AI相关好玩的东西,但是对这块别人设计的板子总感觉不是很满意。

一方面树莓派是面向广大用户的,所以定制化不够,板子形状尺寸配置外设都无法达到理想的要求;另一方面树莓派的性能也确实相对捉急,毕竟成本摆在那里,为了普及这块卡片电脑,不可能用上太贵的SOC(树莓派上面的博通CPU是专门供应给树莓派的)。

于是为了满足个人的强迫症,也为了学习一下高速PCB的设计制造,决定自己画块ARM核心板玩~

关于这个项目的介绍和板子功能演示可以参考我这篇文章:如何自制一块“树莓派”--DIY ARM-Linux卡片电脑

而那个时候准备做的所谓的好玩项目,就是后来的迷你语音助手Pico

项目介绍如何自制一个超迷你的语音助手

再然后我又发现了这个作品的很多可改进之处:

  • 首先Mini-PCIE的封装接口IO数有限,使得大部分的IO都没能从核心板引出
  • 其次大家可以发现其实这块核心板的固定方式比较尴尬,由于USB插口处一侧没有螺丝孔位,所以只能靠一个打印的塑料卡扣来固定板子
  • 再有就是虽然核心板很小,但是必须加上硕大的底板才能作为完整的卡片电脑使用,而一旦加上底板,整个卡片电脑的尺寸就变得一点也不Mini了

于是去年8月份的时候,我用邮票孔核心板+底板的方式重新设计了一款卡片电脑,取名为Linux-Card

介绍视频如下↓

【升级】自制超迷你Linux卡片电脑“Plus”& 【新项目预告】

然后我又产生了新的想法:既然都已经把核心板压缩到这个程度了,为何不把其他模块和外设也做成邮票孔的形式以实现更紧凑的布局呢?

我们知道软件开发里面有封装抽象解耦等概念,我为什么不试试把硬件设计也来个High-Level-PCB-Design呢?通过这样模块化的PCB设计,以后我想基于这款卡片电脑做任何项目的时候,岂不是就都能拼积木一般easy了?

于是【Project Quantum】量子计划就诞生了。

关于计划更详细的讲解建议看一下我发的这个视频:https://www.bilibili.com/video/BV1q7411h73t/

1. 项目文件结构说明

  • Hardware:量子计划包含了一系列邮票孔形式的超迷你积木模块,目前工程文件里已开放的有:
    • Quark-Core:基于全志H3/H5芯片的ARM-Linux核心板模块,引出的外设有SDIO、USBx4、I2Cx2、SPIx2、UARTx3、HDMI、CAMERA、以太网口、GPIO等。
    • Atom-Shield:对应于核心板的底板模块,将核心板的几乎所有外设都用上了,自己设计底板的时候可以直接基于Atom进行硬件裁剪。
    • Gluon-Power:一个指甲盖大小的电源管理模块,在Atom上有用到,支持锂电池的充放电管理,以及一路5V DC-DC升压和一路3.3V降压输出。
    • Electron-Arduino:一个基于ATmega328的协处理器模块,可以直接烧录Arduino的Bootloader作为Arduino板卡使用,非常迷你。
  • Bootloader:SOM的u-boot源代码,移植自FriendlyARM的仓库
  • Kernel: SOM用的主线Linux内核源码,添加了一些自己的驱动,修改了设备树配置,原始仓库是这个
  • Image: 打包好的系统镜像,可以直接烧录到SD里进行启动。
  • Docs: 相关芯片的Datasheet文档。

各个模块(硬件、软件、镜像)的详细说明可以进入相关文件夹内查看README.md

Quark-N的使用教程可以参考这个:

quark-n: Quark-N的使用小技巧 (gitee.com)

project-quantum's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

project-quantum's Issues

wifi模块问题

请问志晖君,项目中用到的wifi模组具体是什么型号?项目中没有具体说明,谢谢。

xrdp和vnc都无法成功连接远程桌面

Windows 10 Home 1909多国语言版上,在同一局域网内,无论Quark是否通过startx进入了GUI模式,
xrdp连接基本每次都是这样的:
image
有时偶尔显示连接成功后,要么立刻退出,要么卡在一片灰色的界面上,光标是个叉子,没有任何反应。
vnc每次都是The connection was refused by the computer,没有任何错误信息。
image
谷歌中英文搜索了各种常见处理方法,如重启、更新等,都无果。
请问可能是什么原因?如何解决?十分感谢!

终于买到了Quantum的板子! 但是少了2个按钮

很高兴终于买到了 志辉君的小电脑~!

高兴之余发现, SeeedStudio 好像不怎么负责任, 卖出的板子 居然零件都不焊完全就发货了..... 少了 reset, recovery 两个按钮.

missing

所以我的问题有2个:

  1. 遗漏掉的按钮能请各位大佬帮忙看看是什么按钮吗? 在哪里可以买到, 我自己试试看能不能焊上去
  2. Going forward, 我看整个系统还是Ubuntu 16的, python也是3.5的, 如果我想升级到更新的版本, 不知道要用什么系统?

谢谢~!

@peng-zhihui @stig3 @Coder-Chouchou

屏幕突然不亮了

装完时钟的UI之后,我在系统里听了开机启动时钟
过了一周就发现机器LCD屏黑了,是硬件坏了么?

OLED IOError

python ShowImage.py
输出:
IOError

无法出图像,是什么原因?

亲爱的彭先生

兄弟,我看了你的Quantum的设计,觉得很有意思。

尤其用M2接口对计算单元进行模块化。

能不能麻烦开源下M2接口的版本的Core板pcb

type-c口供电识别问题

稚晖君,你好
我发现type-c口的CC引脚没接5.1K下列电阻,无法使用双头typc-c线给板子供电。
image

不知道取什么标题

请问一下 Quark 是不是不太适合跑 php 程序, 我在我一台 10 年前的笔记本上都不会这么占用 cpu Screenshot_20220726_111741_com.termux.jpg

关于核心板的pcb

请问一下志晖君,你的pcb打样有哪个地方可以介绍?质量和性价比都比较好的,谢谢~~~

关于项目结构的一些建议

个人感觉这个项目所有硬件软件文件都放在一个 repo 里,clone 的时候太耗时间了,而且不方便管理。可以申请一个专门的 Project-Quantum 的 github organization 账户,下面放各个子项目,如果有幸项目能发展起来,社区对各个子项目也好维护,这点,可以参考 clockworkpi 这个开源项目。

求quark-n可以用的openwrt固件

我在seeed店铺买的成品quark-n,cpu是h3的那个。
我尝试了openwrt官方的OrangePi PC (H3)、BananaPi M2、Orange Pi Plus (H3)固件,都无法启动。
自己按照硬件参数编译了三四次,也没有成功。
求作者出个openwrt固件,或者编译openwrt的参数配置。
希望可以支持openwrt,希望quark-n越来越好,谢谢作者。

spi接口问题

稚晖君,我这边想把spi用来做其他的设备对接,但是发现spi用来做显示屏的输出了,这边有修改教程吗?谢谢大佬

Generated Pick Place file has garbled characters

@peng-zhihui @stig3

大佬们好啊, 我现在终于用Altium 生成了 Gerber文件和 Pick Place文件.
但是发现 Pick Place文件里有乱码:

image

这样是不是不行啊?

还有为什么Pick Place文件里的空间这么少呢? 我是不是在生成的时候少选择了什么?

Quark-N的相关PCB文件是不开源项目?

你好稚晖君,我想问一下Quark-N的相关PCB设计文件是属于不开源项目吗?还是暂时还没空将文件整理并上传。想用来学习一下,并且对自己动手有非常高的兴趣

已经运行,但是远程连接不稳定,连了一段时间后会断开

连上WIFI后会刷这个log

[ 4612.408766] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 4619.195833] RTL871X: rtw_set_802_11_connect(wlan0)  fw_state=0x00000008
[ 4619.267464] RTL871X: start auth
[ 4619.276683] RTL871X: auth success, start assoc
[ 4619.289022] RTL871X: rtw_cfg80211_indicate_connect(wlan0) BSS not found !!
[ 4619.296040] RTL871X: assoc success
[ 4619.301514] RTL871X: send eapol packet
[ 4619.319830] RTL871X: send eapol packet
[ 4619.325520] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 4619.335741] RTL871X: send eapol packet
[ 4619.531240] RTL871X: set pairwise key camid:4, addr:60:08:10:02:7d:20, kid:0, type:AES
[ 4619.542530] RTL871X: set group key camid:5, addr:60:08:10:02:7d:20, kid:1, type:AES

刷完这个log之后mstsc就会断开连接,然后再也无法连接上,xshell的ssh也是如此(ssh已经是enable)
通过ifconfig查看ip地址还是存在的

root@Unit:/home/pi# ifconfig
eth0      Link encap:Ethernet  HWaddr 02:81:f2:3a:77:ee
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:41

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:86911 errors:0 dropped:0 overruns:0 frame:0
          TX packets:86911 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:258250797 (258.2 MB)  TX bytes:258250797 (258.2 MB)

wlan0     Link encap:Ethernet  HWaddr a0:9f:10:22:b0:fe
          inet addr:10.3.98.196  Bcast:10.3.99.255  Mask:255.255.254.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:252454 errors:0 dropped:1708 overruns:0 frame:0
          TX packets:43835 errors:0 dropped:8 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:61751337 (61.7 MB)  TX bytes:52032342 (52.0 MB)

然后通过nmcli r wifi off,再运行nmcli r wifi on之后就又能重新远程连接上了。
还有一个小问题就是发热,就单纯开着机开了一小会儿就会很烫。

请问光子,胶子组件在哪里可以买到啊?

大家好,

我很喜欢这个项目, 想把量子项目里的硬件都买一遍.

我看到了 可以在seeed上买到 核心板+扩展版, 但是我也想买 电源模块-胶子.
请问这个也能买到吗???

还有其他的控件吗?
如果可以的话, 请问在哪里能买呢?

催大佬更新

期待UP快快更新,另外,有同志打板回去测试了吗?

Electron, Atom-Shield-N, Unit-Server都是干吗的啊?

请问, Electron 模块 - " 做小弟该做的事情", 小白不是太懂. 能有大佬给解释一下能做什么吗?

我在大佬视频中看到了这个模块, 后面背着电池
image
这是什么模块啊?

Atom-Shield-N和 Atom扩展版有什么不同吗?

Unit-server就是你另外一个视频中讲到的服务器模块吗? 它需要配合其他 Quantum 模块一起使用吗?

PCB size is too small to be manufactured

@peng-zhihui @stig3 @Coder-Chouchou

按照大佬指导的, 先从 Electron下手吧. 我去JLC PBC打样, 但是因为 Electron的尺寸太小, 居然不能用SMT Assembly.
要求 10m,m * 10mm, 但是 Electron比这个小.

image

我自己也不知道去哪里买这些小配件. 所以想让 JLC在打样的时候就帮我装好.
该如何是好?

以太网驱动问题

烧了固件,用ifconfig指令,发现缺少以太网eth0的网卡信息,插网线也不能正常上网,请问如何启用?谢谢
一下是系统信息

pi@Quark-N:~$ ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:84 errors:0 dropped:0 overruns:0 frame:0
TX packets:84 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6608 (6.6 KB) TX bytes:6608 (6.6 KB)

wlan0 Link encap:Ethernet HWaddr 00:83:0e:00:60:bb
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

指令历史

生成镜像时没有清除指令历史,往上翻都还能看得到

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.