-
Notifications
You must be signed in to change notification settings - Fork 19
Add documentation for 4 new apps: Crypto, Stocks, Weather, and WiFi #5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,102 @@ | ||
| --- | ||
| title: "Crypto Tracker" | ||
| description: "Real-time cryptocurrency price tracker. Displays Bitcoin, Ethereum, Dogecoin, and Ripple prices with live updates." | ||
| icon: "/images/apps/crypto.png" | ||
| category: "utility" | ||
| preloaded: false | ||
| customizable: true | ||
| fileLocation: "/apps/crypto" | ||
| --- | ||
|
|
||
| # Crypto Tracker | ||
|
|
||
| Track real-time cryptocurrency prices directly on your Badger 2350. Displays live prices for Bitcoin (BTC), Ethereum (ETH), Dogecoin (DOGE), and Ripple (XRP) with price changes and percentage movements. | ||
|
|
||
| ## Features | ||
|
|
||
| - **Live Price Updates**: Real-time cryptocurrency prices from Yahoo Finance API | ||
| - **Four Major Cryptos**: Bitcoin, Ethereum, Dogecoin, and Ripple tracking | ||
| - **Price Change Indicators**: Green for gains, red for losses with percentage changes | ||
| - **Auto-Refresh**: Automatically updates prices every 60 seconds | ||
| - **Manual Refresh**: Press B button to refresh prices on demand | ||
| - **WiFi Integration**: Connects to WiFi using credentials from `/secrets.py` | ||
| - **Clean UI**: GitHub-themed dark interface with color-coded price movements | ||
|
|
||
| ## Tracked Cryptocurrencies | ||
|
|
||
| - **Bitcoin (BTC-USD)**: The original cryptocurrency | ||
| - **Ethereum (ETH-USD)**: Smart contract platform | ||
| - **Dogecoin (DOGE-USD)**: The people's crypto | ||
| - **Ripple (XRP-USD)**: Digital payment protocol | ||
|
|
||
| ## Controls | ||
|
|
||
| - **B Button**: Manually refresh cryptocurrency prices | ||
|
||
| - Auto-refresh occurs every 60 seconds when connected | ||
|
|
||
| ## Install | ||
|
|
||
| 1. Copy the `crypto/` folder to `/apps/crypto/` on the BADGER drive while in USB storage mode | ||
| 2. Ensure `/secrets.py` is configured with WiFi credentials (see Configuration below) | ||
| 3. Eject, reboot, and launch Crypto Tracker from the menu | ||
|
|
||
| ## File Layout | ||
|
|
||
| ``` | ||
| /apps/crypto/ | ||
| ├── __init__.py # Main app with API integration and price display | ||
| └── icon.png # App icon for the launcher | ||
| ``` | ||
|
|
||
| ## Configuration | ||
|
|
||
| Create or edit `/secrets.py` on your badge: | ||
|
|
||
| ```python | ||
| # WiFi credentials | ||
| WIFI_SSID = "YourNetworkName" | ||
| WIFI_PASSWORD = "YourPassword" | ||
|
|
||
| # Your GitHub username (optional for this app) | ||
| GITHUB_USERNAME = "yourusername" | ||
| ``` | ||
|
|
||
| **Required Variables:** | ||
| - `WIFI_SSID`: Your WiFi network name | ||
| - `WIFI_PASSWORD`: Your WiFi password | ||
|
|
||
| ## How It Works | ||
|
|
||
| 1. **WiFi Connection**: Connects to WiFi using credentials from `/secrets.py` | ||
| 2. **Price Fetching**: Queries Yahoo Finance API for each cryptocurrency | ||
| 3. **Real-time Display**: Shows current price, daily change, and percentage movement | ||
| 4. **Auto-refresh**: Updates every 60 seconds automatically | ||
| 5. **Color Coding**: Green text for positive changes, red for negative, gray for no change | ||
|
|
||
| ## Technical Details | ||
|
|
||
| - Uses Yahoo Finance public API (no API key required) | ||
| - Implements efficient memory management with garbage collection | ||
| - 60-second WiFi connection timeout | ||
| - Handles network errors gracefully with error messages | ||
| - Price formatting adapts based on crypto value (more decimals for sub-$1 coins) | ||
|
|
||
| ## Troubleshooting | ||
|
|
||
| **"No WiFi Config" message:** | ||
| - Edit `/secrets.py` with your WiFi credentials | ||
| - Ensure WIFI_SSID and WIFI_PASSWORD are set correctly | ||
|
|
||
| **"Connection Failed" message:** | ||
| - Verify WiFi credentials are correct | ||
| - Check that your network is 2.4GHz (Badger 2350 doesn't support 5GHz) | ||
| - Move closer to your WiFi router | ||
|
|
||
| **Prices showing as $0.00:** | ||
| - Check internet connection | ||
| - API may be temporarily unavailable - wait and refresh | ||
| - Press B button to manually retry fetching | ||
|
|
||
| ## Source | ||
|
|
||
| GitHub repository: [Add your repository URL here] | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,125 @@ | ||
| --- | ||
| title: "Stock Tracker" | ||
| description: "Real-time stock market tracker. Monitor S&P 500, Microsoft, Figma, and Apple stock prices with live market data." | ||
| icon: "/images/apps/stocks.png" | ||
| category: "utility" | ||
| preloaded: false | ||
| customizable: true | ||
| fileLocation: "/apps/stocks" | ||
| --- | ||
|
|
||
| # Stock Tracker | ||
|
|
||
| Monitor real-time stock market prices on your Badger 2350. Track S&P 500 (VOO), Microsoft (MSFT), Figma (FIG), and Apple (AAPL) with live price updates and percentage changes. | ||
|
|
||
| ## Features | ||
|
|
||
| - **Live Stock Prices**: Real-time market data from Yahoo Finance API | ||
| - **Major Tech Stocks**: Track MSFT, AAPL, and FIG alongside S&P 500 index | ||
| - **Price Movement**: Color-coded gains (green) and losses (red) with percentages | ||
| - **Auto-Refresh**: Automatically updates prices every 60 seconds | ||
| - **Manual Refresh**: Press B button to refresh prices on demand | ||
| - **WiFi Integration**: Connects using credentials from `/secrets.py` | ||
| - **Market-Ready UI**: Clean GitHub-themed interface with professional stock display | ||
|
||
|
|
||
| ## Tracked Stocks | ||
|
|
||
| - **VOO**: Vanguard S&P 500 ETF (Market Index) | ||
| - **MSFT**: Microsoft Corporation | ||
| - **FIG**: Figma Inc. | ||
| - **AAPL**: Apple Inc. | ||
|
|
||
| ## Controls | ||
|
|
||
| - **B Button**: Manually refresh stock prices | ||
|
||
| - Auto-refresh occurs every 60 seconds when connected | ||
|
|
||
| ## Install | ||
|
|
||
| 1. Copy the `stocks/` folder to `/apps/stocks/` on the BADGER drive while in USB storage mode | ||
| 2. Ensure `/secrets.py` is configured with WiFi credentials (see Configuration below) | ||
| 3. Eject, reboot, and launch Stock Tracker from the menu | ||
|
|
||
| ## File Layout | ||
|
|
||
| ``` | ||
| /apps/stocks/ | ||
| ├── __init__.py # Main app with market data integration | ||
| └── icon.png # App icon for the launcher | ||
| ``` | ||
|
|
||
| ## Configuration | ||
|
|
||
| Create or edit `/secrets.py` on your badge: | ||
|
|
||
| ```python | ||
| # WiFi credentials | ||
| WIFI_SSID = "YourNetworkName" | ||
| WIFI_PASSWORD = "YourPassword" | ||
|
|
||
| # Your GitHub username (optional for this app) | ||
| GITHUB_USERNAME = "yourusername" | ||
| ``` | ||
|
|
||
| **Required Variables:** | ||
| - `WIFI_SSID`: Your WiFi network name | ||
| - `WIFI_PASSWORD`: Your WiFi password | ||
|
|
||
| ## How It Works | ||
|
|
||
| 1. **WiFi Connection**: Connects to WiFi using credentials from `/secrets.py` | ||
| 2. **Market Data Fetching**: Queries Yahoo Finance API for each stock symbol | ||
| 3. **Real-time Display**: Shows current price, daily change, and percentage movement | ||
| 4. **Auto-refresh**: Updates every 60 seconds during market hours | ||
| 5. **Color Coding**: Green for gains, red for losses, gray for unchanged | ||
|
|
||
| ## Technical Details | ||
|
|
||
| - Uses Yahoo Finance public API (no API key required) | ||
| - Efficient memory management with garbage collection | ||
| - 60-second WiFi connection timeout | ||
| - Graceful error handling with clear status messages | ||
| - Price formatting with appropriate decimal places | ||
| - Displays after-hours prices when markets are closed | ||
|
|
||
| ## Market Hours Note | ||
|
|
||
| Stock prices update in real-time during market hours (9:30 AM - 4:00 PM ET, Monday-Friday). Outside market hours, the app displays the most recent closing prices. | ||
|
|
||
| ## Troubleshooting | ||
|
|
||
| **"No WiFi Config" message:** | ||
| - Edit `/secrets.py` with your WiFi credentials | ||
| - Ensure WIFI_SSID and WIFI_PASSWORD are set correctly | ||
|
|
||
| **"Connection Failed" message:** | ||
| - Verify WiFi credentials are correct | ||
| - Check that your network is 2.4GHz (Badger 2350 doesn't support 5GHz) | ||
| - Move closer to your WiFi router | ||
|
|
||
| **Prices showing as $0.00:** | ||
| - Check internet connection | ||
| - Stock symbol may be invalid or delisted | ||
| - API may be temporarily unavailable - press B to retry | ||
|
|
||
| **Prices not updating:** | ||
| - Markets may be closed (weekends, holidays, after-hours) | ||
| - Press B button to manually refresh | ||
| - Check WiFi connection status | ||
|
|
||
| ## Customization | ||
|
|
||
| Edit the `STOCKS` list in `__init__.py` to track different stocks: | ||
|
|
||
| ```python | ||
| STOCKS = [ | ||
| ("GOOGL", "Google"), | ||
| ("TSLA", "Tesla"), | ||
| ("NVDA", "NVIDIA"), | ||
| ("META", "Meta") | ||
| ] | ||
| ``` | ||
|
|
||
| ## Source | ||
|
|
||
| GitHub repository: [Add your repository URL here] | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,143 @@ | ||
| --- | ||
| title: "Weather" | ||
| description: "Real-time weather information with auto-location detection. Displays temperature, humidity, wind speed, and current conditions." | ||
| icon: "/images/apps/weather.png" | ||
| category: "utility" | ||
| preloaded: false | ||
| customizable: true | ||
| fileLocation: "/apps/weather" | ||
| --- | ||
|
|
||
| # Weather | ||
|
|
||
| Get real-time weather information on your Badger 2350. Automatically detects your location and displays current temperature, humidity, wind speed, and weather conditions. | ||
|
|
||
| ## Features | ||
|
|
||
| - **Auto-Location Detection**: Automatically detects your location from IP address | ||
| - **Current Weather**: Real-time temperature, humidity, and wind speed | ||
| - **Weather Conditions**: Clear descriptions of current weather (Clear, Cloudy, Rain, etc.) | ||
| - **No API Key Required**: Uses free Open-Meteo weather API | ||
| - **Auto-Refresh**: Updates weather data every 60 seconds | ||
| - **Manual Refresh**: Press B button to refresh weather on demand | ||
| - **WiFi Integration**: Connects using credentials from `/secrets.py` | ||
| - **Clean Display**: GitHub-themed interface with color-coded weather info | ||
|
||
|
|
||
| ## Weather Data | ||
|
|
||
| - **Temperature**: Displayed in Fahrenheit | ||
| - **Humidity**: Relative humidity percentage | ||
| - **Wind Speed**: Current wind speed in mph | ||
| - **Conditions**: Weather description (Clear, Cloudy, Rain, Snow, etc.) | ||
| - **Location**: Auto-detected city name | ||
|
|
||
| ## Controls | ||
|
|
||
| - **B Button**: Manually refresh weather data | ||
|
||
| - Auto-refresh occurs every 60 seconds when connected | ||
|
|
||
| ## Install | ||
|
|
||
| 1. Copy the `weather/` folder to `/apps/weather/` on the BADGER drive while in USB storage mode | ||
| 2. Ensure `/secrets.py` is configured with WiFi credentials (see Configuration below) | ||
| 3. Eject, reboot, and launch Weather from the menu | ||
|
|
||
| ## File Layout | ||
|
|
||
| ``` | ||
| /apps/weather/ | ||
| ├── __init__.py # Main app with weather API and location detection | ||
| └── icon.png # App icon for the launcher | ||
| ``` | ||
|
|
||
| ## Configuration | ||
|
|
||
| Create or edit `/secrets.py` on your badge: | ||
|
|
||
| ```python | ||
| # WiFi credentials | ||
| WIFI_SSID = "YourNetworkName" | ||
| WIFI_PASSWORD = "YourPassword" | ||
|
|
||
| # Your GitHub username (optional for this app) | ||
| GITHUB_USERNAME = "yourusername" | ||
| ``` | ||
|
|
||
| **Required Variables:** | ||
| - `WIFI_SSID`: Your WiFi network name | ||
| - `WIFI_PASSWORD`: Your WiFi password | ||
|
|
||
| ## How It Works | ||
|
|
||
| 1. **WiFi Connection**: Connects to WiFi using credentials from `/secrets.py` | ||
| 2. **Location Detection**: Automatically detects location from IP using ipapi.co | ||
| 3. **Weather Fetching**: Queries Open-Meteo API with detected coordinates | ||
| 4. **Real-time Display**: Shows temperature, humidity, wind, and conditions | ||
| 5. **Auto-refresh**: Updates every 60 seconds automatically | ||
| 6. **Fallback Location**: Defaults to San Francisco if detection fails | ||
|
|
||
| ## Technical Details | ||
|
|
||
| - Uses Open-Meteo free weather API (no API key required) | ||
| - Location detection via ipapi.co (free IP geolocation) | ||
| - WMO (World Meteorological Organization) weather codes | ||
| - Temperature in Fahrenheit, wind speed in mph | ||
| - Efficient memory management with garbage collection | ||
| - 60-second WiFi connection timeout | ||
| - Graceful error handling with status messages | ||
|
|
||
| ## Weather Conditions | ||
|
|
||
| The app interprets WMO weather codes to display clear conditions: | ||
| - **Clear**: Clear skies | ||
| - **Partly Cloudy**: Some cloud cover | ||
| - **Cloudy**: Overcast | ||
| - **Fog**: Foggy conditions | ||
| - **Drizzle/Rain**: Light or heavy rain | ||
| - **Snow**: Snow or freezing conditions | ||
| - **Thunderstorm**: Stormy weather | ||
|
|
||
| ## Location Detection | ||
|
|
||
| The app automatically detects your location using your IP address. This means: | ||
| - ✅ No manual configuration needed | ||
| - ✅ Works anywhere with WiFi | ||
| - ✅ Updates if you travel to a new location | ||
| - ⚠️ May be less accurate than GPS (usually city-level accuracy) | ||
| - ⚠️ Falls back to San Francisco if detection fails | ||
|
|
||
| ## Troubleshooting | ||
|
|
||
| **"No Configuration" message:** | ||
| - Edit `/secrets.py` with your WiFi credentials | ||
| - Ensure WIFI_SSID and WIFI_PASSWORD are set correctly | ||
|
|
||
| **"Location detection failed":** | ||
| - App will default to San Francisco weather | ||
| - Check internet connection | ||
| - Press B button to retry | ||
|
|
||
| **Weather data not displaying:** | ||
| - Check WiFi connection | ||
| - Verify internet connectivity | ||
| - API may be temporarily unavailable - wait and refresh | ||
|
|
||
| **Wrong location detected:** | ||
| - Location is based on IP address (VPN may affect this) | ||
| - You can manually edit the code to set LATITUDE/LONGITUDE | ||
|
|
||
| ## Customization | ||
|
|
||
| To use a specific location instead of auto-detection, edit `__init__.py`: | ||
|
|
||
| ```python | ||
| # Set your desired location | ||
| LATITUDE = 40.7128 # New York City | ||
| LONGITUDE = -74.0060 | ||
| LOCATION_NAME = "New York" | ||
| location_detected = True # Skip auto-detection | ||
| ``` | ||
|
|
||
| ## Source | ||
|
|
||
| GitHub repository: [Add your repository URL here] | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The phrase 'Clean UI' and 'GitHub-themed' use marketing/branding language. According to the hacker aesthetic guidelines, avoid corporate terminology. Consider using technical descriptions like 'Dark monospace interface with color-coded movements' or 'Terminal-style price display'.