Skip to content

v1.0.0 - Initial Release (2025-11-03)

Overview

The first stable release of the OSECHI Cosmic Ray Detector - Kurikintons project. This release marks the migration from a standalone Arduino sketch to a fully-fledged PlatformIO-based project with proper modularization, documentation, and development tooling.

What's Included

✨ Features

  • PlatformIO Project Structure - Professional C++ project setup for ESP32 development
  • Arduino Sketch Migration - Complete migration from standalone .ino file to modular architecture
  • Project Documentation - Comprehensive getting-started guide, hardware documentation, and software architecture overview
  • Development Tooling - Integrated mkdocs documentation, commitizen version management, and uv Python environment

📦 Components

  • Hardware Support
  • ESP32-WROOM-32E microcontroller
  • BME280 environmental sensor (temperature, humidity, pressure)
  • Cosmic ray detection circuits
  • Three LED indicator outputs

  • Software Stack

  • Arduino framework on ESP32
  • Adafruit BME280 library for sensor communication
  • Serial communication at 115200 baud
  • SPI-based DAC control for detector configuration

📄 Documentation

  • Getting Started Guide - Quick setup instructions
  • Hardware Documentation - Detailed hardware specifications and connections
  • Software Architecture - Code organization and module descriptions
  • API Reference - Comprehensive library documentation

Technical Details

Build System

  • PlatformIO for firmware compilation and deployment
  • ESP32dev environment configuration
  • Memory usage: ~6.9% RAM, ~22.5% Flash

Dependencies

  • Framework: Arduino (via esp32 platform)
  • Libraries:
  • Adafruit Unified Sensor
  • Adafruit BME280 Library
  • SPI

Firmware Specifications

  • Target Device: ESP32-WROOM-32E
  • Architecture: Xtensa-ESP32 (240MHz)
  • RAM: 327KB available
  • Flash: 1.3MB available
  • Serial Baud Rate: 115200

Known Limitations

  1. Serial Communication - No advanced error checking or retry mechanism
  2. Signal Processing - GPIO sampling uses register-level access with minimal filtering
  3. Documentation - Limited API documentation for sensor modules
  4. Testing - No unit test framework currently implemented

Getting Started

Prerequisites

  • Python 3.11+ with uv package manager
  • PlatformIO CLI
  • ESP32-WROOM-32E development board
  • USB-to-Serial adapter for programming

Installation

# Clone the repository
git clone https://gitlab.com/osechi/kurikintons.git
cd kurikintons

# Set up Python environment
uv venv
uv pip install platformio

# Build firmware
uv run platformio run

# Upload to ESP32
uv run platformio run --target upload

Serial Monitor

uv run platformio device monitor --baud 115200

File Structure

.
├── src/
│   ├── main.cpp           # Main firmware entry point
│   ├── serial_communication.cpp
│   ├── bme280_sensor.cpp
│   ├── adc_sensor.cpp
│   └── spi_control.cpp
├── include/
│   ├── serial_communication.h
│   ├── bme280_sensor.h
│   ├── adc_sensor.h
│   └── spi_control.h
├── docs/                  # Documentation
├── platformio.ini         # PlatformIO configuration
└── pyproject.toml         # Python project configuration

Contributors

  • Shota Takahashi (KMI, Nagoya University)

License

[To be determined]

Next Steps

Planned improvements for future releases:

  • Enhanced communication stability mechanisms
  • Cosmic detector module integration
  • Comprehensive unit testing framework
  • Advanced signal processing and filtering
  • Expanded documentation and examples

Support

For issues, questions, or contributions, please visit:


Release Date: November 3, 2025 Tag: 1.0.0