朋友您好!我的名字叫尼古拉(Nikolai),我很久以来一直是Habr的读者,但由于某种原因,它在撰写文章时并没有奏效。 现在是纠正这种情况的时候了,尤其是因为有一个原因-我刚刚在Kickstarter上成立了一家公司来实施开源设备。

谁在乎-我要猫。
碰巧的是,从小我就可以使用当时的先进技术(
Atari 65XE,ZX-Spectrum,EC1841等 ),这些技术不仅确定了职业的选择,而且灌输了一种出色的(
我认为 )业余爱好-编程并发展一些东西。
将来,命运给我带来了另一个惊喜-三年前移民到美国的可能性。 同时,我很幸运两次-几乎立刻我就在我想要的领域找到了一份工作:C ++和微控制器。
从这一刻起,我的爱好得到了新的“
推动 ”。 首先,我遇到了
ST Microelectronics出色的
STM32微控制器(
在此之前,我涉足了Atmel AVR )。 其次,从第一笔工资开始,我购买了3D打印机。 从本质上讲,我是一个完美主义者-一方面,这是一件好事-诚实地做事,另一方面...有时候,仅仅由于项目没有“
完美 ”就不可能将项目结束。 箱子的印刷和订购印刷电路板的可能性实际上使创建项目的可能性提高到了一个新的水平。
有一次,我整理了各种有序的模块以构建一个简单的示波器,并试图将它们放在面包板上,我想起了很久以前上大学时买的一个玩具:
GameBoy 。 在快速估计可能的布局后,我决定:
我会做的! 我的脑海中立刻浮现出一个想法:“
但不仅使用了按钮!有时使用操纵杆,有时使用扭曲……为什么不制造可移动模块? ” 然后工作开始沸腾:焊接原型,编程,开发和打印表壳,再次编程...结果,拿着一个可用的原型,人们意识到这个想法还不错。 同样,一切都以一种新的方式旋转,仅增加了订购印刷电路板的阶段,不仅针对主板,而且还针对所有模块,因为 找不到合适的。 而且,由于中国人生产10块木板,因此立即决定制作一个小系列。 顺便说一句,在制作完该系列产品之后,我意识到不能再进行手动焊接(
这意味着小批量生产超过10件 )。
结果,结果是:

摘要功能:
- 基于STM32F415RG微控制器,Cortex-M4内核以168 MHz的频率运行
- 1024 KB ROM和192 KB RAM
- 分辨率为320x240像素和16位彩色的2.8英寸屏幕
- 电阻式触摸屏
- 每个输入模块有两个插槽,每个插槽有4个I / O(其中2个可以使用ADC数字化信号 )线
- 来自微控制器几乎所有引脚的带有I / O线的扩展插槽
- SD卡插槽
- 当然是开源的
设备本身从各个方面:

这是扩展连接器的引脚排列:

在里面,一切看起来像这样:

这是带有微控制器的模块:

所以它的引脚图:

屏幕模块:

和锂电池充电器:

最后,最后一部分-军团:


橙色的东西是推动者。 卸下模块仍然是一项任务。 结果,这些推动器被发明了。 插入模块后,将其推入,背面的按钮与外壳齐平。 如果需要卸下模块-按下推动器,它将模块向上挤压。 然后,您可以轻松地将其拔出。
源代码值得单独写一篇文章。 也许以后再写。 在第三方软件中,使用
了STM32 ,
STM32CubeMX和FreeRTOS的
System Workbench 。 这些都是免费的项目。 为此编写了C ++ FreeRTOS包装器,屏幕维护任务,触摸屏,声音和输入。

图形输出特别有趣-带有STM32F103微控制器的原型可以显示每秒15帧的频率,分辨率为320x240的马里奥型游戏,并且板载RAM只有20 KB(
不包括帧缓冲区 ),而限制很可能是由于SPI频率。 在SPI频率为两倍的STM32F415中,每秒输出30帧。
好吧,总之,我将保留以下链接:如果您与朋友共享该项目的链接,我将不胜感激-现在的主要目的是吸引一大批人来启动连锁反应-有必要让尽可能多的感兴趣的人了解该项目。
如果您向我询问长期计划,最后我想要什么,答案将很简单:创建一个具有开放软件和开放硬件思想的公司,做自己喜欢的事情,并帮助其他人
Adafruit和
Sparkfun如何做到这一点。
如果文字突然变得混乱-请不要严格判断,已经凌晨1点...在评论中提问-我将尝试回答。