jasonwebb / jar-of-fireflies Goto Github PK
View Code? Open in Web Editor NEWMason jar with interactive LEDs that mimic fireflies on a warm summer night, realized with an Arduino-enabled ATTiny85, multiple power options and a sensor interface.
Mason jar with interactive LEDs that mimic fireflies on a warm summer night, realized with an Arduino-enabled ATTiny85, multiple power options and a sensor interface.
I've added a 3-pin interface for connecting to external analog or digital sensors. Usage is pretty simple, but I'd like to provide at least a couple sketches to demonstrate how it could be used.
Sensors to explore include:
Right now the board includes a variety of input power interfaces, though they do crowd the board a little bit (especially the DC barrel jack). I wonder if I should drop some based on how I see this board being used. Want to keep enough options to support the most common power interfaces.
Current options on board
Power options to support
Right now it seems like the 2-pin screw terminal is the least useful. They also tend to be finicky to work with, so less experienced users may be frustrated.
The DC barrel jack is relatively bulk, but perhaps necessary. I wonder if there is a more compact vertical mounting style for these?
The piezo is nice, but hard to solder and a bit finicky. Add a footprint for a small tactile switch in parallel with it to allow for alternative triggering.
I'd like to be able to build many of these jars and have them intelligently networked together for interesting effects. To do that they will need a more advanced microcontroller with some sort of wireless technology.
The ESP8266 fits the bill, but I'd rather not have to build and test a functioning board around just the bare module myself. Instead I think I'll use the ESP-12e board with NodeMCU.
This might be good to break out into a separate repo (Jar-of-Fireflies-ESP8266
?)
Once all the recent board design updates are done, I can go ahead and order a new round of PCBs for prototyping. Just need to refresh my knowledge of board house requirements (and fetch any new CAM presets), generate some Gerber files, and fill out the request. The last time I ordered boards I used SeeedStudio and found the boards to be great quality, low cost, and reasonably fast to fab and ship.
Once the boards are ordered I can also go ahead and order a couple batches of the parts from the BOM.
Pin 2 (PB3/ADC3) of the ATTiny85 is currently unused, which means there is some potential for allow for some experimental interfacing with arbitrary analog sensors (temperature, sound, pressure, etc). Just need to think about how to make it easy - maybe a 3-pin male header?
In the new design I have added a couple things that need to be accounted for in the firmware.
Specifically I have added a tactile switch to trigger the "dance mode", as well as a new 3-pin sensor interface.
I'd like to support the new button directly in the core firmware, but I will probably provide additional sketches to demo how to use the 3-pin sensor interface.
Now that prototype PCBs have arrived, I need to assemble and test them out. Here is the plan:
Currently the ATTiny85 must be removed and programmed using an external programmer such as a USBtiny or an Arduino running ArduinoISP. Not a big deal for the most part, but will be a bottleneck if I ever decide to manufacture kits or need to make a lot for a special project.
I now own a USBtiny programmer, so it makes sense to look into adding a minimal ICSP header to the board that can be optionally used.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.