-
Notifications
You must be signed in to change notification settings - Fork 4
Merge develop into main #13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Changes from all commits
Commits
Show all changes
58 commits
Select commit
Hold shift + click to select a range
a87653e
add webserver
tadelv fe08e88
wip
tadelv c5ce807
Merge branch 'main' into develop
tadelv 51e18b6
add moving average to RoR
tadelv c367a22
conditionally include wifi credentials
tadelv 8365991
add wifi api
tadelv c0aa38f
wifi setup
tadelv 4f590e6
add wifi to main page
tadelv fa36c2f
cleanup
tadelv fdbee2b
replace Kalman with moving average and increase temp sampling rate
tadelv 89b6374
figure out time scale
tadelv 437352c
tooltip improvements
tadelv ba77e36
Added BOM for PCB population
dlisec 2e43e9d
additional handling when setting wifi settings
tadelv 0111128
ramp to target fan value
tadelv 6c7455d
add build script
tadelv 6e8d828
minimum readme update
tadelv 7292ea9
replace ET with BT for RoR calculation
tadelv 77410b7
fix BT RoR
tadelv 5e8c6cd
fix wifi switch from STA to AP
tadelv 3c58fee
Added PCB files for ESP-S3, rounded corners for both boards, addition…
dlisec cfc96e5
wip
tadelv 91c43b6
add pid
tadelv 8b291a1
add setpoint to chart
tadelv cc2de55
add pid target picker
tadelv 763c707
storing pid data for each measurement
tadelv 8e91e67
wip
tadelv ac310e0
wip
tadelv 96e6ff9
Merge pull request #6 from tadelv/chore/ror-qol-improvements
tadelv a50d1a2
Added instructions to .ini
matthew73210 dec77fe
Added usage comments to build sh
matthew73210 17ad37f
Added to readme and fixed linting
matthew73210 b84a773
Redid script
matthew73210 2078894
Added comments to script and removed commenting from ini
matthew73210 8ba829d
added grin to readme
matthew73210 46abb6a
added to gitignore
matthew73210 fec2357
Merge pull request #8 from matthew73210/docs
tadelv 58fce60
Added fig gen and example .json file for render
matthew73210 853b8b9
Moved stuff arround and add pdm stuff
matthew73210 1cd0ba8
Added guide
matthew73210 fbc380b
Linting
matthew73210 d403eb7
Merge pull request #2 from matthew73210/fig_gen
matthew73210 eaab18d
Merge pull request #9 from matthew73210/develop
tadelv bafc48f
wip profile following
tadelv ede4547
wip
tadelv 3e4e8cd
add profile upload and state var
tadelv 78602f0
add toggle for following profile
tadelv 034637a
add ease-in-out profile interpolation
tadelv fa9e4ed
show profile name, check json is actually profile
tadelv 33fb9e7
Merge pull request #10 from tadelv/feature/profile
tadelv beba6ed
add profile example to readme
tadelv e324aa4
"gui" improvements
tadelv 93004ac
increase sampling window duration
tadelv f29c611
only log msg type for unhandled event
tadelv 5e9765c
fix typo in platformio
tadelv 011a29d
minor cleanup
tadelv 72dc254
Merge pull request #12 from tadelv/feature/firmware-hardening
tadelv bd588f3
Merge branch 'main' into develop
tadelv File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -7,3 +7,4 @@ node_modules | |
| **/.DS_Store | ||
| local.config.ts | ||
| data/ | ||
| Credentials.h | ||
Binary file not shown.
Binary file not shown.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| Reference,Manufacturer part number,Description,Qty | ||
| "J1,J13",61300411121,"Male vertical header 4 position, used for LCD and PWM",2 | ||
| "J2,J5,J6,J7,J8,J9",2376591-2,Terminals for high voltage,6 | ||
| "J3,J4",PPTC061LFBN-RC,"Female header 6 position, used for thermocouple boards",2 | ||
| PS1,IRM-10-3.3,AC DC converter 3.3V,1 | ||
| J10,22035025,"2 Pin header for SSR connection, Molex",1 | ||
| ,2196762125,"Cable with crimped ends for 50375023 housing, 450mm",2 | ||
| ,50375023,Connector housing for 2196762125,1 | ||
| ,PPTC041LFBN-RC,"Female header 4 position, used for PWM ",1 | ||
| ,,, | ||
| ,MAX31855 K Type Thermocouple Breakout Board,https://www.aliexpress.com/item/1005006381598473.html,2 | ||
| ,PWM for fan control,https://www.aliexpress.com/item/1005006457613501.html,1 | ||
| ,SSR for heater control,https://www.aliexpress.com/item/4000045425145.html,1 | ||
| ,,, | ||
| ,,, | ||
| ,ESP32-S3 Mini,https://www.aliexpress.com/item/1005006177646698.html,1 | ||
| "J11,J12",PPPC102LFBN-RC,"Female header 20 position, used for S3 Mini",2 | ||
| ,,, | ||
| ,,, | ||
| ,ESP32-S3,https://www.aliexpress.com/item/1005006266375800.html,1 | ||
| U1,PPTC221LFBN-RC,"Female header 22 position, used for S3",2 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,72 +1,116 @@ | ||
| # Yaeger | ||
|
|
||
|  | ||
|
|
||
| ## Yet another embedded gourmet experience roaster | ||
| ### or something like that | ||
|
|
||
| ### or something like that | ||
|
|
||
| ## The gist | ||
|
|
||
| Yaeger is an embedded computer that takes control of your "coffee roaster" via Artisan-Scope. | ||
| It currently supports reading data from two temperature probes as well as controlling a fan and pulsing a heater. | ||
|
|
||
| ### Primary goal | ||
|
|
||
| Is to use an old popcorn popper you have gathering dust in your basement and modifying it into a sample roaster for | ||
| roasting small batches of coffee at a time. | ||
|
|
||
| ### Suported hardware: | ||
| ### Suported hardware | ||
|
|
||
| * [ESP32-S3 (devkit-1)](https://www.aliexpress.com/item/1005006266375800.html) or an [S3-mini](https://www.aliexpress.com/item/1005006177646698.html) | ||
| * 1 or 2 [MAX31855](https://www.aliexpress.com/item/1005006381598473.html) thermocouple chips | ||
| * 1 [DC pwm capable dimmer](https://www.aliexpress.com/item/1005006457613501.html) for the fan (must support 3.3v control) | ||
| * 1 DC controlled [AC SSR](https://www.aliexpress.com/item/4000045425145.html) for controling the heating element (same as above) | ||
|
|
||
|
|
||
| ### Other required hardware for the build: | ||
| ### Other required hardware for the build | ||
|
|
||
| * 18V DC PSU for driving the fan (be careful how you wire this) | ||
| * regular wire K-type thermocouple probe (the one that comes with your multimeter) | ||
| * flexible K-type thermocouple probe, 1x50/1.5x50 (sometimes difficult to source, they come and go on aliexpress, search for | ||
| flexible thermocouple 1x100 - this usually works) | ||
| flexible thermocouple 1x100 - this usually works). | ||
|
|
||
| ### NOTE | ||
|
|
||
| **NOTE** | ||
| We don't have enough data if there is enough difference between ET and BT to justify two thermocouples. You might use | ||
| just one. | ||
| just one. | ||
|
|
||
| #### Optional upgrades: | ||
| #### Optional upgrades | ||
|
|
||
| * 24V DC PSU for more fan power | ||
|
|
||
| ### Command and control | ||
|
|
||
|
|
||
| Upon first launch, Yaeger will set up its own access point. You can then configure the preferred wifi for Yaeger to | ||
| connect to from the Web UI (see below). After setting up the preffered Wifi, Yaeger will try to connect to it on every | ||
| boot. If it can't connect to the preffered Wifi, Yaeger will fallback to its own access point (so you can set up Wifi | ||
| again). | ||
| This repo also includes a sample config for Artisan-Scope. | ||
| This repo also includes a sample config for Artisan-Scope. | ||
|
|
||
| #### Artisan Scope | ||
| Load the config, found in `./artisan-settings.aset` into Artisan-Scope, change the server ip to match yours and click the on button. | ||
|
|
||
| Load the config, found in `./artisan-settings.aset` into Artisan-Scope, change the server ip to match yours and click the on button. | ||
|
|
||
| #### Web interface | ||
|
|
||
| You can also control Yaeger from its own web interface without an app. Just point your browser to `yaeger.local` when on | ||
| your home wifi, or `192.168.4.1` if Yaeger creates its own access point. | ||
|  | ||
|
|
||
| #### Using Yaeger on the go | ||
| If Yaeger can't connect to your preferred Wifi, it will create its own access point. Perfect for when out and about :) | ||
|
|
||
| If Yaeger can't connect to your preferred Wifi, it will create its own access point. Perfect for when out and about :grin: | ||
|
|
||
| ## Build guide (WIP) | ||
|
|
||
| ### Schema | ||
|
|
||
|  | ||
|
|
||
| Additional info for the v1 pcb can be found in the schema folder, along with a BOM for the pcb. Courtesy of [@dlisec](https://github.com/dlisec) | ||
| Kicad projects for the S3 and S3 mini versions of the PCB, can be found in the PCB folder, along with a BOM for the pcb. | ||
|
|
||
| Courtesy of [@dlisec](https://github.com/dlisec) | ||
|
|
||
| ### Building and flashing | ||
|
|
||
| A build script has been provided by [@matthew73210](https://github.com/matthew73210), so to get up and running on the | ||
| ESP, just run `./build_and_flash.sh`. | ||
| ESP, just run `./build_and_flash.sh`. Make sure to read the comments in the script. But also in the platformio.ini and choose the right board | ||
|
|
||
| ## Latest features | ||
|
|
||
| ### PID | ||
|
|
||
| PID temp follower, set the temperature setpoint and the PID controller will try and follow. You'll need to find your own PID values | ||
|
|
||
| ### Profile | ||
|
|
||
| Still in the works, but there is now a profile follower, it follows a simple .json format. You can have a go at [Gaggiuino web profiler](https://matthew73210.github.io/Gaggiuino-web-profiler/) under the _pun_ "Yägermeister Mode" | ||
|
|
||
|
|
||
| #### An example of a roast profile | ||
|
|
||
| ``` | ||
| { | ||
| "steps": [ | ||
| { | ||
| "duration": 10, | ||
| "setpoint": 40, | ||
| "interpolation": "linear" | ||
| }, | ||
| { | ||
| "duration": 360, | ||
| "setpoint": 217, | ||
| "interpolation": "ease-out" | ||
| } | ||
| ] | ||
| } | ||
| ``` | ||
|
|
||
| ## Disclaimer | ||
|
|
||
| # Disclaimer | ||
| Be careful when messing about with electronics and high voltage. I can not and will not take any responsibility for any | ||
| sort of damage or injury caused by Yaeger, either directly or indirectly. | ||
| **You do this at your own risk** | ||
| ### You have been warned! | ||
|
|
||
| ## You have been warned | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correct 'Suported' to 'Supported' to fix the typo.