SpeckCode is the IDE for IoT. SpeckCode provides an integrated development environment (IDE) for crafting great applications for the Particle platform. Develop your Photon, Electron, or Pi based applications in a modern development environment utilizing all the advantages of a macOS based application. No more cross platform sacrifices needed.
SpeckCode principally provides two capabilities: Project Management (Code Editor) and Device Management.
General Features:
• Support for multiple Particle accounts, simultaneously. Add all your accounts and work seamlessly across each account.
Code Editor Features:
• Integrated Build and Run actions to compile and run for target devices.
• Syntax coloring for all source views
• Customizable color schemes with multiple pre-defined schemes
• Configurable code editing features including auto-completion, identation management, and more advanced code editing capabilities
• Tight integration with Particle libraries. Import libraries into an active project with two clicks
• Project auto-saving and history: Automatically manage project revisions and easily revert to previous versions with ease.
• Bidiretional serial port monitoring with auto-connect
Device Management Features:
• Manage all your devices across multiple Particle accounts
• View variables for each device
• Monitor and log events published by devices. Maintain a persistent history of events across application launches.
• Call functions exposed by individual devices and view the results
• View configured webhooks
• Manage authentication tokens
SpeckCode is a subscription based service ($0.99/month) and requires an active subscription to enable most functionality. Subscriptions last 1 month and will renew automatically until cancelled. Subscriptions begin with a 2 week free trial and may be cancelled anytime through Apple iTunes or through the manage subscriptions functionality within the application.
An updated version, 1.0.10, is propogating it’s way through the App Store. This version has significant enhancements to the source editor.
Major improvements include:
Integrated Documentation Viewer
Built-in to SpeckCode is a API documentation reference. Select Window -> Documentation (or shortcut ⇧⌘0) to see the documentation viewer window.
Code Autocompletion
Can’t remember that perfect API name? Use code autocompletion by pressing ^Space or using the Editor -> Show Completions menu. Enable the autocompletion preference and the autocompletion menu will appear automatically when you pause while typing a completable word.
Code Formatting
Reformat that ugly code to your preferred style. Six built-in coding styles based on widely used open source projects with customizable code style rules coming soon.
Code Editor Improvements
Code editor improvements. Shift left/right, comment/uncomment, and more. Reference the Editor menu or right click in source.
Bug Fixes and Performance Improvements
Each release contains bug fixes and performance improvements. Please note most functionality requires an active subscription ($0.99/Month – Free 2 week trial).
Version 1.0.12 is making its way to the app store and contains a fix for the startup crash experienced by some. Special thanks to @Kenny for working with me to to diagnose the issue.
This version slips in a new feature for subscribers too: Variable history. While SpeckCode is running variables are polled and archived periodically (approximately every 2 minutes). The history for individual or all variables for a device can be viewed:
Last successful build is available for easy download in the debug output window. Click the save link to copy the firmware to your Downloads directory. Finder will open automatically on the downloaded file. Great for using with Particle tools to flash via USB.
Added ability to lock particular builds to prevent their deletion. Save your working build.
Flash firmware from the build history to any number of selected devices, even across accounts.
Added ability to put USB attached devices in serial mode or DFU mode.
Major performance enhancements around observations (history). Fixed issues with history items not sorting correctly.
Added the Particle inspired code style to the autoformatting options. Reformat code using 7 different established code styles (SpeckCode being the best!).
Major performance improvements. Months of data can be stored and analyzed with little overhead.
Added web hook history.
Bug fixes
The performance enhancements are significant. We spent a considerable time heads down in performance analysis tools to resolve issues that can happen with a large number of devices or huge number of observable events per second.
We think we got it nailed and you should be able to record months of activity of even the heaviest of accounts with minimal CPU usage.
There are various bug fixes included as well. Now that the performance issues are (hopefully) resolved we will focus on more visible changes.
Please let us know what you want to see, and as always,
I have a Particle folder that contains many projects, one per sub-folder. I can’t seem to open those in the editor, but they work just fine in Particle Dev.
Also, every time I exit out of Preferences, the application crashes.
Is there a preferred means to provide feedback (i.e. via this board or another venue)?
[update] I’m running 10.12.5 on a MacBook Pro Touchbar 13"
The best way is probably to email support AT speckcode dot com. If you have a copy of the crash log that would be great.
As per the projects -- we do not yet have an importer for external projects. I would just create a new project and drag the source files into the new project. If you are using libraries I would import them using the built-in library mechanism rather than copying those over.
Will probably start using it more however I’m currently running the macOS High Sierra Beta to test other stuff and it keeps crashing.
Have emailed you a crash log.
We haven't done any testing on High Sierra yet. Hopefully it is the OS causing the issue and not our code. I did receive your crash report and will analyze and contact you directly.
Version 1.0.15 has been released
This release includes bug fixes, performance enhancements, and new features including:
Improvements to the visualizations (graphs) of the devices overview
Graphics improvements
Added ability to ping individual or multiple devices (based on their state)
Added ability to associate notes with devices (synchronized via the Particle cloud)
Added the ability to start/stop signaling a device (flash the device’s LEDs in a rainbow)
Improvements to OAuth token management
Updated the firmware API documentation
The device overview is simplified and adds ping, signaling, and notes associated with devices.
The devices overview allows you to ping multiple devices at once – either all or by their current state. Ping results are shown in the observations table.