/PineSAM

UI for Pinecil V2 - control it over BLE from your PC or your mobile.

Primary LanguagePythonMIT LicenseMIT

Hits contributors welcome Download (all releases) Latest release bluetooth



Pinecil Settings and Menus

Why focus on soldering when you can play with the settings instead? With this app you have full control over your new shiny Pinecil V2 from your computer using bluetooth.

NB: No special browser BLE GATT or flags required and works on all major OS/devices.

NB: This app needs the python backend to run on a computer, it CANNOT run entirely in the browser like Joric's UI.

Full settings view


Features

  • Automatically detect Pinecil V2 over BLE.
  • Control all settings on the device.
  • Save to Flash: toggle to save changes directly onto Pinecil (leave off unless actively changing settings).
  • Work HUD main screen with: Set °C/°F [+][-] buttons, live tip °C/°F updates, peak watts, live watts, input voltage.
  • Graph with tip temperature and power provides a quick overview of the device.
  • Preset buttons to allow quick change of user defined temperatures (PineSAM extra feature not available directly inside Pinecil).
  • Backend runs locally on all major platforms/OS while the user interface runs on your favorite browser.
  • Usage details here.

Supported

System MacOS Linux Windows Phones
UI ✔️ ✔️ ✔️ ✔️
backend ✔️ ✔️ ✔️

🖥️ Install Options

I. Easy Method

  1. Install one of the binary packages made for your OS; does not require install of python or node.js.

  2. Download latest release here for your specific OS (Mac, Linux, Windows).

  3. Mac/Linux: extract and run ./start.sh in terminal.

  4. Windows:

    • right click on the zip, properties> general, check box to Unblock, then extract (reference).
    • Run PineSAM.exe
    • Approve any pop-up warnings.
    • Open http://localhost:8080 in your normal browser (the page will not open automatically).
    • Usage guide here.

II. Build the Dev version (Source-all-_.zip)

This ultimately creates the same PineSAM as in the premade binaries. Install this if there is an issue with the binaries or you are doing dev work.
For the backend script, first install:

Mac/Linux install

Setup

Install all packages linked above first.

git clone https://github.com/builder555/PineSAM
cd PineSAM
chmod +x setup-dev.sh
chmod +x run-dev.sh
./setup-dev.sh

Run

./run-dev.sh
# press CTRL+C in the terminal window to stop

Windows dev install

Install

Install the packages linked above for the backend script. Skip to 4 if you did this already.

  1. Python install notes
    • Check "Add python.exe to PATH" and select "Customize Installation"
    • Check "Add Python to environment variables" option
    • Screenshots of options to select are here.
  2. Install NodeJS here, accept all prompts to add packages during install including a prompt in the terminal that opens.
  3. After installing packages listed for backend script (reference), go to System Environment variables to check paths (image).
  4. Download the Source-all-__.zip from the latest release.
  5. Right click the zip > properties, if it has an Unblock option, then check unblock and extract (example).
  6. Run powershell as administrator, set permissions to RemoteSigned (image here).
# setting this one time in powershell normally persists on reboots.
C:\ Set-ExecutionPolicy RemoteSigned

Run

  1. change directory, cd into the PineSAM folder that was extracted above.
.\setup-dev.bat   # only need to run this one time for each new version
.\run-dev.bat     # run this command every time to start PineSAM (do not need to run as admin)
 

📶 Remote access

You can access the settings remotely once the app is running on the main PC/laptop.

  • Find the local IP address of the device running the app.
  • open http://<ip-address>:8080/ on the second device on the same network (e.g., a phone).
  • Pinecil needs to be within BLE range of the computer running the PineSAM app.

🚧 Known issues

  1. bleak causes Python to crash on Mac: hbldh/bleak#768

    • possible solution: give access to iTerm (or whichever terminal you use) to Bluetooth in Settings
  2. Pinecil not detected

    • possible reason: you paired your Pinecil using system settings. solution: unpair it from all other places.
    • possible reason: using older firmware (below 2.21). solution: flash current BLE firmware; below IronOS 2.21 only BETA versions will work with PineSAM.
  3. PineSAM script terminal crashes on start of script: incompatible version of IronOS, check/update firmware see above.

  4. Windows Powershell issue

    • windows by default does not allow any scripts to run in powershell. Make sure the zip file property is Unblock (reference) and set powershell to remotesigned with:
      set-executionpolicy remotesigned
    • check that windows has not reset the permissions in powershell with Get-ExecutionPolicy and change it back to RemoteSigned if needed (reference).
  5. See the Discussions section for install hints and solutions to some common issues.

  6. PineSAM usage instructions here.

  7. Something else: open an issue.


🛠️ Running Unit tests

# run inside 'backend' directory:
pipenv run test

📖 References

Contributors

builder555/
builder555
river-mochi/
river-mochi
Neil
Neil Hanlon
MagicLike/
MagicLike
Spagett/
Spagett
Kristian
Kristian Kosev
mcraa/
mcraa