|
|
|
@ -32,6 +32,16 @@ using an [ESP32](https://www.espressif.com/en/products/socs/esp32) and
|
|
|
|
|
visualize your soldering statistics, to automatically turn on an exhaust fan
|
|
|
|
|
when you start working.
|
|
|
|
|
|
|
|
|
|
### Acknowledgements
|
|
|
|
|
|
|
|
|
|
- [Ben Brown (Ralim)](https://github.com/ralim) - Maintainer and developer of IronOS for Pinecil and Miniware Irons
|
|
|
|
|
- Support them on [Ko-fi](https://ko-fi.com/ralim)
|
|
|
|
|
- [Gamiee (Gamelaster)](https://github.com/gamelaster) - Developer and maintainer of pine64_updater, IronOS
|
|
|
|
|
- [River-Mochi](https://github.com/river-mochi) for reviewing this article and their excellent organization and documentation work for Pine64 and the Pinecil.
|
|
|
|
|
- [TomW1605](https://github.com/TomW1605) & [ithinkido](https://github.com/ithinkido) for their work on the implementation of the Pinecil ESP32 integration
|
|
|
|
|
- [Builder555](https://github.com/builder555) - PineSAM maintainer and developer
|
|
|
|
|
- [Joric](https://github.com/joric) - Developer of original BLE GATT application for Pinecil
|
|
|
|
|
|
|
|
|
|
## The Pinecil
|
|
|
|
|
|
|
|
|
|
The [Pinecil](https://www.pine64.org/pinecil/) is an open-source soldering iron
|
|
|
|
@ -57,6 +67,8 @@ a genuine Pinecil, and how to avoid fakes.
|
|
|
|
|
tricks, as well as up to date purchasing and troubleshooting information.
|
|
|
|
|
- Shout out to River-Mochi for their _awesome_ work on keeping this up to date
|
|
|
|
|
and useful
|
|
|
|
|
- [Pine64 Updater](https://github.com/pine64/pine64_updater) - v1 Pinecil updater tool
|
|
|
|
|
- [Pinecil Development Projects](https://wiki.pine64.org/wiki/Pinecil#Development_Projects) - Updated links to all community projects
|
|
|
|
|
|
|
|
|
|
## Blisp
|
|
|
|
|
|
|
|
|
@ -92,25 +104,40 @@ instructions in the repository.
|
|
|
|
|
|
|
|
|
|
1. Find the latest sucessful actions run on the ironos repo
|
|
|
|
|
[here](https://github.com/Ralim/IronOS/actions/workflows/push.yml?query=branch%3Adev+event%3Apush).
|
|
|
|
|
2. Download the `Pinecilv2_multi-lang` binary for that run, and unzip it
|
|
|
|
|
2. Download the `Pinecilv2` zip file for that run, and unzip it
|
|
|
|
|
3. Plug your Pinecil into your computer while holding down the 'Minus' (-)
|
|
|
|
|
button. The screen should **not** turn on. If on Linux, `dmesg` should report
|
|
|
|
|
seeing the BL706 as a serial device.
|
|
|
|
|
4. Run the following command to flash the firmware to your Pinecil:
|
|
|
|
|
```
|
|
|
|
|
blisp write -c bl70x --reset /path/to/Pinecilv2_multi-lang/Pinecilv2_EN.bin
|
|
|
|
|
blisp write -c bl70x --reset /path/to/Pinecilv2_extracted/Pinecilv2_EN.bin
|
|
|
|
|
```
|
|
|
|
|
5. Un-plug and plug the Pinecil back in to boot the new firmware
|
|
|
|
|
|
|
|
|
|
### Pineflash
|
|
|
|
|
NOTE: You may ignore the .dfu and .hex files provided in the .zip file.
|
|
|
|
|
|
|
|
|
|
[Spagett1](https://github.com/Spagett1) is working on a new tool which allows
|
|
|
|
|
for a non-command-line experience for flashing new versions of IronOS on the
|
|
|
|
|
Pinecil, similar to the Pine64 updater utility for the v1 Pinecil. You can find
|
|
|
|
|
##### Pinecilv2 vs Pinecilv2_multi-lang
|
|
|
|
|
|
|
|
|
|
Two variants of firmwares for Pinecil are provided: combined mutli-language binaries, and individual per-language binaries. The per-language binaries are much smaller, and while the Pinecilv2 has more flash available to store the mutli-language images, for general usage, you will have an easier time with the language-specific binary rather than the multi-lang binaries.
|
|
|
|
|
|
|
|
|
|
Multi-lang provides three bundles of languages:
|
|
|
|
|
|
|
|
|
|
1. Chinese and Japanese
|
|
|
|
|
2. Russian, Ukranian, Serbian, and Bulgarian
|
|
|
|
|
3. European (All not mentioned above)
|
|
|
|
|
|
|
|
|
|
Ultimately, it is up to you which you decide to use
|
|
|
|
|
|
|
|
|
|
#### Pineflash
|
|
|
|
|
|
|
|
|
|
[Spagett1](https://github.com/Spagett1) updated their Pineflash tool which allows
|
|
|
|
|
for a non-command-line experience for flashing new versions of IronOS on the Pinecil V1 and V2, similar to the Pine64 updater (add link) utility for the v1 Pinecil. You can find
|
|
|
|
|
more information on the PineFlash
|
|
|
|
|
[GitHub repo](https://github.com/Spagett1/PineFlash). Feel free to check it out
|
|
|
|
|
and give them feedback!
|
|
|
|
|
|
|
|
|
|
Pineflash supports Linux and MacOS at this time (2023-04-03), and support for Windows is a work in progress. If you would like to help test, please join the chat and make yourself known.
|
|
|
|
|
|
|
|
|
|
## Bluetooth Low Energy
|
|
|
|
|
|
|
|
|
|
Bluetooth Low Energy (BLE) is a wireless communication protocol that is designed
|
|
|
|
@ -118,7 +145,9 @@ to consume less energy than classic Bluetooth. There is upcoming support in
|
|
|
|
|
browser APIs to allow access to BLE devices, and so there are a handful of
|
|
|
|
|
options for how to get your Pinecil talking to your computer.
|
|
|
|
|
|
|
|
|
|
## PineSAM and Joric's UI
|
|
|
|
|
## Interacting with your Pinecil over Bluetooth
|
|
|
|
|
|
|
|
|
|
### PineSAM by [Builder555](https://github.com/builder555)
|
|
|
|
|
|
|
|
|
|
PineSAM (Pinecil Settings and Menus) started out as an in-browser way to see and
|
|
|
|
|
change settings. It's served a multitude of uses from helping people with
|
|
|
|
@ -126,10 +155,33 @@ cracked or non-functional screens, all the way to adding really helpful
|
|
|
|
|
accessibility features to those who struggle to read the small screen on the
|
|
|
|
|
Pinecil. It's is a Python and Vue-based application that has to have a server
|
|
|
|
|
component running locally--along with a machine that has bluetooth. You can find
|
|
|
|
|
the source code for PineSAM on [GitHub](https://github.com/builder555/PineSAM/).
|
|
|
|
|
the source code for PineSAM on [GitHub](https://github.com/builder555/PineSAM/), but read on below for how to grab precompiled versions of the application.
|
|
|
|
|
|
|
|
|
|
{{< figure src="pinesam.png" alt="PineSAM UI" class="inline" >}}
|
|
|
|
|
|
|
|
|
|
PineSAM allows the user to not only see the live temperature, wattage, and
|
|
|
|
|
voltage of their device but change the settings and temperatures at a click.
|
|
|
|
|
Uniquely, it allows users to set temperature presets for one-click changes
|
|
|
|
|
between temperatures--for example to switch between leaded and unleaded solder.
|
|
|
|
|
|
|
|
|
|
You can access PineSAM from your mobile device once it's running on your computer to have a touch-capable way of controlling your settings. On your phone, flip the screen to portait mode in order to see the graph as on desktop.
|
|
|
|
|
|
|
|
|
|
{{< figure src="pinesam-mobile.png" alt="Screenshot of PineSAM UI on Mobile device" class="inline-40 left" >}}
|
|
|
|
|
|
|
|
|
|
The PineSAM project is working to integrate a "Work" screen which takes
|
|
|
|
|
inspiration from Joric's UI. Due to this, it's likely these two projects will
|
|
|
|
|
end up combining into one, in my opinion, despite their distinct mechanisms for
|
|
|
|
|
retrieving BLE data from the Pinecil.
|
|
|
|
|
|
|
|
|
|
#### Setting up PineSAM
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
[project readme](https://github.com/builder555/PineSAM#i-using-pre-made-binaries)
|
|
|
|
|
for the most up-to-date instructions. If you run into any trouble, come find us
|
|
|
|
|
in the #pinecil channel on Pine64's Discord or Telegram chat.
|
|
|
|
|
|
|
|
|
|
### [Joric](https://github.com/joric/)'s BLE API
|
|
|
|
|
|
|
|
|
|
Another project is a more simple web UI that uses in-browser Bluetooth support
|
|
|
|
|
(currently only really well supported in Chromium/Firefox, and even then it's
|
|
|
|
|
not universal or without bugs. This UI shows a nice graph of your Pinecil's
|
|
|
|
@ -140,26 +192,7 @@ device. You can also find the source code for Joric UI on
|
|
|
|
|
|
|
|
|
|
{{< figure src="joric-ui.png" alt="Joric's UI" class="inline-60 right" >}}
|
|
|
|
|
|
|
|
|
|
PineSAM allows the user to not only see the live temperature, wattage, and
|
|
|
|
|
voltage of their device but change the settings and temperatures at a click.
|
|
|
|
|
Uniquely, it allows users to set temperature presets for one-click changes
|
|
|
|
|
between temperatures--for example to switch between leaded and unleaded solder.
|
|
|
|
|
|
|
|
|
|
{{< figure src="pinesam-mobile.png" alt="Screenshot of PineSAM UI on Mobile device" class="inline-40 left" >}}
|
|
|
|
|
|
|
|
|
|
The PineSAM project is working to integrate a "Work" screen which takes
|
|
|
|
|
inspiration from Joric's UI. Due to this, it's likely these two projects will
|
|
|
|
|
end up combining into one, in my opinion, despite their distinct mechanisms for
|
|
|
|
|
retrieving BLE data from the Pinecil.
|
|
|
|
|
|
|
|
|
|
### Setting up PineSAM
|
|
|
|
|
|
|
|
|
|
See the
|
|
|
|
|
[project readme](https://github.com/builder555/PineSAM#i-using-pre-made-binaries)
|
|
|
|
|
for the most up-to-date instructions. If you run into any trouble, come find us
|
|
|
|
|
in the #pinecil channel on Pine64's Discord or Telegram chat.
|
|
|
|
|
|
|
|
|
|
### Setting up Joric's UI
|
|
|
|
|
#### Setting up Joric's UI
|
|
|
|
|
|
|
|
|
|
No setup needed! Just browse to
|
|
|
|
|
[https://joric.github.io/pinecil/](https://joric.github.io/pinecil/) in a
|
|
|
|
@ -185,7 +218,7 @@ soldering iron using Pinecil with Home Assistant and ESPHome.
|
|
|
|
|
{{< figure src="hass-soldering.png" alt="Home Assistant Soldering UI" class="inline" >}}
|
|
|
|
|
|
|
|
|
|
To make this work, we'll use an
|
|
|
|
|
[ESPHome configuration file]((https://github.com/TomW1605/esphome_pinecilv2_ble/blob/main/esphome_pinecilv2_ble.yaml))
|
|
|
|
|
[ESPHome configuration file](https://github.com/TomW1605/esphome_pinecilv2_ble/blob/main/esphome_pinecilv2_ble.yaml)
|
|
|
|
|
put together by Pine64 community member TomW1605. Thank you again, Tom!
|
|
|
|
|
|
|
|
|
|
## Requirements
|
|
|
|
|