Skip to content
A browser with extensions, built with Electron
JavaScript CSS HTML
Branch: master
Clone or download
epeach Merge pull request #52 from code-dot-org/flash-avr
Flash Firmware to Circuit Playground Classics
Latest commit a9bea83 Aug 12, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
build Fix DMG installer alignment Mar 7, 2018
config Enable multi-user install on Windows, bump to 1.1.2 Mar 10, 2018
src Generalize firmware flashing function Aug 7, 2019
test Remove openInDefaultBrowser behavior Mar 20, 2019
.gitignore Ignore all .p12 files in project Mar 16, 2018
LICENSE Initial commit Aug 22, 2017
appveyor.yml DRY config Jan 18, 2018
package.json Use a checksum to determine valid hex download Aug 7, 2019
yarn.lock Use a checksum to determine valid hex download Aug 7, 2019 Maker App GitHub release Build Status Build status

Simple browser exposing native node-serialport to web-based tools on allowlisted domains.


Silent install / group install

We support a few approaches for installing Maker App to a group of computers on a school network.

Here's our MSI package. Windows network administrators may find this is the easiest approach to deploy to computers on a network. Please note that auto-updates are disabled when the app is installed via MSI.

Another approach is a silent install using the installer we've provided on the downloads page. It accepts the following command switches:

  • /S (case-sensitive) puts the installer in "silent" mode for unattended install
  • /D=<directory> (also case-sensitive) lets you specify an install directory from the command line

Example: Maker App-1.1.5-win.exe /S /D="C:\Program Files\ Maker App"

These are standard install options for a Nullsoft (NSIS) installer. You can read more about them in the NullSoft manual in chapter 3 (Installer Usage) and chapter 4 (Silent Installers). Please give these options a try and let us know if they work for you. We're always looking for feedback!

Development setup

  • Use Node v8: nvm use v8.9.1 (nvm install v8.9.1 if it's not available)
  • Close the repository, then run yarn to install dependencies
  • yarn start launches the app in development mode.
  • yarn release will create OS X, Windows, and Linux builds, upload them to S3, and create a Github release
    • For S3 deployment, the same AWS credential configuration that we use for other AWS work suffices
    • For Github (currently disabled due to a bug in the builder), you'll need to set an environment variable with a personal Github access token that has full "repo" permissions for this repository (you can set up personal access tokens at export GH_TOKEN="token_goes_here"
    • To build an MSI installer, see below

Code signing

  • If you build on OS X, you can sign both Windows and OS X applications when building. Code signing will happen automatically if you set up credentials correctly; if they are not provided, unsigned builds will be created.
  • OS X: once you've obtained the credentials for OS X app signing, add them to your keychain
  • Windows: to sign Windows builds, obtain the appropriate Authenticode p12 file and the password, and set the following environment variables on the command line (assuming you're using OS X or Linux):
    • export WIN_CSC_LINK=/SecretsDirectory/codeorg-authenticode.p12
    • export WIN_CSC_KEY_PASSWORD=secret_password

MSI Installer (for networked Windows installs)

  • First time setup:
    • Copy the codeorg-authenticode.p12 Windows code signing file into the browser/config directory
  • Make sure Docker is running on your computer ( for OS X, should show up in your toolbar as running when you’re ready)
  • Pull the msi-installer branch from this repo, merge desired changes in from master, and bump to the correct version number
  • run yarn msi-docker-build
  • The build will appear on the local machine in dist
  • Copy to the S3 bucket (requires AWS CLI and credentials): aws s3 cp ./dist/<filename>.msi s3://downloads.code/org/maker/


The following environment variables are available to help with local development:

  • NODE_ENV controls the default host. If set to production it will point at the live site. Otherwise it will point to
  • DASHBOARD_HOST sets the dashboard host, overriding whatever would normally be selected by the NODE_ENV setting. Omit any trailing slash. (Example: DASHBOARD_HOST= yarn start)
  • OPEN_DEV_TOOLS, if set, will cause the developer tools for both the electron app and its contained webview to open when the app loads. (Example: OPEN_DEV_TOOLS=1 yarn start)


You can’t perform that action at this time.