microcontroller.js is a JavaScript based interactive simulator for the PIC12F508 microcontroller. The goal of the project is to help hobbyists and developers learn more about how computers work at a fundamental level. While platforms like the Arduino are great for learning about electronics and embedded programming, they still represent an abstraction above the actual machine code that forms the building blocks of every computer program. By playing around with the simulator and working through the lessons, you'll gain an understanding of what is going on under the hood and how a compiler converts the high level code you write into the binary instructions that a computer actually understands.
I started this project as a way to learn client side JavaScript development, so keep in mind that there might be a few bugs I've missed, and use at your own risk. Also I have done most of the testing on webkit (under OSX/iOS) so your mileage may vary with other browsers. Please feel free to contact me with any questions or comments you might have.
Jon Whiteley
(jon@microcontrollerjs.com)