This repository contains the hardware design files, documentation, and support materials for the SIM7000 LTE Shield, an Arduino-compatible shield that adds LTE CAT-M1/NB-IoT connectivity and GNSS capabilities. The repository does not contain the actual software library (which resides in a separate Botletics-SIM7000 repo), but focuses on the hardware implementation, including PCB design files, schematics, AT command documentation, and firmware update tools. The hardware design features the SIM7000 series module from SIMCom, integrated with a uFL antenna connector for LTE, a separate uFL for GNSS (GPS/GLONASS/BDS/Galileo), a SIM card holder, USB interface for debugging/firmware updates, level shifting circuitry (TXB0104) for 3.3V/5V compatibility, status LEDs, and an MCP9808 I2C temperature sensor. The power supply design includes appropriate filtering and regulation for the cellular module. The PCB layout demonstrates attention to RF considerations with proper component placement and routing. Documentation includes comprehensive AT command logs showing how to configure the module for various network operations (registration, TCP/IP, SSL/TLS, MQTT), GNSS functionality, and sensor interfacing. These logs serve as practical examples for developers looking to implement cellular IoT applications. The repository also provides firmware update procedures using Qualcomm's QPST tool, though this is specific to the module manufacturer's update process. While the actual firmware/software for running applications on the shield is in a separate repository, this hardware repository provides a complete, validated reference design that enables developers to create IoT applications requiring cellular connectivity and location tracking. The design appears to be current, well-executed, and suitable for reuse as a starting point for similar LTE/GNSS shield projects.
SPIMemory is an Arduino library providing a high-level interface for SPI Flash and FRAM memory chips. It supports reading, writing, and erasing data of various types (byte, char, word, long, float, string, arrays, structs) across a wide range of microcontrollers (AVR, SAM, SAMD, ESP8266, ESP32, STM32, nRF52, etc.) and memory chip manufacturers. The library automatically identifies chips via JEDEC IDs and the SFDP standard (JESD216B), manages address allocation, and offers optional error checking and high-speed modes. It is not a standalone application but a reusable component for embedded firmware projects requiring external non-volatile storage. The codebase demonstrates solid engineering with template-based I/O, conditional compilation for platform support, and a consistent error-reporting pattern. However, it shows signs of technical drift: dual documentation systems (Sphinx and MkDocs) with stale build artifacts, outdated jQuery in docs, beta features (FRAM, ESP32 custom SPI), and some commented-out debug prints. The library is actively maintained (recent commits, version 3.4.0) but has 71 open issues, indicating ongoing development and community use.