作者
QQ群:852283276
微信:arm80x86
微信公众号:青儿创客基地
B站:主页 https://space.bilibili.com/208826118
单片机开源项目
- 开源逆变器
- 网友 aziddy 的一个开源作品,基于经典的 Adafruit Feather 328P 开发板(MCU主控是微芯公司的ATmega328P) 和 128x64 OLED 屏的mini电子游戏机。
- PIKOCUBE是一个非常有趣的项目,它是个可编程骰子,带有 54 颗 LED、陀螺仪,支持 WiFi 控制。项目所有资料都是公开的,包含PCB图纸,结构设计,Arduino 代码,上位机端App。由一个 ESP8285-01F、六块 PCB 和 54 颗 LED 组成。其结构设计十分巧妙,在制作的过程中也处处体现出结构的精巧。
- WATCH-X是一款基于LittleVGL的开源智能手表项目, 能够支持高质量流畅(60FPS+)的动画效果的显示,炫酷的界面加上易于扩展的系统框架,非常容易上手。
- garden monitor - 基于树莓派的灌溉系统 基于树莓派驱动的物联网滴灌系统利用物联网来监测和维护植物的正常生长,将传感器与植物相结合,实时监测植物状态,配合App软件,可以根据反馈的数据做出对应的操作来保证植物的健康生长。整个系统由树莓派采集数据信息,例如光照、温湿度和土壤中的水分含量等,随后将各种传感器的数据传送到云数据库中进行处理。使用智能手机应用程序在任何地点支持访问,用户在手机APP上将指令(例如水泵的状态)发送至滴灌系统并执行相关的命令。
- LCR Meter AU2019,阻抗(Z)是表征无源电子元件(电阻、电容、电感)的重要参数。要确定阻抗,就必须测量至少两个值(大小和相位),一般是元件两端的电压和流过该元件的电流7. Macro Mechanical Keypad - 6键超迷你键盘DIY Arduino
- ESP32-Smart-Watch - 基于ESP32 WROOM的开源智能手表
- RunTiny - 基于ATtiny10仅778字节实现的跑步小游戏
- ART-Pi - RT-Thread 推出的 DIY 开源硬件和项目主页
- sigrok开源逻辑分析软件,DSLogic就是魔改sigrok软件,salease也可以通过Sigrok开源软件,实现同样的协议解析
- weather-ink-screen - 支持汉朔2.9寸墨水屏E029A01的天气预报
- NXP最新调试工具MCU-Link vs. LPC-Link2
- Mega-Cube 是一个基于 PL9823 驱动 4096 个 LED 的光立方,主控方面是基于恩智浦 i.MXRT1060
- soft-and-hard 是一个以物联网项目为主方向分享 web 开发教程,制作并演示一个物联网系统是怎么跑起来的,介绍如何学习相关知识
- EEVengers/ThunderScope 雷电USB4开源示波器
- 12.8-GSPS analog front end reference design for high-speed oscilloscope and wide-band digitizer
- 开源EC
- T12 焊台所需的全部软硬件设计,PID 参数都是成熟的,功能完成度非常高
- 开源的SMU精密供电设备
- 6位手持开源万用表
- Little Bee是一款经济实惠的高性能电流探头和磁场探头,可更有效地调试和分析电子设备
- 红外测温仪 GY-906 红外线温度计传感器
- JL_AC79_DevKit V1.0 是一款高集成度WiFi 802.11b/g/n以及双模蓝牙V2.1到V5.0组合的音视频多媒体系统板
- X-TRACK 是一款开源 GPS 自行车码表,拥有可显示实时位置的离线地图,支持记录和显示实时轨迹以及导出标准GPX格式的轨迹文件
- Daytripper是一个激光绊脚器摸鱼神器
- 基于ESP32的哔哩哔哩小电视
- NumWorks一款基于STM32F412设计的图形计算器
- PSLab 是 Pocket Science Lab 的简称,它的目标是创建一个开源硬件设备(所有资源全开),可用于电子爱好者做实验。并提供了一系列用于工程实验的传感器,包括示波器,波形发生器,频率计数器,可编程电压,电流源和数据记录器。PSLab 从硬件,软件,手机端软件,电脑端软件全开源,界面效果极其炫酷
- 美信推出的全开源便携式精密校准器,精度高达 0.01%
- 开源的无刷电机驱动项目vedderb,软硬件都开源
- 基于rp2040的开源逻辑分析仪pico-coder,搭配上位机软件pulseview使用
- 成本非常低的开源的小飞艇Bllimpduino 2
- 一款集简易示波器、简易函数信号发生器、电阻测量、可调电源、输出电流测量于一体的STM32简易仪器仪表
- 基于ESP32和STPD01的双通道可调智能电源
- 开源的无刷电机驱动项目,这个项目主要分为几个部分,VESC固件,物料清单,VESC硬件,VESC工具软件,是一个非常完整的软硬件项目,并且配套的软件也出色
- Build a USB-C Power Supply, USB-PD allows for voltages up to 20V at currents up to 5A to be delivered across the interface
- ESP32S3、4寸480*800屏幕、光固化外壳,作品定位桌面小摆件,支持电脑运行数据监测、天气、新闻、疫情、日历等等,支持白天夜间模式切换、支持web配置
- 基于STM32L432设计的安全密钥小产品Somu
- 开源的标准 GNU 调试器Black Magic Probe
- ctxLink 是基于 Black Magic Probe(BMP)的开放式硬件,开放式固件调试开发板,支持WiFi连接和电池供电的操作。它实现了SWD和JTAG接口,用于ARM Cortex-M微控制器的远程无电缆编程和调试
- Segger 公司为它们的 Flasher 工具项目配套设计的一款 QSPI Flash 快速评估套件,有了它,你可以在 15 分钟之内快速测试任意一款 NOR Flash
- Nordic二代功耗测量套件Power Profiler Kit II,分辨率100nA,范围200nA到1A
- SC1933+IP2726低成本大功率氮化镓电源方案,支持多种快充协议,最大功率65W
- 基于树莓派单片机的24通道,100Msps的逻辑分析仪
- 四足机器人开源BLDC电机控制器MOTEUS
- 基于树莓派单片机实现超低成本的双光纤网卡100BASE-FX
- 开源便携监测器CatSniffer,支持Zigbee,蓝牙,LoRa,Thread,Sub 1GHz,6lowpan
- 开源的PCB贴装机SimplePnP
- DIY缝纫机
- 稚晖君机械键盘固件,不同于QMK、ZMK这样的开源固件,为了适配大量的键盘型号,导致存在代码臃肿、性能优化不足、扩展性不太好等问题。稚晖君基本上把全速HID设备的性能都拉到了顶。他在固件中实现了HID设备枚举、1kHz的硬实时报文以及1ms的超低延迟
- 电源类 22期 | 数控升降压 桌面可调电源
- 448个数码管模拟水流的炫酷效果
- 21通道120Msps的树莓派单片机逻辑分析仪加3通道ADC,上位机采用sigrok/pulseview
- 电源类 23期 | 同步整流降压 数字电源
- google开源的超长键盘
- TMCM-1617 无刷直流伺服驱动器的开源硬件参考设计。为了在机械臂应用中使用,该板设计了标准夹持器电子外形。它能够通过EtherCAT®,IO-Link®,或使用 Trinamic 的 TMCL 协议 RS485 控制无刷直流电机
- QUARK 是一个简单、易于使用的多功能开发工具,适用于 Arduino、ESP32、STM32 和类似的平台
- 低成本2.5KV USB电源隔离方案
- 开源的旋转拨号手机
- 基于树莓派单片机的电子书 网站2
- 开源USB PD供电mini SMD回流焊加热板
- 开放式ECU控制模块
- 单片机实现低配版全功能软件无线电,范围0.5-30 MHz,支持SSB、AM、FM和CW
- 开源串口,SPI,I2C和1-Wire开发工具
- 开源电源EEZ BB3
- 开源电源EEZ BB3推出一款H7的主控板子
- 开源10V基准电源,不断电运行一年,误差小于1uV
- ESP32 Web版开源示波器
- Microchip 推出的智能冷却板(cold plate)参考设计,主控基于 PIC16F17146,可以冷却其金属表面和上面的任何东西
- 高质量的麦克风项目,麦克风构建使用克隆RK12/CK12胶囊,U87麦克风和定制前置放大器板。该板非常简单,但高性能
- 立创开源硬件平台3盘位热插拔硬盘柜FRHD-SAS-3C-A FrostAutumn
- Made with KiCad(七十一):KCORES FlexibleLOM 转 PCIEx8 转接卡
- inav - 基于STM32F411的导航飞行控制器
- betaflight - 多旋翼/固定翼飞行控制器
- OV-Watch - 硬件成本仅80元的开源智能手表
- 使用USB-C电源适配器制作可调电压源
- usb-switch 是 USB-C 双向切换器,它可以实际控制 USB 设备和主机之间的切换连接,对于 USB-C 的基础功能都支持,如高速通信和充电功能。这个项目主要解决了一个主机和多个设备,或者一个设备和多个主机的无痛切换问题
- 基于 rogowski 线圈的电流探头,旨在测量狭小空间中的高频交流电流
- DC-UPS 是一种小型直流 UPS 电源,设计用于在停电时保持小型电器如小型交换机、家庭路由和 WLAN 接入点等网络设备运行
- Joulescope 是一款经济实惠的精密能量分析仪,它能精确地同时测量提供给目标设备的电压和电流,然后计算功率和能量。最早是在 kickstarter 上发起的众筹项目,发布时开源了图形用户界面(UI),UI 在主机上运行,并通过 USB 与 Jouescope 设备通信
- OMOTE 是一个基于 ESP32 的开源通用遥控器。它的电容式 2.8 英寸触摸屏为切换设备和设置提供了直观而快捷的用户界面。由于遥控器具有红外、Wi-Fi和蓝牙连接功能,因此不需要集线器或坞站。由于其优化的功耗,OMOTE 充电一次可以运行数月
- 在Google Twinkie开源基础上魔改的开源USB PD Sniffer
- USB 数据线导通检测工具
- 6DOF鼠标,也称为六自由度鼠标,是一种能够在三维空间中进行六个基本动作的设备。6DOF是“6 Degrees of Freedom”的缩写,表示在3D空间中的六个自由度动作,包括三个平移动作(X、Y、Z轴的平移)和三个旋转动作(绕X、Y、Z轴的旋转)。这种鼠标通常用于需要精确3D控制的应用场景,如3D建模、虚拟现实(VR)、游戏和工程设计等。通过6DOF鼠标,用户可以更直观地操控3D对象,实现更自然的操作体验
- Grbl 是一个高性能,低成本的以并行端口为基础的 CNC 运动控制器固件。它可以运行在 Arduino (Duemillanove/Uno) 上。控制器是用高度优化的 C 语言编写的,利用 avr 芯片的外设功能来实现精确的定时和异步操作。它能够保持高达 30kHz 的稳定,无抖动控制脉冲
- grblHAL 是针对 32 位处理器的 Grbl v1.1 的重写版。引入硬件抽象层(HAL)是为了将核心 Grbl 代码与处理器/硬件特定代码(驱动编码器)完全分离
- PicoCNC 是一个控制子板,可与 grblHAL 和 Rapsberry Pi Pico 微控制器一起,为路由器、铣床、激光和车床等设备创建了一个强大的 CNC 运动控制器
- programmable_precision_resistor是一个纯开源的可编程电阻仪,其电阻值可以通过数字信号来调节,可调范围 1Ω - 999.999KΩ,支持 SCPI 可编程仪器标准命令
- 基于STM32G0的锂电池快充方案
- PocketPD开源USB Type-C口袋电源,支持3.3-20V,最大5A
- USB-SERIAL-L - 设计先进的USB转串口的开源硬件
- CH585带2组USB,蓝牙,2.4G,NFC
- CH339F+CH213K+CH217K实现1转4hub+TF+100M以太网
- Battery Capacity Tester V2.0开源电池测试仪,支持评估电池的容量,还可以计算 IR 测试、分析测试和充电测试等多个参数,LP4060 Battery Charger IC
- HackBat 是一款开源设备,专为黑客和制造商设计,用于试验不同的渗透测试技术。该设备基于树莓派 RP2040 微控制器,具有射频收发器,NFC, WIFI, OLED 显示器
- Nyan Keys:一款基于FPGA的开源机械键盘
- OpenEPT - 开源低功耗测试仪
- Made with KiCad(119):基于 ESP32 的离线便携式全球导航卫星系统设备
- 我做了个13口HUB!网友:这用途,我确实没想到……
- 设计一款75瓦单输出台式电源
BMS
bootloader
- RT-FOTA - 基于 STM32 的开源 Bootloader 框架,类似RT-Thread 官方RT-OTA 项目的民间开源版
- wolfBoot 开源的安全启动bootloader
- OpenBLT 开源的bootloader, ST发布的OpenBootloader库升级至V5.0,支持FDCAN,I2C,SPI, USB, UART,它与STM32系统引导加载器完全兼容,因此它具有相同的支持接口和命令。它也使用相同的上位机工具,如STM32CubeProgrammer
- TinyUF2 主要针对使用 TinyUSB 协议栈的 MCU,目前支持ESP32-S2、i.MXRT10xx、LPC55xx、STM32F4。使用 UF2 bootloader,可以方便的通过 USB 以磁盘模式更新程序,无需其它软件,非常方便。
GUI
- Tiny TFT Graphics Library. This is a graphics library for the family of small colour TFT displays based on the ST7735 and ST7789 driver chips. This library allows you to plot points, draw lines, draw filled rectangles, and plot text with an optional scale factor.
- Cortex-M处理器的2D图形加速库——Arm-2D
- 玲珑GUI - 面向单片机级别低价产品的开源GUI 玲珑GUI是高效的界面开发解决方案。代替串口屏、组态,降低产品成本,产品软硬件自主可控。配套界面开发软件,图形化编辑界面,生成C代码,直接和用户产品代码结合。配套下载升级软件和bootloader,解决产品升级功能和图片下载问题。
- GuiLite是一个具有5000行C++代码的准系统GUI框架,它可以在所有平台上运行(例如,iOS,Android,Linux,Windows,macOS,Docker和带或不带OS的MCU)。GuiLite是可嵌入的,它在其他UI框架内运行(例如,Qt,MFC,Winform,Cocoa)。您可以同时使用GuiLite功能和主机UI功能。
- SimpleGUI - 一款针对单色显示屏设计的GUI接口库
- VirtualLCD - 可用于 GUI 移植的 LCD 模拟器
- LVGL | GUI-Guider的使用分享
- LVGLBuilder是一个基于C++的图形用户界面构建工具,旨在为LVGL提供可视化设计支持。它允许开发者通过拖放操作方便地创建用户界面,并实时预览界面的效果。该工具适用于Windows和Linux平台,支持LVGL 6.0及以上版本
- EEZ Studio是一个免费且开源的跨平台低代码可视化工具,专为桌面和嵌入式GUI设计而生,并深度集成支持LVGL
- LVGL的多语言转换工具MCU_Font
- 点阵GUI库U8G2,常用于OLED
- u8g2_wqy 是适合 u8g2 的中文字体,采用文泉驿点阵宋体作为源本,提供 12x12、13x13、14x14、15x15 和 16x16 点阵字库
- MiaoUI 是一个基于 u8g2 的单色 OLED 菜单 UI 框架。MiaoUI使用 C 语言实现,采用双向链表结构,使用非线性动画、移植方便、内存占用较小、能够快速部署,适用于具有小型 OLED 屏幕的嵌入式设备
- RUST编程语言小型GUI库
- HTML5 X Y Oscilloscope Github分享的一个完全基于HTML5写成的X Y示波器软件,只有一个页面,文件也只有十几KB的大小,不仅支持双通道波形的显示,而且可以做频谱分析。信号源就用电脑或手机的麦克风。
- Virtual Oscilloscope - 可插入网页设计的虚拟示波器插件
- Virtual Oscilloscope - 可插入网页设计的虚拟频谱仪插件
- 简单炫酷开源C库图形库
- EmberGL(Ember Graphics Library) 是一个底层开源图形库,类似于OpenGL/DirectX/Vulkan,专为 MCU 和其他内存受限的非 GPU 系统上的实时 2D/3D 渲染而设计
- ESPUI:让ESP32和ESP8266轻松拥有Web界面
- TFT_eSPI 是一个为 MCU 设计且兼容 Arduino IDE 的图形和字体库,它已针对 RP2040, STM32, ESP8266 和 ESP32 类 MCU 进行了性能优化,当然也可以配合其他 32 位处理器使用,但将使用较慢的通用 Arduino 接口调用
- LovyanGFX 是一个为 MCU 设计的 TFT 图形驱动库,底层主要适配 ESP32 SPI, I2C, 8bitParallel / ESP8266 SPI, I2C / ATSAMD51 SPI,同时支持非常多的 LCD 驱动芯片
- YMCV 库名中文简称妖米CV,英文全称 your mini computer vision,意为你的迷你计算机视觉,含义有双重,第一重含义是:一个迷你的CV库;第二重含义是:可用于迷你计算机(如嵌入式计算机)的视觉库
Lib
- LibU - 支持多平台的 C 语言程序库
- microseconds - MCU通用微秒(us)计时函数框架
- libopencm3 - 开源Cortex-M系列单片机固件库
- 8051 ELL函数库,是网友泽文i针对其丰富的芯片资源,基于keil开发的软件包。函数库采用了LL库的编程思想,充分考虑8051的特性,结合硬件条件,提供大量标准的API函数,供开发者访问底层硬件细节。并且函数库的大小可裁剪,在代码密度和执行效率上做了很好的平衡。
- LW_OOPC 是Light-Weight Object-Oriented Programming in(with) C的缩写, 这个框架是由台湾的高焕堂先生以及他的MISOO团队首创, 之后由金永华继续改进优化。网友 Akagi201 在金永华对于高焕堂的lw_oopc的源码的基础上进行了一些简单的修改和调试,使得lw_oopc能够用在实际的嵌入式项目中, 作为一个很好的框架传播开来。LW_OOPC 非常的轻量级, 但却很好的支持了很多面向对象的特性, 比如继承, 多态,可以优美的实现面向接口编程。
- key_board 是网友 wei513723 维护的用于单片机中的小巧多功能按键支持库。
- SQLite是世界上部署最广泛的数据库,它是一种C语言库,它实现了一个小型,快速,自包含,高可靠性,功能齐全的SQL数据库引擎。
- SQLCipher扩展了SQLite项目,以添加安全性增强功能,使其更适合于加密的本地数据存储,例如:动态加密,篡改检测,内存清理,强密钥派生等。SQLCipher基于SQLite,并且稳定地集成了稳定的上游发行功能。
- FlexibleButton 一个基于标准 C 语言的小巧灵活的按键处理库
- letter-shell 一个功能强大的嵌入式shell
- nr_micro_shell 适用于资源较少的MCU的shell
- 串口(UART)自动波特率识别程序设计
- RanFS - 一个轻量级的嵌入式文件系统库
- TBOX - 一个用 C 语言实现的跨平台开发库
- iRTU 是基于合宙 air202/208/800/801/720/724/H/D/G/U 系列模块的开源DTU/RTU解决方案,已成功运行在上百万设备,安全可靠
- irtu-gps 基于iRTU项目(一个开源的DTU/RTU解决方案,基于合宙硬件模块),实现了GPS数据的接收和展示,设备PCB开源/服务器端开源/小程序全开源
- mbedTLS - 最小巧的 SSL 加密库
- LwIP - 小型开源 TCP/IP 协议栈
- AT Command 是一种 AT 命令通信解析模块,支持裸机(at_chat)和OS版本(at)。适用于modem、WIFI模块、蓝牙通信
- RIL - 适用嵌入式的无线通信模块(GSM/GPRS/CatM1/NB)管理框架,目前已支持EC21、BG96、 HL8518等模组
- TJpgDec小型JPEG解码库
- 通用精简的超轻量物联网虚拟机EVM EVUE IOT.js
- 跨硬件、跨平台的物联网解决方案Blinker,提供APP端、设备端、服务器端支持,使用公有云服务进行数据传输存储
- 嵌入式设备和传感器节点设计的关系型数据库LittleD
- IonDB资源受限系统的键值数据库
- ECBM 是基于STC8单片机的外设函数库
- nRF51_Platform - 基于nRF51平台(蓝牙4.0)的轻量级SDK
- OpenLoongsonLib1c - 基于龙芯1C的底层驱动函数库
- libjpeg包含了JPEG解码、JPEG编码和其他的JPEG功能的实现,C语言编写
- FatFs 是日本工程师 ChaN 开发的面向小型嵌入式系统的一种通用的 FAT 文件系统,C 语言编写
- PikaScript(前称mimiscript)是一个完全重写的超轻量级python引擎,零依赖,零配置,可以在少于4KB的RAM下运行(如stm32g030c8和stm32f103c8),极易部署和扩展
- Ring-Buffer 是特意为嵌入式系统精简优化的环形队列,源代码仅 80 行,实现简洁可靠
- QueueForMcu 是一个基于单片机实现的队列功能模块,主要用于8位、16位、32位非运行RTOS的单片机应用,兼容大多数单片机平台
- 适用于极小资源芯片的开源加密算法库avr-crypto-lib,适用于51/avr单片机
- wolfSSL 是一个基于C语言的轻量级 SSL/TLS 库,专门针对嵌入式和 RTOS 环境,主打特点是体积小,速度快,功能齐。
- CRC库
- rxi_log是基于 C99 实现的简单日志库
- uLog 为嵌入式微控制器或任何资源有限的系统提供结构化的日志记录机制。它继承了流行的 Log4c 和 Log4j 平台背后的一些概念,但开销更低
- EasyLogger是RT-Thread大佬的作品,已经集成到RTOS的内部了,支持的功能非常丰富,基本满足各种开发的需求
- libinimini 是一个非常简单的 ini 配置文件解析库,适用于 RTOS 或裸跑的单片机
- heatshrink 是基于 LZSS 的小型压缩库,使用 50-300 字节的内存可以很好地运行。支持压缩和解压。用avr-gcc测试,仅需1KB Flash空间
- 嵌入式系统的轻量级C库—PicoLibC
- Opus 是用 C 语言开发的一个高灵活度的音频编码器,针对 ARM、x86 有特殊优化
- Qfplib 是 ARM Cortex-M 内核的 IEEE 754 浮点库家族。Qfplib 有三个分支针对不同的内核,并以不同的优化目标编写
- 一种超轻量的可纠错的通用单片机flash存储方案TinyFlashDB
- 小而美的、用于嵌入式系统的USB主从协议栈CherryUSB
- FatFS 作者 ChaN 老师做的一个 miniDDS 库。方案基于 ST 公司的 STM32F303K8T6,该芯片集成了三个12位D-A转换器(高转换率、多通道、1 Msa/sec)。ChaN 老师在方案实现中详细研究了利用 LUT 数据插值提高合成波形精度的方法
- Mbed推出的精简 printf 实现Minimal printf,C 标准库里的 printf 实现比较占空间
- CMSIS-DSP软件包
- IO模拟CAN协议CANT
- IO模拟CAN协议CANTC和Python包canhack,方便大家移植到各种不带CAN的芯片
- PRosenb EEPROMWearLevel EEPROM磨损均衡
- DeviceScript 为基于低资源微控制器的设备带来了 TypeScript 开发人员的体验,DeviceScript 被编译成一个定制的 VM 字节码,它可以在非常受限的环境中运行
- Moddable SDK 改变了嵌入式软件的构建方式,它将为网络提供动力的 JavaScript 语言引入为消费者和工业物联网产品提供动力的低成本硬件。软件开发人员现在可以自由地使用许多标准的 web 开发工具,而不必纠结于专有的嵌入式 sdk
- JesFs(Jo’s Embedded Serial File System)是一款专为资源受限的嵌入式系统设计的轻量级串行 NOR 闪存文件系统
- Spiffs (SPI Flash File System) 是一个专门为嵌入式目标上的 SPI NOR 闪存设备设计的轻量级文件系统
- Littlefs,资源受限的嵌入式系统文件系统,具备平均磨损copy-on-write特性
- lwmem是一个专为轻量级嵌入式项目设计的内存池接口,提供如malloc、calloc、realloc和free等关键的动态内存管理功能
RTOS
- Lua-RTOS-ESP32是一款支持Lua编程的RTOS,目前支持ESP32,ESP8266和PIC32MZ,还带有图形化的上位机编程界面
- TinyGo是一个将Go语言带入具有单处理器内核的微控制器和小型系统的项目,其通过创建基于LLVM的新编译器来实现在微控制器上运行Go程序,这有望带来更小更高效的代码,并且肯定会带来更大的灵活性。
- KLite是由个人编写的嵌入式操作系统内核,创建于2015年5月6日,并以MIT协议开放源代码。它是一款入门级的小型抢占式操作系统内核,以简洁易用为设计目标,旨在降低学习嵌入式操作系统编程和入门的难度。简洁的API风格,简洁的调用方式,简单的移植方法,可能是目前最简单易用的嵌入式操作系统内核
- AntOS - 适用 8051 的超轻量级实时操作系统
- AliOS Things 发布于2017年杭州云栖大会, 是 AliOS 家族旗下的、面向IoT领域的、高可伸缩的物联网操作系统
- cola_os 是一个 300 行代码实现多任务管理的 OS,在很多 MCU 开发中,功能很简单,实时性要求不强,如果使用 RTOS 显得太浪费,任务多了管理不当又很乱,所以 cola_os 这种简单好用的轮询式任务管理是更合适的选择
- CosyOS 是一款来自中国的开源实时操作系统,从经典的 8051 内核,到流行的 Arm Cortex-M 内核,均可实现全局不关总中断、零中断延迟,适用于对系统实时性及中断响应速度有较高要求的场合
- EFSM (event finite state machine,事件驱动型有限状态机),是一个基于事件驱动的有限状态机,主要应用于嵌入式设备的软件系统中
- eLab 是一个集成了多种开源项目和多个技术特性的嵌入式开发平台。作者在这个项目里汇集了多年来在产品开发中的开发理念和经验,以现有的开源软件为主,以作者自己开发的组件为辅,打造一个统一而完善的开发平台
- ztask 是一个简单的基于计时器的调度器,除了 C 语言版本之外,也提供了 C++ 版本。C 语言版本就 ztask.h 和 ztask.c 俩文件,五个 API
- CDNET 协议非常简单,可以支持数据表读写、打印、IAP、波形显示 等功能,还可以使用配套开源上位机 cdbus_gui、cdnet_tun 等工具,把简单的串口数据包映射成电脑 UDP 数据包,上位机可以使用 UDP/IP 实现串口通讯
工具
- SerialChart is used for real-time charting of data sent via serial (RS-232) port
- Serial Studio是一个多平台,多用途的串行数据可视化的应用软件。Serial Studio的目标是使嵌入式开发人员和制造商可以轻松地可视化的呈现和分析其项目和设备生成的数据,而无需为每个项目编写专用的计算机软件。
- SerialPlot是一个可视化的串口收发工具,QT源码开源。这个软件非常好用,能录波、缩放、多种格式输入,数据输入设置比较灵活,作者还在持续更新。
- ScriptCommunicator 是一种可编写脚本的跨平台数据终端,支持串行端口(RS232、USB到串行)、UDP、TCP客户机/服务器、SPI、I2C和CAN。所有发送和接收的数据都可以显示在控制台中,并可以记录在html和文本日志中。
- amaoCom 即猫猫串口网络调试助手,集成com串口和TCP/UDP服务器,是开发者阿猫在项目开发过程中遇到各种问题解决方法,网友建议,与开发需求相结合而开发的一个实用简洁高效的串口网络调试助手
- VOFA+ 是一款通过直观简洁的协议将字节流翻译成多通道数据的软件,支持十六进制浮点数据,也支持CSV格式字符串流。VOFA+ 通过拖动的操作逻辑动态添加控件,并将数据绑定到控件上,以实现传感器数据的可视化。
- USB-HID-TEST 轻量级 USB 调试工具
- Zadig USB上位机驱动开发工具,特别是基于libUSB的上位机开发
- stcgal 是 STC MCU 的命令行编程工具,兼容 8051 系列单片机。是 STC Windows 软件的全功能开源替代品,便携使用,适合自动化
- Mind+ - 图形化Arduino编程工具
- Black Duck Protex开源代码检测工具
- Coverity代码静态检测工具
- Jenkins开源免费持续集成工具
- python中l表示_SKIDL: 在PYTHON中描述你的电路
- OpenOCD(Open On-Chip Debugger)是一个开源的片上调试器,它可以控制包括Wiggler之内的很多JTAG硬件,我们可以将它理解为一种GDB服务程序。OpenOCD 旨在提供针对嵌入式设备的调试、系统编程和边界扫描功能。https://github.com/openocd-org/openocd
- gdbgui 是gdb的一个Web可视化扩展,可以向开发人员提供Web展示前端,因此可以在浏览器中实现断点添加,堆栈查看跟踪以及更改上下文和参数值等操作。https://github.com/cs01/gdbgui
- Visual GDB 被描述为具有将 GCC、GDB 和 GNU Make 无缝集成到 Visual Studio 的能力,VisualGDB和Visual Studio相结合,使得跨平台开发非常容易和简便
- SCons 是一个Python写的自动化构建工具,嵌入式项目常用
- project_generator 嵌入式IDE工程文件自动生成工具,支持uVision4、uVision5和IAR等
- IDA Pro 交互式反汇编工具
- SnapEDA是PCB界的类GitHub网站,提供Eagle, Altium, OrCad, Allegro, KiCad, PADS等软件的封装和原理图库
- 编程手册管理软件Zeal
- PlatformIO 是一个用于物联网开发的开源生态系统。它提供跨平台的开发环境和统一的调试器,还支持远程单元测试和固件更新。PlatformIO 的核心(PlatformIO Core) 就是一个终端程序, 它能配合您喜欢的多款云 IDE、桌面 IDE 或者 通用代码编辑器构建 PlatformIO 的 IDE,比如 Atom, CLion, Eclipse, Emacs, NetBeans, Qt Creator, Sublime Text, VIM, Visual Studio, VSCode 等等。目前官方推荐的 IDE 使用方案就是 VSCode + PlatformIO IDE 插件
- TI推出的计算软件,主要用于运放,比较器,数据转换,噪声,PCB,传感器,I2C上拉计算
- WOKWI 是一个很酷的支持Arduino、ESP32、树莓派Pico在线仿真学习的网站
- 开源免费文件文件夹比较工具WinMerge
- Ghidra 是由美国国家安全局(NSA)研究理事会创建和维护的软件逆向工程(SRE)框架
- Renode 是一个用于嵌入式平台的开源仿真器。它支持 x86(Intel Quark)、 Cortex-A (NVIDIA Tegra)、 Cortex-M、 SPARC (Leon)和基于risc-v 的平台
- Tracealyzer是 Percepio 公司开发的一款用于RTOS或基于linux的嵌入式软件系统的可视化跟踪工具,对系统运行时的行为提供了前所未有的洞察方法。帮助开发人员加快固件的开发,减少对系统验证和性能优化所需要的时间
- Virtual Eval(虚拟评估)是ADI公司推出的一款综合性在线产品评估工具。Virtual Eval采用详细软件模型来模拟器件关键性能特征,而不要求购买硬件
- Mbed 为了方便开发,推出了一个仿真器,可以模拟运行效果,加快开发速度
- Visuino 是来自 Mitov 软件的最新创新软件。一个可视化编程环境,允许仿真编程Arduino板
- QT的串口示波器,完全开源,支持串口、TCP、波形显示、通信协议。感觉很不错,跟以前分享的那个vofa+有点像
- SD Card Formatter,SD卡联盟强烈强烈建议使用此软件来格式化SD/SDHC/SDXC卡
- Altium 出品的线上PCB Viewer,对于没有安装PCB软件的用户来说,查看PCB将非常方便
- ImHex是一款功能强劲的hex编辑器
- 二值视频格式转换工具,适合用在单色屏上,比如OLED
- 基于STM32的3D打印机模拟器,STM32硬件外设全部采用模拟的方式实现
- 线缆设计工具Cable Design TOOL 2022
- allaboutcircuits网站的97款在线电子开发工具
- SuperCom 是超级串口调试工具,用于 Window 串口日志的采集、存储、可视化等功能
- com0com - 开源的虚拟串口软件
- WaveDrom是一个免费开源的在线数字时序图渲染引擎。它可以使用JavaScript, HTML5和SVG来将时序图的WaveJSON描述转成SVG矢量图形,从而进行显示。WaveDrom可以嵌入到任何网页中。WaveDrom编辑器可在浏览器中运行,也可以安装在系统上,渲染引擎可以嵌入到任何网页中
- CieNTi serial_port_plotter Windows应用程序,可显示来自串行端口的实时数据,使用Qt和QCustomPlot库构建
- IOT-Tree Server——参考NodeRED设计的物联网开源软件平台
- ThingsBoard开源物联网平台之Web组态系统,实在太漂亮了,TB才是开源IoT平台中的一股清流
文章
绕过APPROTECT提取nRF52840固件(CVE-2020-27211复现)
工程师笔记 |USB发送数据时出现迟滞现象
用FPGA/树莓派RP2040驱动HDMI的资源
算法大师Robert Sedgewick在线课件
ARM School Program推出的系列培训手册