月度存档: 5月 2024

成本60元,用ESP32-S3做个开源游戏机,能玩FC/NES、GameBoy,还有专属彩色PCB

前言

之前复刻了一个基于全志 F1C200S 的模拟器游戏机,但是做下来感觉还是比较麻烦的,主要有两个痛点:

  • 一个是元件太多,像 DC-DC 就有三路,以及焊接难度大,像屏幕的 0.5mm FPC 插座
  • 另外一个是 Linux 系统的编译,过程比较复杂,也没有清晰的教程,想要定制的话比较麻烦

因此就想找找看有没有更简单的方式可以做模拟器游戏机,刚好平时用 ESP32-S3 系列比较多,并且相对于以前的游戏机来说,双核 240MHz 的性能也是足够的,应该可以用来模拟各种游戏机,就去找了一下。

然后就在 GitHub 上找到了 RetroGo 这个项目,一个完整的模拟器固件,支持 ESP32 系列 MCU,但是并没有找到直接对应的硬件项目,在立创开源平台上也没找到简单易用的,那就自己从头搞一个吧~

PS. 这个游戏机也可以当 ESP32-S3 开发板来用,具备 SPI 屏幕、TF 读卡器、I2S 功放、用户按键等多种外设 😃。

RetroGo 介绍

RetroGo 是一个开源的模拟器固件,主要支持的是乐鑫的 ESP32 系列 MCU,例如 ESP32、ESP32-S3,支持的模拟器也相当多,常见的 FC/NES、GameBoy、GameBoy Color 等都支持。

项目地址:https://github.com/ducalex/retro-go

Preview

Retro-Go is



阅读全文 »

做键盘必备,抛掉ST-Link,通过USB烧录固件,STM32F103使用STM32duino-bootloader 踩坑记录

前言

之前在 DIY 基于 QMK 固件的键盘的时候,直接借鉴了立创开源平台上的项目,使用了 ATmega32A 作为主控,ATmega32A 本身并没有硬件 USB 接口,把它作为键盘主控是通过使用 USBaspLoader 这样一个 bootloader 来实现的。

但是毕竟是软件实现,在以前复刻时,使用 ATmega32A 的键盘还是能正常配合 MacBook 使用的,但是最近发现在连接到 MacBook 之后,会很快丢掉连接,这下不得不去找一个带硬件 USB 接口的 MCU 了。

这时我就把眼光放到了 STM32F103C8T6 上,玩了这么久的 ESP32、CH32V003 什么的,还是没能逃过 STM32 😃。

而且相对 ATmega32A,STM32F103C8T6 的系统资源就丰富太多了,64KB Flash、20KB RAM 用来烧录一个 QMK 固件那是相当够用了,什么宏、层的数量,都开到最大。

最后的重点,作为习惯了使用 USB 直接烧录固件的人,也希望给 STM32F103C8T6 刷固件时也可以直接通过 USB 刷,这就找到了 STM32duino-bootloader 这个项目。

阅读全文 »

一个开源小钢网丝印台项目使用体验

自从用上嘉立创 PCB 打样之后,DIY 项目是越搞越复杂,一块 PCB 上几十个元件都是家长便饭了,一开始还会用针铜锡膏,次数多了之后,觉得这个效率还是非常低的。

然后开始尝试直接做钢网,使用钢来来刷锡膏,的确方便很多,即使元件再多,也基本上一分钟就能完成刷锡膏的操作,不用再用针筒一个一个焊盘的去点锡。

但是毕竟是 DIY,家里也不会有丝印台,通常在刷锡膏的时候,都是将钢网和 PCB 对齐后,使用胶带将钢网固定在桌面上,但是这样有一个不方便的地方,就是如果同样的 PCB 需要多次刷锡膏,就可能会存在二次刷锡膏的时候对不齐的情况。

刚好有天刷到一个视频,介绍了一个开源的桌面小钢丝丝印台,做了一个,这里分享一下。

另外配合摸索出来的牛皮网钢网,省钱技能又上一个台阶 😃

最终成品

diy-solder-paste-table-1

整体 3D 打印还算简单,大概注意一下摆放方向就可以了。

作者在项目介绍里说明了需要的配件,包含两种规格,最终实践下来我发现可以不用买多种规格,可以直接某宝搜索以下类型的螺丝螺母:

  • M3*12 内六角杯头螺丝螺母垫片套装
  • 蝶形螺母 M3

基本上这些就可以满足组装需求了。

使用过程

我使用这个丝印台的时候没有去用正经钢网,还是用的牛皮纸钢网。

测试用的 PCB 是 1.0mm 厚度,板子太小得弄两块垫在后面。

diy-solder-paste-table-2

先把钢网和 PCB 焊盘对齐,对齐之后,就可以把夹具的螺母拧紧了。

diy-solder-paste-table-3

对齐之后直接刷锡膏,由于这个是牛皮纸做的,因此要额外小心,刮板要从 PCB 内部开始,要不然就会导致牛皮纸变形了。

diy-solder-paste-table-4

最终刷锡膏效果,有点没对齐导致锡膏有点歪了。

diy-solder-paste-table-5

刷完锡膏就可以上加热台铁板烧了。

使用感受

  • 整体尺寸不算大,测量了一下 PCB 在 60x80mm 以内稍微合适一点
  • 使用牛皮纸的时候,夹具在螺母拧紧之后,会因为中间有厚度,而螺丝位置没有厚度,会整体变形,导致并不能很好地夹紧牛皮纸,不知道正经钢网会不会好一点
  • 同样因为使用牛皮网,PCB 板子比较小的时候,刮锡膏前后没有支撑,最好还是多放一块可以更好地回收锡膏


阅读全文 »

全开源!使用 7 毛钱的单片机 DIY USB 电流表教程,入坑硬件设计、固件开发、外观建模

之前已经连载完了 DIY USB 电流表的所有章节,这里汇总介绍一下这个项目,希望对电子 DIY 感兴趣的朋友们有所帮助。

这个 DIY USB 电流表的所有内容都已经开源,包括:

  • 硬件原理图
  • 硬件 PCB 布局布线
  • MCU 固件代码
  • 外壳 3D 模型 STL 文件
  • 面板生产文件

在文末可以找到开源项目的所有资料,其中硬件部分在立创开源平台,其他部分在 GitHub 中。

PS. 我也还是一个初学者,如果文章中有一些错误或不足,还请多多指教。

项目介绍

这是一个基于沁恒 CH32V003 和德州仪器 INA219 的 DIY USB 电流表,使用 CH32V003 作为主控 MCU 来读取和显示电压电流数据,INA219 作为电压电流监测计,并且通过两个按键来进行交互。

主要元件

  • MCU:CH32V003
  • 电压电流监测:INA219
  • 显示设备:SSD1306 OLED
  • 输入输出:USB Type-C
  • 采样电阻:10mR

功能设计



阅读全文 »

DIY USB 电流表(10):完结篇,外壳和面板设计

在截止到前一篇 《DIY USB 电流表(9):Flash 模拟 EEPROM 存储累计电量》 后,我们已经完成了 DIY USB 电流表的所有硬件和软件开发工作,接下来就需要设计一个稍微正经一点的外壳将 PCB 包装起来,除了更好看一点的同时,还可以防止裸露的 PCB 接触到导体之后造成意外短路的情况。

另外,为了体验一下嘉立创的亚克力面板定制服务,这次的 USB 电流表外壳采用面板 + 外壳的方式来完成,PCB 通过 M2 自攻螺丝固定在 3D 打印的外壳上,再将面板通过双面胶粘贴到外壳上。

当然我也是 3D 建模业余选手,只会基本的长方体布尔切割操作什么的,设计的外壳主打一个能用就行 🙈。

PS. 我也还是一个初学者,如果文章中有一些错误或不足,还请多多指教。

导出 PCB 3D 模型

为了更好的确定外壳的尺寸和各个接口、按键的位置,可以先在立创 EDA 专业版中导出 PCB 的 3D 模型文件,这样在建模软件里可以有更直观的参考。

diy-usb-meter-10-1

外壳设计

最终外壳基本上就是根据 PCB 的外形设计了一个 1.7mm 厚,带圆角的边框,并且在两个按键的位置预置了两个和外壳一体的按钮。

diy-usb-meter-10-2

PCB 上的按键为了能给按键手柄留出行程空间,是突出 …

阅读全文 »