数码之家

 找回密码
 立即注册
搜索
查看: 5940|回复: 40

[STM] 饼叔造:老少皆宜寓教于乐的~可编程游戏掌机~开坑贴

[复制链接]
发表于 2020-2-11 18:11:10 | 显示全部楼层 |阅读模式
各位佬,新年吉祥~
年前刚开坑的个人项目~可编程游戏掌机,无奈病毒席卷,嘉立创等板厂都不知何年马月,闷得慌。
于是在某高压柠檬群的富豪群主推荐下,来到大锤~哦不~数码之家,没想到7年前已注册,于是打算分享整个过程(并稍后将原理图等开源~不客气

主要硬件构成:
MCU:stm32f412
加速度计:mpu6050
LCD:2.4寸tft320*240(ips可选
电池:500mAH锂聚合物
其它:微震动马达、微扬声器、九按键、24pin*2扩展口等

系统相关简介:
基于微软的开源项目makecode arcade,提供了图形化的编程界面(如图类似scratch),以及进阶的js代码编程,感兴趣的可以体验下官方平台:https://arcade.makecode.com/

我跟你们说微软这个玩意啊,是真的牛逼~
1,跨硬件,通过电脑或平板上的浏览器即可编程以及运行,更可直接编译成uf2固件放进兼容硬件跑(比如我要做的这个产品
2,高性能,通过微软研发的static typescript引擎,号称速度是micropython的20倍(当然一定比不上直接写C语言
3,强扩展,编写小游戏并联机对战,更可连接咱自己的硬件(通过图形及js编程直接操作硬件IO

其实最初是为了能跟六岁多的儿子一起玩,顺便把我这十几年的编程功力通过边学边玩的方式逐步传授,碰巧看到了makecode这套体系(本来想自己设计的~深坑不见底),于是搞一把~也打算作为个人产品试试水(但是开源哈哈哈~

不墨迹了~先作个开坑预告,不定期更新哈,谢各位佬~

  

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

打赏

参与人数 4家元 +88 收起 理由
jiexiao + 40 原創內容
avatar + 20 期待成品
liukai163 + 20 優秀文章
xiaoqi233 + 8 不错啊,有成品出手吗

查看全部打赏

发表于 2020-2-11 19:59:10 | 显示全部楼层
不错啊,有成品出售吗
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-11 20:12:59 | 显示全部楼层
xiaoqi233 发表于 2020-2-11 19:59
不错啊,有成品出售吗

目前基本设计完成,还没出样品,后续会在本贴更新,谢谢关注哈哈哈~
回复 支持 反对

使用道具 举报

发表于 2020-2-11 20:19:40 | 显示全部楼层
支持一下dalao
群里看dalao造这个玩意好一阵了,总算快出成品啦
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-12 15:03:35 | 显示全部楼层
目前的PCB设计截图,俺非专业人士,大佬们凑合看看~
部分设计看似略奇葩,但都有对应的意图,后面待我慢慢介绍嘿~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2020-2-12 16:56:52 来自手机浏览器 | 显示全部楼层
5bin 发表于 2020-2-12 15:03
目前的PCB设计截图,俺非专业人士,大佬们凑合看看~
部分设计看似略奇葩,但都有对应的意图,后面待我慢慢 ...

牛掰,关注一下,期待后续
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-12 17:47:26 | 显示全部楼层
aacyxjz 发表于 2020-2-12 16:56
牛掰,关注一下,期待后续

谢谢关注哈哈哈
回复 支持 反对

使用道具 举报

发表于 2020-2-12 19:18:59 | 显示全部楼层
厉害了,期待中
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-13 19:50:01 | 显示全部楼层
嘉立创复工,样板刚走完SMT,板子估计明天就能发货了,真是史上最慢打样哈哈哈~
另外我打算今晚把微软的硬件参考设计文档翻译下贴上来,有兴趣的可以先了解下,地址:https://arcade.makecode.com/hardware/adding
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-14 16:36:09 | 显示全部楼层
本帖最后由 5bin 于 2020-2-14 19:36 编辑


是的,你也可以打造自己的Arcade兼容掌机~
翻译的文档来源:https://arcade.makecode.com/hardware/adding


【【【创建你自己的Arcade硬件】】】

【【概览】】

MakeCode Arcade系统旨在在PC或移动设备上提供更多虚拟体验的同时,还支持各种跨硬件的兼容游戏设备。我们鼓励各位使用本文档中所介绍的指南来设计并构建你自己的MakeCode Arcade兼容掌机。

Arcade硬件必须包含以下组件:
● 一个ARM Cortex M微控制器(见MCU)
● 一个160x120分辨率的显示屏(见显示)
● 4个方向按键,2个动作按键(A/B),1个功能按键(菜单/选择/暂停),1个复位按键(见按键)
● 一个单声道的音频输出(见音频)
● 用于编程烧录及供电的USB接口(见USB接口)
● 一些必要的调试支持(见调试)

此外我们还建议:
● 一个用于联机通讯的3.5mm立体声音频接口(见JACDAC)
● 额外的电池支持,一个电池接口或内置的锂电池,以及相关的充电电路(见电池)
● 电源LED指示(见电源)

以及其它的可选组件:
● 一个三轴加速度计或其它运动传感器(见加速度计)
● 一个震动马达(见震动)
● 用于耳机的第二个3.5mm立体声音频接口(见音频)
● 额外的flash储存
● 一些状态指示LED(见LED)
● 一个扩展接口用于支持外部设备及扩展电路(见扩展接口)

我们还构建了一套开源的最小系统作为Arcade开发板的参考设计。它由原理图(包含PDF及Altium格式),PCB布局(包含Gerbers及Altium格式)与BOM(Excel格式)组成。这些文件可以在相关的github仓库中找到。
通过灵活配置的系统固件可使特定组件及电路设计满足上述规范(见配置)。
本页面的其余三个主要部分都依据我们的参考设计:
● 组件章节描述了必要及可选的组件与功能
● 硬件设计说明提供了附加电路设计的一些注意事项
● 固件开发说明描述了固件相关的开发与配置


【【组件】】

【MCU】

MakeCode Arcade目前仅支持基于ARM Cortex的微控制器,其中的Cortex M4F系列已通过兼容测试。

Arcade的显示方案要求至少160x120x4位的屏幕,大约10KB不到的内存空间;此外还需要至少双倍的数据空间作为显示双缓冲区,以及用户很可能进行较多数量精灵的操作。考虑到堆碎片等情况,要求硬件至少96KB的内存;而较大一些的程序可能会需要更大的内存空间才能够运行。此外,建议512KB的闪存空间以及至少64MHz的处理器速度。

目前已支持的两个系列的微控制器如下:
● D51,基于Microchip的ATSAMD51G19A(Cortex M4F, 192kB of RAM, 512kB of flash, 120MHz)
● F4,基于ST Micro的STM32F4系列如下
- STM32F401xE (Cortex M4F, 96kB of RAM, 512kB of flash, 84MHz)
- STM32F411xE (Cortex M4F, 128kB of RAM, 512kB of flash, 96MHz)
- STM32F412xE (Cortex M4F, 128kB of RAM, 512kB of flash, 96MHz)
- STM32F412xG (Cortex M4F, 256kB of RAM, 1024kB of flash, 96MHz)

其中STM32F41x系列支持100MHz的运行速度,但由于启用USB的关系则只能运行在96MHz的主频上;我们支持至少48引脚的封装。仅64引脚封装的STM32F412支持并行的显示接口,当需要使用基于ILI9341的320x240显示屏时(见显示)。

此外,我们正在考虑增加对以下微控制器的支持(但不在六个月内):
● 基于Nordic的NRF52840(Cortex M4F, 256kB of RAM, 1024kB of flash, 64MHz)

当然还有其它更多可能的选择,期待你的反馈。


【显示】

当使用分辨率为160x128的显示屏时,我们将忽略底部的8行,以便于轻松升级到分辨率为320x240的显示屏。我们采用可用户自定义的15种颜色以及透明度作为调色板。以下为一些经过测试的显示方案,如果有更合适的显示屏及方案,请反馈给我们。

分辨率为160x128的基于控制器ST7735或ILI9163C

在此方案中将使用SPI接口连接至MCU,须使用附带SPI接口的显示屏。不同的显示屏对相同引脚可使用不同的命名,如下都是等效的:
● RS、DC或A0
● MOSI、SDA或DATA
● SCK、SCLK、SCL或CLOCK
● LEDK或LED-
● LEDA或LED+
● RESET或RST
此外多数显示屏并没有MISO,即便有也无需连接。

LCD_BL信号用来调制屏幕背光,以实现亮度调节及关闭;在参考设计中展示了一种针对此操作的方法。

如下我们找到一些基于控制器ST7735和ILI9163C的显示屏:
● MTF0177SN-10
● Z180SN009
● JD-T18003-T01

分辨率为320x240的基于控制器ILI9341的SPI接口

对于D5的MCU方案,SPI接口可以运行在50MHz的频率上,多数显示屏似乎也能够匹配该速度,从而达到大约36fps的刷新率。

相对应的请使用以下显示配置参数:
DISPLAY_TYPE = 9341
DISPLAY_WIDTH = 320
DISPLAY_HEIGHT = 240
DISPLAY_CFG0 = 0x08
DISPLAY_CFG1 = 0x0010ff
DISPLAY_CFG2 = 50

分辨率为320x240的基于控制器ILI9341的8位并行接口

对于F4的MCU方案,将采用8位并行接口,因为42MHz的SPI接口不够稳定,而这需要使用STM32F412RE或更高的版本。

在STM32F412的64引脚版本中,FSMC控制器所对应的引脚连接如下:

● RD/NOE ==== PC5
● WR/NWE ==== PC2/PD2
● RS/A0 ==== PC3
● D0 ==== PB14
● D1 ==== PC6
● D2 ==== PC11
● D3 ==== PC12
● D4 ==== PA2
● D5 ==== PA3
● D6 ==== PA4
● D7 ==== PA5

显示屏的CS引脚可以连接到任意IO上(由bootloader配置中的DISPLAY_CS定义)。目前RS引脚也可通过软件来控制,但建议将其连接至A0(由bootloader配置中的DISPLAY_DC定义)。

WR引脚由bootloader配置中的DISPLAY_MOSI定义;如果连接了显示数据读取则应将DISPLAY_MISO配置为PC5,否则请配置为未定义;此外DISPLAY_SCK应始终配置为未定义。

相对应的请使用以下显示配置参数:
DISPLAY_TYPE = 9341
DISPLAY_WIDTH = 320
DISPLAY_HEIGHT = 240
DISPLAY_CFG0 = 0x08
DISPLAY_CFG1 = 0x0010ff
DISPLAY_CFG2 = 0x1000004



未完待续~

回复 支持 反对

使用道具 举报

发表于 2020-2-14 20:18:01 | 显示全部楼层
老哥这个不错呀。支持一下。预订一个。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-14 20:19:11 | 显示全部楼层
jiexiao 发表于 2020-2-14 20:18
老哥这个不错呀。支持一下。预订一个。

谢谢啊,回头样品多出来的话送你个呗,就当帮我测试哈哈哈~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-15 19:16:48 | 显示全部楼层
本帖最后由 5bin 于 2020-2-15 21:17 编辑

继续~


【按键】

我们需要总共8个按键:左、上、右、下(布局为方向键),A、B、菜单及复位。其中的方向键,A/B键以及菜单键,连接到MCU的GPIO的数字输入引脚。我们的配置系统(见配置)允许高电平有效或低电平有效作为输入信号,如果MCU具有内部上拉或下拉,则无需外部上拉。

推荐的按键排列方式,方向键位于左侧布局,而A/B按键位于右侧,A在B的右上方;菜单键最好位于这些按键附近,复位键则建议放置在USB接口旁。

菜单键的一项功能是退出低功耗睡眠模式,对于具备“唤醒”输入引脚的MCU,应将菜单键连接至该引脚;此外复位键应连接至MCU的复位引脚。

Arcade硬件应该提供“软关机”功能,而不是物理关机(见电源)。

【音频】

单通道单声道的音频输出需要一个支持DMA的DAC或PWM,对应MCU的音频输出应连接到放大器及一个板载的扬声器。此外音频耳机接口是可选的,但需要注意的是,这与用于JACDAC通讯的接口是分开的(见联机通讯,如果提供音频耳机插孔请务必清晰的标注出来,以避免用户混淆)。

【USB接口】

Arcade硬件必须包含一个microUSB接口,用于供电及UF2固件烧录。我们建议使用带通孔定位焊点的插座来提高机械强度,尤其是对于没有外壳的“裸板”。此外也建议对USB数据线增加ESD保护,以及一个稳压管针对Vbus电源线进行钳位,从而避免在连接瞬间的电压突变。

【联机通讯】

警告:本功能目前尚处于积极开发中并可能随时变更;可以构建包含此功能的原型,但请在硬件产品投产之前联系我们。

Arcade硬件基于JACDAC来实现多人联机通讯,此协议通过单个信号连接进行联网。由标准的立体声音频线即可将Arcade硬件连接后进行多人游戏;此外也可通过耳机分配器连接两个以上的Arcade硬件。

需要注意的是,JACDAC供电特性仍在开发过程中,因此必须将插座的顶端引脚保持断开状态。

用于联机通讯的接口可以使用3或4通道的3.5mm音频插座,并不需要触点切换。目前有多种替代型号,参考设计图的第二页列举了其中一些。在设计本功能相关的电路前请先进行测试,以确保插拔过程中不会导致任何的短路情况。

【电池】

比较理想的情况下,Arcade硬件应提供基于电池的供电:电池接口、电池座以及锂电池充电电路。一般来讲我们建议使用与Adafruit Circuit Playground Express上相同极性的JST接口。

加速度计

针对可选的加速度计,我们目前支持以下型号:
● LIS3DH
● MMA8453
● MMA8653
如果需要,我们将会增加对其它型号加速度计(如MSA300)的支持.

加速度计应具备SDA、SCL及INT1信号线,分别连接至bootloader配置中的每个ACCELEROMETER_*。

震动

可以连接一个可选的震动马达;正常运行时系统将会保持其低电平,待启动电机时切换为高电平;应连接至bootloader配置中的VIBRATION。

LED

最多可定义4个LED,前两个可用于JACDAC的状态指示。

扩展接口

尽可能将扩展接口与SDA/SCL信号分开,以作为通用数字IO来使用。

如果需要裸露引脚,我们建议使用与micro:bit相兼容的边缘连接器(已定义的引脚排列)。


未完待续~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-18 15:28:04 | 显示全部楼层
本帖最后由 5bin 于 2020-2-18 20:16 编辑

继续~


【【硬件设计】】

电源

Arcade固件会在不使用该设备时自动进入休眠状态,除非用户禁用了此功能;因此不需要硬件电源开关,这不仅可以降低成本,也能够延长电池寿命。

为了确保休眠后的低静态功耗,MCU的所有外设都必须进入低功耗模式。同时将CPU置于深度睡眠状态,关闭显示屏背光以及音频放大器,所有的LED都能够由MCU控制关闭。如果你需要MCU输出关闭信号,则有一个可选的PWREN信号在启动时拉高,并在休眠期间保持为低电平;如果硬件中包含了电源指示LED,请通过PWREN信号来控制。

通常需要一个3.3V的稳压器,它应该对USB电源侧的任何未经过滤的瞬变以及当Arcade硬件无外壳情况下的短路具备鲁棒性。此外如果有触摸到稳压器的可能,则任何情况下不得使其过热。

一个可选的的BATTSENSE信号可连接到电池分压器,但目前系统软件尚不支持。

【烧录与调试】

硬件的烧录及调试接口是必要的。按不同的MCU,可通过USB连接来进行烧录及测试。此外我们也通过一个基于SWD及其它信号的接口进行连接调试,并在PCB上预留了标准0.1英寸间距的单排连接器但未安装,而在想应位置进行了标注:Debug connector information

【引脚】

参考设计中提供了对应的引脚定义,但也可以使用不同的设计。你需要将引脚定义放入bootloader中并烧录至硬件,当你从Arcade平台下载UF2文件后,它将在运行时通过bootloader中获得正确的引脚配置。

此外引脚定义有一些限制:
● 针对SPI屏幕当需要MCU的SPI引脚时,请使用F4的SPI1,它可以提供更快的刷新速度。
● DISPLAY_BL应使用支持PWM的引脚(因此我们可以将其调暗)。
● MENU的引脚应能支持将MCU唤醒(对于D51,它需要EIC;而F4可以是任意引脚)。
● 其它按键可以是任意引脚。
● JACK_TX(如有)应使用F4的UART_TX引脚,以及D51上带有EIC的SERCOM的PAD0引脚。
● JACK_SND(如有)则使用F4的TIM1_CH *引脚,以及D51的DAC0(PA02)引脚。

【【固件开发】】

【Bootloaders】

目前有两种不同的bootloaders以提供对应的硬件支持;它们都支持CF2的配置数据:
● F4: https://github.com/mmoskal/uf2-stm32f
● D51: https://github.com/microsoft/uf2-samdx1

此外尚不支持CF2配置数据的如下:
● N840: https://github.com/adafruit/Adafruit_nRF52840_Bootloader

【编译】

如果你打算自行编译bootloader,你需要创建一个board.h文件。可以从已有的arcade硬件开始(见README中的相关说明),然后:

● 如果没有加速度计,请移除ACCELEROMETER相关配置项。
● 如果没有震动马达,请移除PIN_VIBRATION配置项。
● 如果没有扩展接口请至少预留焊接位,否则请移除所有PIN_Dx、PIN_SDA、PIN_SCL、PIN_MISO、PIN_MOSI、PIN_SCK、PIN_SERVO_x相关配置项。
● 如果LED少于4个,请移除PIN_LEDx相关配置项。
● 如果不能禁用外设的电源,请移除PIN_PWREN配置项。
● 如果没有JACDAC,请移除PIN_JACK_ *相关配置项。
● 如果没有JACDAC供电,请移除PIN_JACK_PWREN配置项。
● 如果没有第二个菜单按键(非必须),请移除PIN_BTN_MENU2配置项。
● 如果没有针对电池电量检测的分压器(目前尚不不支持),请移除PIN_BATTSENSE配置项。

完成这些更改后,将board.h文件拖放到此配置修订页面中:https://microsoft.github.io/uf2/patcher/;待处理完配置相关内容后,即可应用新的引脚定义了。当然你至少需要将BOOTLOADER_BOARD_ID更改为一个新的随机值;请不要使用随意编造或含义奇特的十六进制串,只需通过printf "0x%04x%04x\n" $RANDOM $RANDOM来生成此随机值,以避免重复的可能性。

如果你的显示屏出现奇怪的效果,可以尝试以下配置之一:
DISPLAY_CFG0 = 0x01000080
DISPLAY_CFG1 = 0x00000603
# or:
DISPLAY_CFG0 = 0x00000080
DISPLAY_CFG1 = 0x00000603
# or:
DISPLAY_CFG0 = 0x00000090
DISPLAY_CFG1 = 0x000e14ff

对于控制器为ST7735及ILI9341的显示屏:
● CFG0中的最低位字节为MADCTL寄存器;接下来的两个字节为X及Y坐标的偏移值(当显示区域偏离时调整);最高位字节中的最低位可以开启调色板的XOR。
● CFG1为FRMCTR1寄存器。
● CFG2中的低位字节决定了SPI的MHz频率(ILI9341忽略此项)

当编辑完配置项后,请点击“Apply my patch”,即可下载新的board.h文件。

需要注意的是,你需要在配置修订页面中使用正确的定义及数值;此外也可以在此页面加载二进制配置文件并进行修订。

当需要移除配置项时,可以将其值定义为null进行修订。

【Bootloader保护】

用户可以通过下载UF2文件来更新bootloader,通常该文件包含一个覆盖引导程序的用户级程序。

为了防止该功能被滥用(例如某个学生通过电子邮件将恶意UF2发送给另一个学生,而该文件写入了无法正常运行的bootloader),某些bootloader(目前仅支持F4)具备了保护功能。引导时程序将检查是否已处于写保护状态(通过闪存中相关的标志位),如果写保护被禁用则展示并询问是否要更新bootloader,当用户同意后则运行该程序(并更新bootloader);否则,原有的bootloader将被保护。

默认配置情况下禁用了此功能,以简化开发过程;如需要启用请更改设置项BOOTLOADER_PROTECTION = 1。

【参数项】

F4:

STM32F4需要外部晶振以提供稳定的USB。系统会从特定的bootloader位置获取已安装的晶振频率,建议使用的频率为8MHz。

以下是推荐的引脚定义,包含了扩展接口的推荐引脚分配;它与bootloader中的F4通用配置相一致:

# 64 pin package F4

PIN_ACCELEROMETER_INT = PC13
PIN_ACCELEROMETER_SCL = PB10
PIN_ACCELEROMETER_SDA = PB03

PIN_BTN_A = PC00
PIN_BTN_B = PC01
PIN_BTN_DOWN = PB02
PIN_BTN_LEFT = PA04
PIN_BTN_MENU = PC02
PIN_BTN_MENU2 = PC03
PIN_BTN_RIGHT = PC09
PIN_BTN_UP = PB05

PIN_DISPLAY_BL = PB09
PIN_DISPLAY_CS = PB12
PIN_DISPLAY_DC = PB04
PIN_DISPLAY_MISO = PA06
PIN_DISPLAY_MOSI = PA07
PIN_DISPLAY_RST = PC12
PIN_DISPLAY_SCK = PA05

PIN_JACK_PWREN = PC10
PIN_JACK_SND = PA08
PIN_JACK_TX = PB06

PIN_LED1 = PB00
PIN_LED2 = PB01
PIN_LED3 = PC07
PIN_LED4 = PC06

PIN_BATTSENSE = PC04
PIN_PWREN = PA15
PIN_VIBRATION = PC08

# 48 pin package F4

PIN_ACCELEROMETER_INT = PC13
PIN_ACCELEROMETER_SCL = PB10
PIN_ACCELEROMETER_SDA = PB03

PIN_BTN_A = PB08
PIN_BTN_B = PA15
PIN_BTN_DOWN = PB02
PIN_BTN_LEFT = PA04
PIN_BTN_MENU = PA01
PIN_BTN_MENU2 = null # or PB01
PIN_BTN_RIGHT = PA10
PIN_BTN_UP = PB05

PIN_DISPLAY_BL = PB09
PIN_DISPLAY_CS = PB12
PIN_DISPLAY_DC = PB04
PIN_DISPLAY_MISO = PA06
PIN_DISPLAY_MOSI = PA07
PIN_DISPLAY_RST = PB07
PIN_DISPLAY_SCK = PA05

PIN_JACK_PWREN = PA00
PIN_JACK_SND = PA08
PIN_JACK_TX = PB06

PIN_LED1 = PB00
PIN_LED2 = PB01 # or null
PIN_LED3 = null
PIN_LED4 = null

PIN_BATTSENSE = null
PIN_PWREN = PC15
PIN_VIBRATION = PC14

D51:

JACK_TX必须使用某个支持外部IRQ及PAD0的SERCOM引脚。
JACK_SND必须使用PA02(DAC输出)引脚。

【配置】

我们认为将来会需要各种规格的显示屏以及加速度计等,因此我们给所有Arcade硬件生成相同的UF2文件,并在运行时通过bootloader中的相关区域获取配置项(我们将其称为CF2配置)。

有关配置数据格式等更多详情,请参见:https://github.com/microsoft/uf2/blob/master/cf2.md。如有需要,可以使用新的配置项对bootloader进行二进制修订。

配置项还包含了GPIO扩展接口的引脚分配;通常此接口并不是必须的,但建议至少预留出焊接位。

bootloader中指定了MCU的GPIOs与各种硬件信号(例如按钮及显示屏接口等)之间的映射;可以如上所述进行更改。


翻译完~
原文地址:https://arcade.makecode.com/hardware/adding

回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-29 21:29:19 | 显示全部楼层



最新进展,板子基本靠谱,只是系统还有些bug~



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

打赏

参与人数 1家元 +20 收起 理由
沙漠臭屁虫 + 20

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2020-3-9 09:10:16 | 显示全部楼层
成本不会底吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-9 13:20:05 来自手机浏览器 | 显示全部楼层
沙漠臭屁虫 发表于 2020-3-9 09:10
成本不会底吧

成本不算低~但如果作为产品出售还是能做到价格低于同类~
另外近期将有进度更新~目前已修正十多个问题~等全部搞定就再做一版~届时将分享原理图~
回复 支持 反对

使用道具 举报

发表于 2020-3-9 14:45:25 | 显示全部楼层
感觉成品还挺不错哈
回复 支持 反对

使用道具 举报

发表于 2020-3-9 16:05:10 | 显示全部楼层
免费加工亚克力面板。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-1 13:11 , Processed in 0.171600 second(s), 12 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表