MMM-AtomVisualizer is a MagicMirror² module that renders an animated atom in a Bohr-style model. By default, it cycles through the list of all chemical elements.
cd ~/MagicMirror/modules/
git clone https://github.com/KristjanESPERANTO/MMM-AtomVisualizercd ~/MagicMirror/modules/MMM-AtomVisualizer
git pullAdd the following block to your config.js file and adjust the options as needed:
{
module: "MMM-AtomVisualizer",
position: "top_right",
config: {
cycleElements: true,
cycleEvery: 45,
}
},| Option | Type | Default | Description |
|---|---|---|---|
element |
string |
"C" |
Element symbol to display |
elements |
string[] |
[] |
Element list used when cycleElements is enabled. An empty array cycles through all available elements |
cycleElements |
boolean |
true |
Automatically cycle through elements |
shuffleElements |
boolean |
true |
Randomize element order when cycling starts (Fisher-Yates shuffle) |
cycleEvery |
number |
60 |
Cycle interval in seconds |
size |
number |
240 |
Atom size in pixels |
nucleusScale |
number |
0.22 |
Nucleus-to-atom size ratio |
electronSize |
number |
7 |
Electron size in pixels |
electronSpeed |
number |
10 |
Base electron revolution duration (seconds) |
mixedOrbitDirections |
boolean |
true |
Alternate electron direction per shell for visual depth |
autoRotate |
boolean |
true |
Slowly rotate shell system |
rotationDuration |
number |
42 |
Duration of one shell system rotation in seconds |
showLabel |
boolean |
true |
Show element name and symbol |
showAtomicNumber |
boolean |
true |
Show atomic number |
showShells |
boolean |
true |
Show shell distribution (e.g. 2-8-6) |
showAtomicMass |
boolean |
true |
Show atomic mass |
showCategory |
boolean |
true |
Show element category |
showCas |
boolean |
true |
Show CAS registry number |
showPhase |
boolean |
true |
Show phase (solid / liquid / gas) |
showElectronegativity |
boolean |
true |
Show electronegativity (Pauling scale) |
showDiscoveredBy |
boolean |
true |
Show discoverer |
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
Element data is bundled statically in data/elements.json. See data/README.md for field descriptions and license information.
This module is licensed under the MIT License. See LICENSE.md for details.
