A next-generation interactive learning platform for embedded programming with ESP32, Arduino, and hardware modules.
๐ Live Demo โข ๐ Documentation โข ๐ฅ Video Demo โข ๐ฌ Discord
Learning embedded systems is hard. Beginners face:
- ๐ง Fragmented resources scattered across forums and docs
- ๐ Overwhelming complexity with no clear learning path
- ๐ Hardware barriers - you need expensive equipment to even start
- ๐ฐ No feedback loop - code either works or silently fails
HardwareHub solves this.
HardwareHub is a comprehensive embedded learning platform that takes you from complete beginner to building real IoT projects:
- Getting Started - Understand embedded systems fundamentals (no hardware needed!)
- ESP32 - WiFi & Bluetooth IoT projects
- Arduino - Classic microcontroller programming
- IF MAGIC - Modular plug-and-play hardware system
- Advanced - Custom protocols, optimization, production-ready code
- Smart Notes with Opennote - Take notes during lessons, get AI-generated quizzes
- Adaptive Content - Unlock intermediate/advanced lessons as you progress
- Personalized Recommendations - AI suggests next steps based on your interests
- Drag-and-Drop Canvas - Design hardware projects visually
- Real-time Connections - See how modules connect with animated circuit traces
- Export to Code - Generate starter code from your visual design
- Lesson Completion - Track your journey through each learning path
- Achievements & Streaks - Stay motivated with gamification
- Portfolio Builder - Showcase your projects
|
|
|
|
โ๏ธ React 19 - UI framework with latest features
โก Vite - Lightning-fast build tool
๐จ Tailwind CSS - Utility-first styling
๐งญ React Router - Client-side routing
๐ Auth0 - Authentication & authorization
๐ Opennote SDK - AI-powered note-taking
๐ Bun - Fast JavaScript runtime
๐ฅ Hono - Ultra-fast web framework
๐๏ธ Supabase - PostgreSQL database + auth
๐ฆ TypeScript - Type-safe development
๐ Bun - Runtime & package manager
โ๏ธ Vercel/Cloudflare - Deployment platforms
๐ค Anthropic API - Claude AI for quiz generation
๐ Auth0 - User authentication
๐ Opennote - Note-taking & AI features
๐๏ธ Supabase - Database, storage, realtime
git clone https://github.com/yourusername/hardwarehub.git
cd hardwarehub
chmod +x setup.sh && ./setup.shThe setup script will:
- โ Install all dependencies (frontend + backend)
- โ Guide you through Supabase setup
- โ Create environment files
- โ Initialize the database schema
- โ Start both dev servers
Click to expand detailed setup instructions
git clone https://github.com/yourusername/hardwarehub.git
cd hardwarehub
# Backend
cd backend
bun install
# Frontend
cd ../frontend/HardwareHub
bun install- Create project at supabase.com
- Go to SQL Editor
- Copy & paste
backend/supabase-schema.sql - Click Run to create all tables
- Get your keys from Project Settings โ API
Backend (backend/.env):
SUPABASE_URL=https://xxxxx.supabase.co
SUPABASE_ANON_KEY=your_anon_key_here
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key_here
AUTH0_DOMAIN=your-tenant.auth0.com
AUTH0_CLIENT_ID=your_auth0_client_id
AUTH0_CLIENT_SECRET=your_auth0_client_secret
ANTHROPIC_API_KEY=your_anthropic_key_here
PORT=3000
FRONTEND_URL=http://localhost:5173Frontend (frontend/HardwareHub/.env):
VITE_SUPABASE_URL=https://xxxxx.supabase.co
VITE_SUPABASE_ANON_KEY=your_anon_key_here
VITE_API_URL=http://localhost:3000
VITE_AUTH0_DOMAIN=your-tenant.auth0.com
VITE_AUTH0_CLIENT_ID=your_auth0_client_idTerminal 1 - Backend:
cd backend
bun run dev
# ๐ Server running at http://localhost:3000Terminal 2 - Frontend:
cd frontend/HardwareHub
bun run dev
# ๐จ Frontend running at http://localhost:5173- Navigate to http://localhost:5173
- Click Sign Up
- Create account (stored in Supabase)
- Start learning! ๐
graph TB
subgraph "Frontend - React + Vite"
A[User Interface] --> B[React Router]
B --> C[Learning Paths]
B --> D[Lesson Pages]
B --> E[Project Editor]
B --> F[Profile & Notes]
C --> G[API Client]
D --> G
E --> G
F --> G
end
subgraph "Backend - Hono API"
G --> H[Hono Server]
H --> I[Auth Middleware]
I --> J[Lessons Routes]
I --> K[Progress Routes]
I --> L[Notes Routes]
I --> M[Projects Routes]
end
subgraph "Data Layer"
J --> N[(Supabase PostgreSQL)]
K --> N
L --> N
M --> N
L --> O[Opennote SDK]
O --> P[Anthropic Claude API]
end
subgraph "Auth"
A --> Q[Auth0]
Q --> H
end
style A fill:#61dafb
style H fill:#ff6b6b
style N fill:#3ecf8e
style Q fill:#eb5424
hardwarehub/
โโโ ๐ฑ frontend/HardwareHub/
โ โโโ src/
โ โ โโโ ๐จ components/ # Reusable UI components
โ โ โ โโโ Layout.tsx # Main app layout with nav
โ โ โ โโโ ModuleIcons.tsx # Hardware module icons
โ โ โโโ ๐ pages/ # Route components
โ โ โ โโโ Home.tsx # Landing with animated circuits
โ โ โ โโโ LearningPaths.tsx # Choose your path
โ โ โ โโโ Learning.tsx # Lesson track view
โ โ โ โโโ Lesson.tsx # Individual lesson page
โ โ โ โโโ Notes.tsx # Notes review page
โ โ โ โโโ ProjectEditor.tsx # Visual design canvas
โ โ โ โโโ Projects.tsx # Project gallery
โ โ โ โโโ Profile.tsx # User profile & settings
โ โ โโโ ๐๏ธ data/ # Static content
โ โ โ โโโ lessonData.ts # All lesson content & logic
โ โ โโโ ๐ง lib/ # Utilities
โ โ โ โโโ api.ts # Backend API client
โ โ โโโ ๐ญ contexts/ # React contexts (Auth, etc.)
โ โโโ public/ # Static assets
โ โโโ package.json
โ
โโโ ๐ฅ๏ธ backend/
โ โโโ src/
โ โ โโโ ๐ฃ๏ธ routes/ # API endpoints
โ โ โ โโโ lessons.ts # Lesson CRUD
โ โ โ โโโ progress.ts # Track completions
โ โ โ โโโ notes.ts # Note saving & AI quiz
โ โ โ โโโ projects.ts # Project management
โ โ โ โโโ users.ts # User profiles
โ โ โโโ ๐ lib/ # Shared code
โ โ โ โโโ supabase.ts # DB client setup
โ โ โโโ ๐ท๏ธ types/ # TypeScript types
โ โ โ โโโ database.types.ts # Supabase generated types
โ โ โโโ index.ts # Server entry point
โ โโโ supabase-schema.sql # Database schema
โ โโโ package.json
โ
โโโ ๐ Documentation/
โ โโโ README.md # This file!
โ โโโ SETUP.md # Detailed setup guide
โ โโโ IMPLEMENTATION_SUMMARY.md # Tech decisions & architecture
โ
โโโ ๐ ๏ธ Scripts/
โโโ setup.sh # Automated setup script
โโโ *.sql # Database helper queries
GET /api/lessons // Get all lessons
GET /api/lessons/:id // Get specific lesson
POST /api/lessons // Create lesson (admin)
PUT /api/lessons/:id // Update lesson (admin)
DELETE /api/lessons/:id // Delete lesson (admin)GET /api/progress/user/:userId // Get user's progress
POST /api/progress/complete // Mark lesson complete
GET /api/progress/stats/:userId // Get learning statsGET /api/notes/user/:userId // Get all notes
GET /api/notes/lesson/:lessonId/:userId // Get notes for lesson
POST /api/notes/save // Save/update note
DELETE /api/notes/:noteId // Delete note
POST /api/notes/generate-quiz/:noteId // AI quiz from notesGET /api/projects/user/:userId // Get user's projects
GET /api/projects/:projectId // Get project details
POST /api/projects // Create project
PUT /api/projects/:projectId // Update project
DELETE /api/projects/:projectId // Delete projectGET /api/users/:userId // Get user profile
POST /api/users // Create user
PUT /api/users/:userId // Update profile
GET /api/users/:userId/achievements // Get achievementsFull API docs: Backend README
/* Primary Colors */
--bg-primary: #0a0e27; /* Deep space blue */
--accent-green: #00ff87; /* Matrix green */
--accent-cyan: #64ffda; /* Cyber cyan */
--accent-blue: #00d9ff; /* Neon blue */
/* Text Colors */
--text-primary: #e6f1ff; /* Bright white */
--text-secondary: #8892b0; /* Muted gray */
/* Interactive */
--card-border: rgba(0, 255, 135, 0.3);
--card-shadow: 0 0 20px rgba(0, 255, 135, 0.2);- Primary Font: JetBrains Mono (monospace)
- Fallback: 'Courier New', monospace
- โก Scanning grid background
- โจ Pulsing circuit traces
- ๐ Flowing electricity effect
- ๐ฏ Smooth hover transitions
- Learning path system with 5 paths
- 27+ comprehensive lessons
- Progress tracking & completion
- Note-taking functionality
- Visual project editor
- Hacker-themed UI
- Supabase backend integration
- Auth0 authentication
- Opennote AI quiz generation
- "How to Use HardwareHub" learning path
- Video tutorials for each lesson
- Code playground (live embedded simulator)
- Project sharing & gallery
- User comments & discussions
- Leaderboards & competitions
- Mentor matching system
- Live coding sessions
- Hardware kit marketplace integration
- Real hardware debugging tools
- Team projects & collaboration
- Certificate of completion (NFTs on Solana)
- Mobile app (React Native)
We love contributions! Here's how you can help:
- Check Issues to see if it's reported
- If not, create a new issue
- Include: steps to reproduce, expected vs actual behavior, screenshots
- Open a discussion first
- Fork the repo
- Create a branch:
git checkout -b feature/your-feature-name - Make your changes
- Test thoroughly
- Submit a PR with clear description
- Fix typos, clarify instructions, add examples
- Documentation PRs are always welcome!
Start a discussion - we'd love to hear it!
UC Santa Cruz | January 2026
Built by passionate developers who believe embedded systems education should be accessible to everyone.
Your Name โข Team Member 2 โข Team Member 3 โข Team Member 4
- IF MAGIC - Hardware documentation and inspiration
- Anthropic - Claude AI for quiz generation
- Supabase - Database infrastructure
- Auth0 - Authentication services
- Opennote - AI-powered note-taking
- CruzHacks - For hosting an amazing hackathon
MIT License - see LICENSE for details
If HardwareHub helped you learn embedded systems, give us a star! โญ
It helps others discover the project and motivates us to keep improving.
Made with โก and lots of โ at CruzHacks 2026