Project Info
Why this project? I have a big interest in music, but my wallet doesn’t want to drop $200+ on a DJ kit. What does EaseDJ do? Mix and play music in real-time with laser visuals on the go. How was it built? I used an Arduino 101 kit, added a knob, 2 touch sensors, and 2 buttons. Each has its own purpose. I programmed, designed, soldered, and assembled the entire kit into two small Amazon boxes the size of a laptop case. Challenges? I did not want to rely on a laptop, but the Raspberry Pi kits were all gone and taken. The Arduino 101 kit has Bluetooth, but it’s very low strength, so real-time audio doesn’t function properly. I wasted a lot of time trying to get around that because standalone is appealing. What did I learn? I learned a lot about soldering, Arduinos, and GPIO pins. I had never done a project solo and was worried I might not finish because of the lack of a team, but I proved myself wrong. I also miss my friends and working with other people. Never take building with friends for granted! It was my first time doing a hardware hackathon project, and I want to do it more.
Why this project?
I have a big interest in music, but my wallet doesn’t want to drop $200+ on a DJ kit.
What does EaseDJ do?
Mix and play music in real-time with laser visuals on the go.
How was it built?
I used an Arduino 101 kit, added a knob, 2 touch sensors, and 2 buttons. Each has its own purpose. I programmed, designed, soldered, and assembled the entire kit into two small Amazon boxes the size of a laptop case.
Challenges?
I did not want to rely on a laptop, but the Raspberry Pi kits were all gone and taken. The Arduino 101 kit has Bluetooth, but it’s very low strength, so real-time audio doesn’t function properly. I wasted a lot of time trying to get around that because standalone is appealing.
What did I learn?
I learned a lot about soldering, Arduinos, and GPIO pins. I had never done a project solo and was worried I might not finish because of the lack of a team, but I proved myself wrong. I also miss my friends and working with other people. Never take building with friends for granted!
It was my first time doing a hardware hackathon project, and I want to do it more.
Analysis
View
Metric
- 3
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- PythonIn code
1 of 1 appear in the indexed code.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
6.2 KB
Source files
2
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
Deetschoe/easeDJ
42 files · 67.0 MB · @ b0e71c8
Structure
Application logic
4 files · 10%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- Python68%
- Markdown32%
Share of indexed source by file size. Binary and vendored files are excluded.
Feature verification
Knob control (looping/sustain and volume adjustment)Verified
Added a knob... each has its own purpose
Claimed on readmemedium confidenceworkiong 3:30— Arduino reads knobPin and sends KNOB:1/0 over serialapp.py:85— app.py uses KNOB state to sustain looping sounds while pressedpyworking1.:113— Alternate script maps a numeric KNOB value to volume via adjust_sound()
Laser visuals synced to inputVerified
Laser visuals on the go
Claimed on readmehigh confidenceworkiong 3:66— digitalWrite(laserPin, laserOn ? HIGH : LOW) turns the laser module on when any button/touch/knob input is activeardWORKING 2.0:59— Earlier version also drives laserPin HIGH/LOW based on button/touch/knob state
Multiple swappable sound packsVerified
Implied by 'mix and play music' and pack-switch button; supported by packs/ directory of instrument-themed audio
Claimed on readmehigh confidenceapp.py:37— load_packs() globs packs/* folders each containing amen.wav/morph.wav/vocal.wav, cycled by PACK_SWITCHpacks/acoustic/amen.wav— Multiple pack folders (acoustic, electric, guitar, licks, ukelele, wacky, default) with audio files exist in repo
Real-time music mixing and playback via pygameVerified
Mix and play music in real-time with laser visuals on the go
Claimed on readmehigh confidenceapp.py:9— pygame.mixer.init() and per-key mixer.Channel/Sound playback triggered by serial messages implements real-time audio mixingapp.py:88— Sound channels are started/stopped and looped based on Arduino input in real time
Two buttons: sound trigger and pack switchVerified
2 buttons... each has its own purpose
Claimed on readmehigh confidenceworkiong 3:60— buttonPin2 triggers a PACK_SWITCH serial message while buttonPin1 (B1) triggers a soundapp.py:102— app.py handles PACK_SWITCH message to cycle sound packs, and B1 to play a sound
Two touch sensors trigger soundsVerified
2 touch sensors
Claimed on readmehigh confidenceworkiong 3:5— touchPin1/touchPin2 defined and read, emitting T1/T2 serial messagesapp.py:46— T1 and T2 keys mapped to sound files and played on trigger
Arduino 101 as the controller boardCode-supported
Built with arduino101; I used an Arduino 101 kit
Claimed on Devpostmedium confidenceworkiong 3:1— Arduino sketch (.ino-style code, pinMode/digitalRead/Serial) targets an Arduino-class board, but the specific board model (101) cannot be confirmed from source alone
Portable, standalone (no laptop) operationClaimed only
I did not want to rely on a laptop... standalone is appealing
Claimed on readmehigh confidencePhysical build: soldered kit assembled into two cardboard Amazon boxesBlocked
Soldered and assembled the entire kit into two small Amazon boxes the size of a laptop case; built with cardboard
Claimed on readmehigh confidence
An AI agent derived these features from the project’s Devpost page and readme, then searched the code for each one. Verified features are backed by cited code; claimed-only features had no supporting code, which is not by itself proof a feature is missing.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.