31-micropython
IoT aquarium monitoring with causal inference on Raspberry Pi 5
Install / Use
npx skills add yoshidomekouichi/aquapulseInstalls into whichever agent you are using.
Cursor Rules
Cursor IDE rules (v2)
Quality Score
Category
OperationsSupported Platforms
Our assessment of 31-micropython
31-micropython scores 63/100 on our quality scale, 712th of 755 Operations skills we index.
Its Cursor Rules is 4.1 KB long, well organised into 16 sections with 13 code examples: a solid amount of guidance for an agent.
It has no GitHub stars yet, so there is no community track record; judge it on its content.
Maintenance, license and trust
- We could not determine when the repository was last updated.
- Our last check on 2026-10-18 found the source still online.
- No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
- Its trust signals score 68/100, with 3 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit ā read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.
AI review by kimi-k2.7-code on 2026-09-24. Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk ā read a skill before letting an agent act on it.
31-micropython compared with similar skills
All 4 of these similar skills score higher than 31-micropython; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| 31-micropython (this skill)by yoshidomekouichi | 63 | 0 | ā | Cursor Rules |
| Agent-Reachby Panniantong | 100 | 109.7k | today | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 79.0k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 98.8k | 1d ago | MCP Server |
| crawl4aiby unclecode | 100 | 87.0k | 2d ago | MCP Server |
Frequently asked questions
- How do I install 31-micropython?
- Run
npx skills add yoshidomekouichi/aquapulse. The install tabs above show the steps for each supported agent. - Which AI agents does 31-micropython work with?
- It is written for Cursor, as a Cursor Rules file. Other agents that read the same format can often use it too.
- Is 31-micropython safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It declares no license and scores 68/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is 31-micropython still maintained?
- We could not determine when the repository was last updated.
Skill content
View source on GitHubdescription: MicroPython Coding Standards for ESP32 alwaysApply: false globs:
- "esp32/**/*.py" metadata: environments: cloud
MicroPython Standards (ESP32)
This file applies only to MicroPython code for ESP32 hardware.
Memory Constraints (CRITICAL)
ESP32 RAM: ~100KB available for MicroPython
Flash: 4MB (code + filesystem)
AVOID:
- Large imports (import only what you need)
- Heavy libraries (requests, asyncio extensive use)
- Large data structures in memory
USE:
- Lightweight u-prefixed libraries
- Streaming for large data
- Garbage collection when needed (import gc; gc.collect())
Library Selection
Standard library ā u-prefixed version:
# ā Correct
import urequests
import ujson
import utime
# ā Wrong (these don't exist in MicroPython)
import requests
import json
import time
Common libraries:
urequests- HTTP requests (lightweight)ujson- JSON encoding/decodingutime- Time functionsmachine- Hardware control (GPIO, Pin, etc.)network- WiFi connectivity
Async/Concurrency
ā ļø LIMITED asyncio support
AVOID:
- Complex asyncio patterns
- Multiple concurrent tasks
- AsyncIO-based libraries
OK:
- Simple asyncio.run() for single async function
- time.sleep() for delays (blocking is fine)
PREFER:
- Synchronous, blocking code
- Simple loops with time.sleep()
Error Handling
ALWAYS catch exceptions:
# ā Good
try:
response = urequests.post(url, data=data)
print(f'Success: {response.status_code}')
response.close()
except Exception as e:
print(f'Error: {e}')
# Continue or retry
No tracebacks in production:
- MicroPython prints full tracebacks
- Catch exceptions to prevent ugly errors
- Log errors for debugging
Implement reconnection logic:
def connect_wifi():
retry_count = 0
max_retries = 3
while retry_count < max_retries:
try:
wlan.connect(SSID, PASSWORD)
# wait for connection
return True
except Exception as e:
print(f'WiFi error: {e}')
retry_count += 1
utime.sleep(5)
return False
Hardware Access
Pin configuration:
from machine import Pin
# Output (LED, relay)
led = Pin(2, Pin.OUT)
led.on()
led.off()
# Input (button, sensor)
button = Pin(0, Pin.IN, Pin.PULL_UP)
state = button.value()
DS18B20 Temperature Sensor:
import machine
import onewire
import ds18x20
dat = machine.Pin(4)
ds = ds18x20.DS18X20(onewire.OneWire(dat))
roms = ds.scan()
ds.convert_temp()
utime.sleep_ms(750)
temp = ds.read_temp(roms[0])
Network Operations
WiFi connection:
import network
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(SSID, PASSWORD)
# Wait for connection
while not wlan.isconnected():
utime.sleep(1)
print(f'Connected: {wlan.ifconfig()[0]}')
HTTP POST:
import urequests
import ujson
data = {'sensor_id': 'esp32_001', 'value': 25.5}
response = urequests.post(
'https://example.com/api',
headers={'Content-Type': 'application/json'},
data=ujson.dumps(data),
timeout=10
)
print(f'Status: {response.status_code}')
response.close() # Always close!
Before Writing MicroPython Code
Self-check:
[ ] Using u-prefixed libraries (urequests, ujson)?
[ ] Memory usage considered?
[ ] Avoid complex asyncio?
[ ] Exception handling implemented?
[ ] WiFi reconnection logic?
[ ] HTTP response.close() called?
Common Mistakes
ā Using standard Python libraries (requests, json)
ā Not closing HTTP responses (memory leak)
ā Complex asyncio patterns
ā No exception handling
ā No WiFi reconnection logic
ā Large data structures in RAM
Debugging
Print debugging:
print(f'Temperature: {temp:.2f}C')
print(f'WiFi status: {wlan.isconnected()}')
print(f'Free memory: {gc.mem_free()} bytes')
REPL access:
- Connect via USB serial (e.g., screen, picocom)
- Test code interactively
- Check errors immediately
Soft reset:
import machine
machine.soft_reset()
Related Skills
Agent-Reach
109.7kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu ā one CLI, zero API fees.
headroom
79.0kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Scrapling
98.8kš·ļø The BEST Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
crawl4ai
87.0kOfficial Crawl4AI Cloud: a hosted web scraping, extraction, and search API for AI agents. Free API key, 1,000 credits a month, no card. Fully open source: this repo is the Apache-2.0 crawler that powers it, and you can self-host it.
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit ā see the Safety scan above for what the skill file itself contains.
