【复刻Nokia】使用ESP32复刻Nokia1110
简介
该项目是使用ESP32模块复刻的Nokia1110,可运行NES游戏模拟器和LVGL,主要功能包括彩屏显示,ADC按键,Type-C充电,USB转串口,DAC音乐播放,SD卡读写,WS2812指示灯
简介:该项目是使用ESP32模块复刻的Nokia1110,可运行NES游戏模拟器和LVGL,主要功能包括彩屏显示,ADC按键,Type-C充电,USB转串口,DAC音乐播放,SD卡读写,WS2812指示灯开源协议
:GPL 3.0
描述
小时候一直都非常好奇手机是怎样工作的,幻想有一天自己也能做一台独一无二的手机。现在手机的功能越来越多,系统也越来越复杂,单凭一个人的力量做一台完整功能的手机确实很难。但是运用简单的电子知识,设计一款电路板,并且把它塞到之前的功能手机外壳里,也将会是一个非常有趣的制作。
B站视频连接:https://www.bilibili.com/video/BV1MP411u7Ru
为了寻找更多灵感,笔者斥资购买了一台原版Nokia 1110手机,号称全球销量最高的手机,然后将其拆开,研究了其内部结构,如下图所示:
电路板应该是原厂生产的,外壳肯定是翻新的,只是电路板上那两个苹果的印记让我感到很迷惑 ... ...
原版的手机里面只有一块电路板,仿制起来也很简单,直接用铅笔在纸上把PCB的轮廓画出来:
根基原版手机PCB的尺寸,重新设计了里面的电路,主控芯片采用ESP32,实现的彩屏显示,按键驱动,声音播放,SD读取,锂电池充电等功能。可运行NES游戏模拟器,也可通过WiFi、蓝牙进行通信,完成之后的设备照片如下图。
PCB设计
为了适配手机壳的结构,PCB分成了两块,一块实现设备的主要功能,另一块实现尾插并垫高屏幕,打样好的PCB如下图所示。
主板采用的是4层板,1.2MM厚度,屏幕垫板采用的是双层板,1.6MM厚度。
复刻的手机与原版手机对比如下图:
元器件选择
核心元器件如下表所示:
ESP32-WROOM-32 | LCD 1.69寸 ST7789V 240*280 | 电池座子 BC-2-351 | BL-5C 电池 |
锅仔片按键 4MM | 8Ω 0.5W 扬声器 20MM | TF 卡座 翻盖式 | WS2812灯珠 5050 |
USB转串口芯片:CH340N | 锂电池充电芯片:TP4055 | 3.3V稳压芯片: RT9013-33G | 长按开关机芯片:EC190708 |
其他电容电阻二极管三极管可自己查看BOM!
关键电路介绍
长按开关机电路
该部分电路采用的集成芯片EC190708和带有使能引脚的LDO芯片RT9013-33G。EC190708芯片的Key引脚连接按关机按钮,关机常态下将Key引脚接地3S,OUT将输出高电平,使能LDO,使整个设备通电。开机状态下降KEY引脚接地3S,OUT引脚将输出低电平,关闭LDO,整个设备断电。EC190708的工作电流约6uA,关机状态下也会有一定的电能损耗,对于1000mAh的锂电池来说,该损耗可以忽略不计。
DAC音频输出电路
该部分采用的是常用的功放芯片LM4890,按照芯片手册推荐的电路使用即可。目前R24连接的是一个订制电阻,可将其换成可调电阻来实现音量调节的目的。
ADC按键
手机上以共有20个按键,使用个独立的按键IO引脚显然是不够用的,所里这里采用了ADC按键,一共使用了四路ADC,每路ADC上挂接四个按键。上下左右、147*、2580,、369# 各使用一路ADC,原理图如下图所示:
在电阻选择上使用了10K,2K,10K,20K的序列,同一路按键按下的电压分别是 0V,1/6 VCC,6/11 VCC,16/21 VCC。
软件设计
该设备相当于是一个开发板,可以使用Arduino,MicroPython等写程序,当然也能用芯片原厂的ESP-IDF进行开发,目前移植了LVGL和NES游戏模拟器(参考M5Stack),NES游戏模拟器固件及游戏烧录方式如下图,固件和游戏可以从附件中下载,目前的固件中已将包含了6个游戏。
软件代码完全开源:https://github.com/ospanic/Nokia1110_ESP32
如果您不会编译该软件,也可以按照下图方式直接使用我编译好的固件(文末附件中下载):
设备内部一共可以存放6个游戏,每个游戏在Flash中的位置及大小如下表所示:
游戏编号 | 存储位置 | 最大容量 | 默认游戏 |
游戏1 | 0x200000 | 256KB | 魂斗罗 |
游戏2 | 0x240000 | 256KB | 影子传说 |
游戏3 | 0x280000 | 256KB | 中国象棋 |
游戏4 | 0x2C0000 | 256KB | 赤色要塞 |
游戏5 | 0x300000 | 512KB | 双截龙 |
游戏6 | 0x380000 | 512KB | 冒险岛 |
用户也可以自己将别的Nes游戏烧录到上述位置进行替换,游戏操作过程中按键功能如下图所示:
评论抽奖
上一轮抽奖已在11月8日结束,抽奖细节可以参考文章末尾的附件。
下一轮抽奖将于2022年12月5日在B站进行,奖品数量更多。B站视频连接:https://www.bilibili.com/video/BV1MP411u7Ru
欢迎点赞评论!
评论