All Projects → bromagosa → Snap4arduino

bromagosa / Snap4arduino

Licence: agpl-3.0
Binding Snap! and Arduino together

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Snap4arduino

Pointless
Pointless: a scripting language for learning and fun
Stars: ✭ 116 (+8.41%)
Mutual labels:  dynamic-programming, education
Pulsesensorplayground
A PulseSensor library (for Arduino) that collects our most popular projects in one place.
Stars: ✭ 126 (+17.76%)
Mutual labels:  arduino, education
Openbot
OpenBot leverages smartphones as brains for low-cost robots. We have designed a small electric vehicle that costs about $50 and serves as a robot body. Our software stack for Android smartphones supports advanced robotics workloads such as person following and real-time autonomous navigation.
Stars: ✭ 2,025 (+1792.52%)
Mutual labels:  arduino, education
NetsBlox
a networked visual programming language based on Snap!
Stars: ✭ 59 (-44.86%)
Mutual labels:  education, snap
Retroesp32
Retro ESP32 is a turbo charged Odroid Go Launcher, Emulator and ROM Manager
Stars: ✭ 313 (+192.52%)
Mutual labels:  arduino, education
Blockly At Rduino
[email protected] : Blockly remix for Arduino. Totally new version, enhanced one !
Stars: ✭ 96 (-10.28%)
Mutual labels:  arduino, education
Snapp
Snapp! turns Snap! projects into standalone executables!
Stars: ✭ 26 (-75.7%)
Mutual labels:  education, snap
Plus
Otto DIY+ ("Otto DIY with steroids" + Bluetooth + APP + switch + sensors + strength +...
Stars: ✭ 100 (-6.54%)
Mutual labels:  scratch, arduino
Drone Flight Controller
A quadcopter flight controller based on Arduino Uno
Stars: ✭ 102 (-4.67%)
Mutual labels:  arduino
Thimble.mozilla.org
UPDATE: This project is no longer maintained. Please check out Glitch.com instead.
Stars: ✭ 1,414 (+1221.5%)
Mutual labels:  education
Jtagduino
The JTAGduino project has the goal of using Arduino as a JTAG interface.
Stars: ✭ 101 (-5.61%)
Mutual labels:  arduino
Tinytx
ATtiny84 & RFM12B wireless sensor node
Stars: ✭ 102 (-4.67%)
Mutual labels:  arduino
Esp8266 Oled Ssd1306
Driver for the SSD1306 and SH1106 based 128x64, 128x32, 64x48 pixel OLED display running on ESP8266/ESP32
Stars: ✭ 1,590 (+1385.98%)
Mutual labels:  arduino
Avr8js
Arduino (8-bit AVR) simulator, written in JavaScript and runs in the browser / Node.js
Stars: ✭ 102 (-4.67%)
Mutual labels:  arduino
What The Splash
Tutorial for building an unsplash image gallery with redux saga :atom:
Stars: ✭ 107 (+0%)
Mutual labels:  education
Project Euler Solutions
Runnable code for solving Project Euler problems in Java, Python, Mathematica, Haskell.
Stars: ✭ 1,374 (+1184.11%)
Mutual labels:  dynamic-programming
Jxscratchview
一个万能的刮刮乐控件。无论是UILabel、UIImageView,还是自定义视图,只要是UIView都可以用来刮。代码简单,功能强大,你值得拥有!
Stars: ✭ 100 (-6.54%)
Mutual labels:  scratch
Pokemongodiy
Project to create your own pokemon go plus
Stars: ✭ 107 (+0%)
Mutual labels:  arduino
Powerpointlabs
This is the project for PowerPointLabs, a productivity add-in for PowerPoint
Stars: ✭ 106 (-0.93%)
Mutual labels:  education
Markor
Text editor - Notes & ToDo (for Android) - Markdown, todo.txt, plaintext, math, ..
Stars: ✭ 1,394 (+1202.8%)
Mutual labels:  education

Snap4Arduino Logo

Snap4Arduino binds Snap! and Arduino together and is available in several flavors:

  • A desktop application for GNU/Linux, MacOSX and MS Windows.
  • A Chrome App for Chromebooks and any other device that can run the Chromium browser or Google Chrome.
  • A web application that makes use of a special Chrome extension.
  • A command line interpreter for embedded GNU/Linux machines.
  • A websockets-powered version for Linino boards.
  • A mobile app for Android. 💥 EXPERIMENTAL! BARELY USABLE! 💥

Please check out our official website for further info:

snap4arduino.rocks

Downloads

You can get the latest pre-built versions for all platforms at:

snap4arduino.rocks/#download

Documentation

The Wiki holds a bunch of tutorials on different topics. You can also find a collection of examples in the official website.

To learn more about Snap!, take a look at its official manual and its additional annex chapters.

There are also a few example projects here. To load one of them into Snap4Arduino:

  1. Click on the project name: Project name.xml
  2. Click on the Raw button: Raw
  3. Right click on the text and select Save As (or just press Control+S) to save the file into your computer.
  4. Drag and drop the file you've just downloaded into Snap4Arduino

Acknowledgements

Of course, this project wouldn't exist without:

To build installers for Microsoft Windows OSes, we are making use of Inno Setup, ran headless under Wine.

The mobile version is powered by Cordova.

Developers, read this

Before trying to build Snap4Arduino, make sure you have node, npm, sed, git, wget, zip and unzip installed in your system.

This project is built by a single shell script that takes care of everything, but it takes for granted you have first prepared your local setup.

If you haven't, please first run the prepare script with the --all parameter:

./prepare --all

The command line parameters for the prepare script are:

Usage: ./prepare [options]

    --snap              Pulls the latest Snap! version.
    --nwjs              Pulls the latest nwjs.io stable version.
    --desktop           Pulls all NodeJS modules needed for desktop versions.
    --chromeos          Pulls all NodeJS modules needed for the ChromeOS app.
    --chromium          Pulls all NodeJS modules needed for the web extension.
    --cli               Pulls all NodeJS modules needed for command-line version.
    --all               Does all of the above.
    --inno              Attempts to install Inno Setup under Wine, required to
                        build an installer for the Microsoft Windows versions.

Once your local setup is ready, you can use the build script as follows:

Usage: ./build [OPTIONS]

    --platform=TARGET   Selects a platform. Accepts both generic platform names
                        (all, mobile, desktop, desktop/gnu) and specific names
                        (desktop/gnu/64). See --help=platform for details.

    --run               Builds and runs Snap4Arduino for the specified architecture.
                        Only for desktop GNU/Linux and Android.

    --makeinstaller     Attempts to create an installer for the Microsoft Windows
                        versions. Needs Inno Setup, check prepare script for info.

    --rerun             Runs the last built version of Snap4Arduino, if it exists.
                        Only for desktop GNU/Linux.

    --keeptmp           Do not remove the temporary build directory afterwards.

    --pack              Compresses the resulting files into a properly named
                        package.

    --deploy=URL        Tries to deploy the built version(s) to a server.
                        Implicitly runs --pack.

                        --username=USERNAME Specifies a username for the deploy
                                            server.
                        --password=PASSWD   Specifies a password for that user.

To find out which platforms are supported by the build script, just run ./build --help=platform.

Usage: ./build --platform=TARGET [--run] [--deploy=URL --username=USERNAME [--dir=PATH]]

Available platforms are:
embedded/cli
desktop/win/32
desktop/win/64
desktop/osx/32
desktop/osx/64
desktop/gnu/32
desktop/gnu/64
desktop/chromeos
web/chromium
mobile/android

Generic names are also accepted, such as:
desktop
desktop/gnu
mobile
this
all

Embedded Command Line Version

See the wiki section on installing and using the command line version.

Third party NodeJS packages:

  • node-canvas (only with --canvas flag active)
  • firmata (if you need Snap4Arduino compatibility)

Old Repository

This repository contains only source files. The old, huge (2Gb+!) repository that contained all binaries can still be found for archaeologic purposes at: https://github.com/edutec/Snap4Arduino-old-huge

History

Snap4Arduino was started in 2013 as a side project in the Edutec research group from Citilab (Cornellà, Barcelona), but was soon turned into a full fledged project when it began to gain user base and became clear that it had potential. Since then, it has been used in primary schools, high schools, universities, code clubs, artistic installations and individuals from all around the world. It has received localization contributions for 13 different languages, and projects such as Phiro (India), SmartBlock (Turkey), First Makers (Chile) or ROKIT Brick (South Korea) have based their software solutions in modified versions of Snap4Arduino. From June 2016 until August 2017 it was supported and developed at Arduino.org. Nowadays it is being independently developed by Bernat Romagosa, Joan Guillén and several contributors.

Contributing

Please read CONTRIBUTING.md before sending us any pull requests. Thank you!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].