|
MPLAB X IDEMicrochip Technology
|
|
|
Autodesk Fusion 360Autodesk
|
|
|
KiCADKicad
|
IoT Risk Data Logger
Fully open-source and open-hardware data logger tailored for logistics applications i.e. for cold chain monitoring systems.
Please check Medium post with the extended description of the project.
Schematics, PCB, enclosure, BOM, assembly documentation
Key risk metrics:
- Temperature/Humidity Sensirion SHT3x
- Ambient Light Sensor TI OPT3001
- Shock Sensor - Accelerometer NXP MMA8452Q
Communication:
- USB-C:
- MSD: Device works as a flash drive to direct log read on PC
- CDC: Console for debug and firmware bootloader
- NFC for control through mobile app ST ST25DV04K
Security:
- Hardware crypto Microchip ATECC608A for:
- Firmware encryption for bootloader
- Log data encryption
- Authentication (X509 certificates for IoT platforms)
Power:
- Powered by 2xAAA batteries or USB-C (reverse polarity protection, OR source selection)
- Low Power Consumption: Ultra-low power architecture, ~ one year of data acquisition
Additional Features:
- 4MB SPI NOR Flash AT25DF321
- RTC Clock: accurate 32.768Hz quartz oscillator
- LED: Simple indication for device states
Main MCU
- Microchip ATSAMD21E18 - 32-bit ARM Cortex-M0+ MCU, 48MHz, 256KB of flash and 32KB of SRAM. Satisfies AEC-Q100, recommended for Automotive.
Firmware
The firmware is written in C with a bare-metal approach and exclusively uses static memory allocation. It is developed on top of the Harmony v3 Embedded Software framework. Developed with MPLAB X IDE, XC32 compiler.
Main architecture
The source code adheres to an asynchronous, non-blocking programming style designed to achieve ultra-low power consumption.
The core mechanism revolves around handling asynchronous events from a queue and entering a low-power sleep state when the queue is empty. New events are enqueued either through interrupts (e.g., cron-scheduled sensor reads) or through the main system loop.
The architecture incorporates the following key concepts:
- Event Loop
- Actor Model - aka Active Object
- Finite-state machine - Mealy + Moore implementation
To streamline development, an Active Object + FSM library has been implemented and is maintained in a separate active-object-fsm repository.
IoT Risk Data Logger
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
- Comments(7)
- Likes(17)
- Simeon Ivanov Dec 22,2024
- yogesh Nov 13,2024
- Engineer Sep 29,2024
- Engineer Sep 08,2024
- Steven JK Jul 24,2024
- Engineer May 17,2024
- Massimiliano Spoto May 14,2024
- 64Bit_VeX Mar 11,2024
- Engineer Mar 07,2024
- thanhviet Jan 21,2024
- RF HWman Dec 14,2023
- Haim Lieberman Oct 14,2023
- Engineer Sep 17,2023
- Serhii Trush Sep 17,2023
- Vitaly Domnikov Sep 17,2023
- Engineer Sep 16,2023
- MarynaLisa Sep 16,2023
- 5 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
-
9design
-
7usability
-
8creativity
-
7content
-
9design
-
8usability
-
7creativity
-
8content
-
10design
-
10usability
-
10creativity
-
10content
-
10design
-
10usability
-
10creativity
-
10content
-
10design
-
10usability
-
10creativity
-
10content
More by Haim Lieberman
-
-
-
kmMiniSchield MIDI I/O - IN/OUT/THROUGH MIDI extension for kmMidiMini
121 0 0 -
DIY Laser Power Meter with Arduino
171 0 2 -
-
-
Box & Bolt, 3D Printed Cardboard Crafting Tools
162 0 2 -