
INA219电流表
简介
模仿合宙电流表UI复刻的INA219+Air001电流表,显示电压V、电流A、功率W、电量mWh。
简介:模仿合宙电流表UI复刻的INA219+Air001电流表,显示电压V、电流A、功率W、电量mWh。开源协议
:MIT License
(未经作者授权,禁止转载)描述
最新版本使用旁路供电,已经完整支持测量到24V,可以去看立创开源广场最新版本:INA219电流表第二版
关联链接:
项目简介
本项目是自制电流表,起因是后面有个项目用的是锂电池供电,需要监测ESP睡眠模式下耗电,奈何之前错过合宙电流表的车,一直心有不甘,现在买合宙电流表又太贵了。所以仿照合宙电流表的UI做了个电流包,显示电压V、电流A、功率W、电量mWh,功能简单。
复刻建议选择以下原理图:
- INA219功率表_12V紧凑版_V1.2;
- INA219功率表_26V_V1.4;
**注意:**可能是因为我买的INA219AIDCNR不是正品,接24V电源时IN+和IN-引脚之间炸了一下冒火花,并击穿了Air001。事后逐级拆解,LDO电路在24V下可以稳定工作输出3.3V,新换的Air001和屏幕都没有问题,只有这个INA219AIDCNR被炸了,后续没有继续验证了。
项目功能
可以用于手机充电检测、ESP芯片睡眠模式电流监测、电池电量检测等等。
- 电压显示小数点前2位小数点后3位,例如05.110V或12.010V
- 电流显示小数点前1位小数点后4位,例如0.0681A或1.9376A
- 功率<1000.0mW显示为mW,小数点前3位后1位,例如900.3mW
- 功率≥1000.0mW并<10000.0mW显示为W,小数点前1位后3位,例如2.466W
- 功率≥10000.0mW显示为W,小数点前2位后2位,例如16.98WW
- 电量分两段显示,0.001-9.999mWh和00.010WH-48.000Wh,显示Wh时小数点后第三位数字字体缩小。
| 成品全家福 |
|---|
![]() |
![]() |
![]() |
项目核心器件
主控:
| 主控 | ESP8266 | Air001 |
|---|---|---|
| 资源 | 96K RAM + 4M Flash | 4K RAM + 32K Flash |
| 功耗@5V | 5V 100mA 500mW | 5V 24mA 120mW |
| 功耗@12V | 12V 90mA 1080mW | 12V 24mA 280mW |
| Arduino | Adafruit_INA219库 + Adafruit_ST7789库 | 自定义精简驱动 |
| I2C | IO口上拉能力强,无需上拉电阻 | IO口上拉能力弱,需要外部上拉电阻 |
| GPIO | 引脚资源紧张,复用严重,SPI_MISO引脚作为BL控制引脚,初始化SPI时需要特别注意 | 引脚完全够用,有富余 |
LDO选型如下:
- ASM1117,12V转3.3V,1A,电流足够给ESP8266供电,在12V电压下工作需要注意散热;
- 78L05G-AB3-R,30V转5V,100mA,供电能力有限,无法满足ESP266供电,可以满足Air001的版本供电;
- XC6206P332MR,6V转3.3V,250mA,和78L05G搭配使用,提供3.3V供电;
ST7789屏幕:
- 240x240分辨率,对角线1.3寸;
- SPI接口ST7789驱动;
- 我选的这个型号,背光需要51Ω的限流电阻,实测加上限流电阻后耗电少了30mA左右;
各PCB版本介绍
INA219功率表_12V_v1.0
此版本为第一版,ESP8266主控+ASM1117 LDO,输入电压最大12V。
主要特点为:
- 0.1Ω采样电阻支持2512贴片封装和插件2种;
- INA219AIDR为SOIC-8封装,体积较大;
- 采用DC5521接口,方便接12V电源;
- 整个板子布局较为稀疏,焊接难度小。
请忽略飞线,那个是第一次打板LDO选的不对踩得坑,后来改为ASM1117了,原理图中已经更改。
| 正面 | 背面 |
|---|---|
![]() | ![]() |
INA219功率表_12V紧凑版_V1.1
此版本为ESP8266主控+ASM1117 LDO,输入电压最大12V。
主要特点为:
- INA219AIDR为SOIC-8封装,体积较大;
- 采样电路和主控屏幕分开,上下层叠结构;
- 电路板上下两层做成一块板,尺寸小于10cm x 10cm,到手后锯开。
但是后来发现仅靠4pin排针对插,很难牢固,上层乱晃,遂放弃,原理图留着留作纪念。
INA219功率表_12V紧凑版_V1.2
此版本为ESP8266主控+ASM1117 LDO,输入电压最大12V。
主要特点为:
- INA219AIDCNR为SOT-23-8封装,体积较小;
- 采用USB公头接口,方便接手机充电器;
- 整个板子尺寸紧凑,拿在手里感觉很牢固;
- 支持按键选择WIFI OTA升级(开机亮屏后按BOOT键),可以二次开发接入MQTT等。
B站视频--ESP8266电流表OTA
| 正面 | 背面 |
|---|---|
![]() | ![]() |
INA219功率表_26V_V1.3
此版本为Air001主控+(78L05G+XC6206)LDO,理论输入电压最大26V(实际只测过12V)。
主要特点为:
- INA219AIDR为SOIC-8封装,体积较大;
- 采样电路和主控屏幕分开,上下层叠结构;
- 电路板上下两层做成一块板,尺寸小于10cm x 10cm,到手后锯开。
但是后来发现仅靠4pin排针对插,很难牢固,上层乱晃,遂放弃,原理图留着留作纪念。
INA219功率表_26V_V1.4
此版本为Air001主控+(78L05G+XC6206)LDO,理论输入电压最大26V(实际只测过12V)。
主要特点为:
- INA219AIDCNR为SOT-23-8封装,体积较小;
- 采用USB公头接口,方便接手机充电器;
- 整个板子尺寸紧凑,拿在手里感觉很牢固;
- 整体功耗非常低。
| 正面 | 背面 |
|---|---|
![]() | ![]() |
软件代码
我的gitee库代码分享:https://gitee.com/djddb/ina219-ammeter.git
- ESP8266_INA219_ST7789.ino这个是直接用的官方Adafruit_INA219库 + Adafruit_ST7789库;
- Air001_ST7789_mini.ino用的自定义的精简ST7789驱动,只引用SPI.h。用Adafruit_ST7789库编译的结果太大,32Kflash放不下;
- Air001_INA219_mini.ino用的自定义的精简INA219驱动,只引用Wire.h。用Adafruit_INA219库编译的结果太大,32Kflash放不下;
- Air001_INA219_ST7789.ino是最终程序,编译完占用30956字节flash和1528字节RAM,刚好满足Air001的大小,附件里也上传了编译好的bin文件。
其实关于精简Air001程序这里有很多的细节,如下是摸索的记录,中间也大量借用了DeepSeek的建议,好在最终实现了目标。

设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。



















