Compare commits
	
		
			10 Commits
		
	
	
		
			30d2385812
			...
			435907d0fe
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					435907d0fe | ||
| 
						 | 
					7bc3476d72 | ||
| 
						 | 
					cf3dcdc9e6 | ||
| 
						 | 
					d7569e753d | ||
| 
						 | 
					35baa4f799 | ||
| 
						 | 
					1d1db56f86 | ||
| 
						 | 
					e431126cdc | ||
| 
						 | 
					d344625407 | ||
| 
						 | 
					f561a01cc5 | ||
| 
						 | 
					36b1770ed4 | 
@@ -4,17 +4,15 @@ repos:
 | 
			
		||||
  hooks:
 | 
			
		||||
  - id: black
 | 
			
		||||
- repo: https://github.com/asottile/reorder_python_imports
 | 
			
		||||
  rev: v3.9.0
 | 
			
		||||
  rev: v3.12.0
 | 
			
		||||
  hooks:
 | 
			
		||||
  -   id: reorder-python-imports
 | 
			
		||||
- repo: https://github.com/PyCQA/flake8
 | 
			
		||||
  rev: '5.0.4'
 | 
			
		||||
- repo: https://github.com/charliermarsh/ruff-pre-commit
 | 
			
		||||
  rev: 'v0.1.6'
 | 
			
		||||
  hooks:
 | 
			
		||||
  - id: flake8
 | 
			
		||||
    args: ["--max-line-length=1000"]
 | 
			
		||||
    language_version: python3
 | 
			
		||||
    - id: ruff
 | 
			
		||||
- repo: https://github.com/pycqa/pydocstyle
 | 
			
		||||
  rev: 6.1.1
 | 
			
		||||
  rev: 6.3.0
 | 
			
		||||
  hooks:
 | 
			
		||||
  - id: pydocstyle
 | 
			
		||||
    args:
 | 
			
		||||
 
 | 
			
		||||
@@ -37,16 +37,20 @@
 | 
			
		||||
        - [🗈 Mini Drak build condensed instructions](model-build-notes/mini-drak-build-condensed-instructions.md)
 | 
			
		||||
- [📁 Maker things](maker-things/index.md)
 | 
			
		||||
    - [🗈 Battery discharge curves](maker-things/battery-discharge-curves.md)
 | 
			
		||||
    - [🗈 Details about my Sapphire Pro](maker-things/details-about-my-sapphire-pro.md)
 | 
			
		||||
    - [🗈 Electronics tips](maker-things/electronics-tips.md)
 | 
			
		||||
    - [🗈 GRBL_ESP32 tips](maker-things/grbl-esp32-tips.md)
 | 
			
		||||
    - [🗈 How to properly level your 3D printer](maker-things/how-to-properly-level-your-3d-printer.md)
 | 
			
		||||
    - [🗈 Info on various hardware components](maker-things/info-on-various-hardware-components.md)
 | 
			
		||||
    - [🗈 Installing BLTouch-compatible firmware onto the TwoTrees Sapphire Pro](maker-things/installing-bltouch-compatible-firmware-onto-the-twotrees-sapphire-pro.md)
 | 
			
		||||
    - [🗈 Notes on my TimSav](maker-things/notes-on-my-timsav.md)
 | 
			
		||||
- [🖥️ Programming](programming/index.md)
 | 
			
		||||
    - [🗈 Interesting projects](programming/interesting-projects.md)
 | 
			
		||||
    - [🐍 Python](python/index.md)
 | 
			
		||||
        - [🗈 Decorator that runs a function in a thread](python/decorator-that-runs-a-function-in-a-thread.md)
 | 
			
		||||
- [💽 Software](software/index.md)
 | 
			
		||||
    - [🗈 Black pills](software/black-pills.md)
 | 
			
		||||
    - [🗈 Cloning cards/fobs with a Proxmark3](software/cloning-cards-fobs-with-a-proxmark3.md)
 | 
			
		||||
    - [🗈 Getting VoWiFi working on Xiaomi.eu](software/getting-vowifi-working-on-xiaomi-eu.md)
 | 
			
		||||
    - [🗈 Monero GUI syncing stuck with Ledger](software/monero-gui-syncing-stuck-with-ledger.md)
 | 
			
		||||
    - [🗈 Pairing the Xbox One controller in Linux](software/pairing-the-xbox-one-controller-in-linux.md)
 | 
			
		||||
 
 | 
			
		||||
@@ -3,12 +3,7 @@
 | 
			
		||||
This is the regex I use with Parachute to transfer between planes only the parameters that are transferrable (ie non-plane-specific):
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
parachute restore -f "^(ACRO_LOCKING|OSD.*|RC[\d_]+.*|\
 | 
			
		||||
    FLTMODE.*|FLIGHT_OPTIONS|FS_.*|RTL_CLIMB_MIN|RTL_RADIUS|\
 | 
			
		||||
    THR_PASS_STAB|THR_SLEWRATE|THR_SUPP_MAN|TKOFF_ACCEL_CNT|\
 | 
			
		||||
    TKOFF_THR_.*|TKOFF_ALT|TKOFF_DIST|HOME_RESET_ALT|\
 | 
			
		||||
    ALT_HOLD_RTL|MIN_GNDSPD_CM|ARMING_RUDDER)$" \
 | 
			
		||||
    <backup>
 | 
			
		||||
parachute restore -f '^(ACRO_LOCKING|OSD.*|RC[\d_]+.*|FLTMODE.*|FLIGHT_OPTIONS|FS_.*|RTL_CLIMB_MIN|RTL_RADIUS|THR_PASS_STAB|THR_SLEWRATE|THR_SUPP_MAN|TKOFF_ACCEL_CNT|TKOFF_THR_.*|TKOFF_ALT|TKOFF_DIST|HOME_RESET_ALT|ALT_HOLD_RTL|MIN_GNDSPD_CM|ARMING_RUDDER)$' <backup>
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
This will transfer things like the OSD settings, flight modes, failsafe options, etc etc, but will leave things like PID tuning alone.
 | 
			
		||||
@@ -17,6 +12,6 @@ Use it to set up a new plane by copying over settings from an older plane.
 | 
			
		||||
* * *
 | 
			
		||||
 | 
			
		||||
<p style="font-size:80%; font-style: italic">
 | 
			
		||||
Last updated on August 07, 2022. For any questions/feedback,
 | 
			
		||||
Last updated on September 16, 2023. For any questions/feedback,
 | 
			
		||||
email me at <a href="mailto:hi@stavros.io">hi@stavros.io</a>.
 | 
			
		||||
</p>
 | 
			
		||||
 
 | 
			
		||||
@@ -102,6 +102,6 @@ This is some more advanced information on tuning the TECS:
 | 
			
		||||
* * *
 | 
			
		||||
 | 
			
		||||
<p style="font-size:80%; font-style: italic">
 | 
			
		||||
Last updated on March 23, 2022. For any questions/feedback,
 | 
			
		||||
Last updated on November 26, 2023. For any questions/feedback,
 | 
			
		||||
email me at <a href="mailto:hi@stavros.io">hi@stavros.io</a>.
 | 
			
		||||
</p>
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										25
									
								
								content/maker-things/details-about-my-sapphire-pro.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								content/maker-things/details-about-my-sapphire-pro.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,25 @@
 | 
			
		||||
# Details about my Sapphire Pro
 | 
			
		||||
 | 
			
		||||
My Sapphire Pro runs the MKS Robin Nano 1.2 board. Details on that board (pinouts, diagrams, etc) are here:
 | 
			
		||||
 | 
			
		||||
[https://github.com/makerbase-mks/MKS-Robin-Nano-V1.X/wiki/Wiring_Pinout_and_Size](https://github.com/makerbase-mks/MKS-Robin-Nano-V1.X/wiki/Wiring_Pinout_and_Size
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
## TMC2209 drivers
 | 
			
		||||
 | 
			
		||||
I've installed TMC2209 drivers and wired all their UARTs up to the same pin, PA13, as recommended [in this GitHub issue](https://github.com/Klipper3d/klipper/issues/4779). Their addresses for X, Y, Z, and E are 0, 1, 2, and 3, respectively. It doesn't work with Klipper, I'm only getting the error message `TMC stepper_x failed to init: Unable to read tmc uart 'stepper_x' register IFCNT`. Nothing I've tried has worked, the last resort is setting the baud rate to 19200. If you managed to make this work, please email me.
 | 
			
		||||
 | 
			
		||||
## SFS 2.0 filament motion runout sensor
 | 
			
		||||
 | 
			
		||||
I've installed the SFS 2.0 motion runout sensor on MT_DET1 and MT_DET2. This means that the motion sensor pin is PE6, and the switch sensor is PA4. That doesn't work either, Marlin keeps thinking the printer has run out of filament.
 | 
			
		||||
 | 
			
		||||
Someone here had the same issue as me:
 | 
			
		||||
 | 
			
		||||
[https://github.com/MarlinFirmware/Marlin/issues/26916](https://github.com/MarlinFirmware/Marlin/issues/26916)
 | 
			
		||||
 | 
			
		||||
* * *
 | 
			
		||||
 | 
			
		||||
<p style="font-size:80%; font-style: italic">
 | 
			
		||||
Last updated on April 05, 2024. For any questions/feedback,
 | 
			
		||||
email me at <a href="mailto:hi@stavros.io">hi@stavros.io</a>.
 | 
			
		||||
</p>
 | 
			
		||||
@@ -3,7 +3,10 @@
 | 
			
		||||
Click on a link in the list below to go to that page:
 | 
			
		||||
 | 
			
		||||
1. [Battery discharge curves](../../maker-things/battery-discharge-curves.html)
 | 
			
		||||
1. [Details about my Sapphire Pro](../../maker-things/details-about-my-sapphire-pro.html)
 | 
			
		||||
1. [Electronics tips](../../maker-things/electronics-tips.html)
 | 
			
		||||
1. [GRBL_ESP32 tips](../../maker-things/grbl-esp32-tips.html)
 | 
			
		||||
1. [How to properly level your 3D printer](../../maker-things/how-to-properly-level-your-3d-printer.html)
 | 
			
		||||
1. [Info on various hardware components](../../maker-things/info-on-various-hardware-components.html)
 | 
			
		||||
1. [Installing BLTouch-compatible firmware onto the TwoTrees Sapphire Pro](../../maker-things/installing-bltouch-compatible-firmware-onto-the-twotrees-sapphire-pro.html)
 | 
			
		||||
1. [Notes on my TimSav](../../maker-things/notes-on-my-timsav.html)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										31
									
								
								content/maker-things/info-on-various-hardware-components.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								content/maker-things/info-on-various-hardware-components.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,31 @@
 | 
			
		||||
# Info on various hardware components
 | 
			
		||||
 | 
			
		||||
I bought various components from AliExpress, and sometimes they lack info. I've added info about them here:
 | 
			
		||||
 | 
			
		||||
## USB-C decoy breakouts: [5V 9V 12V 15V 20V adjustable 3A PD/QC multi-protocol decoy fast charging boost module TYPE-C USB interface](https://www.aliexpress.com/item/1005006064674815.html)
 | 
			
		||||
 | 
			
		||||
Specification:
 | 
			
		||||
* Supports multiple fast charging protocols
 | 
			
		||||
* Maximum support 3A
 | 
			
		||||
* TYPE-C port power supply
 | 
			
		||||
* Support multiple fast charging protocols: PD3.0/2.0, QC3.0/2.0, FCP, AFC
 | 
			
		||||
* PD/QC multi-protocol decoy 5V, 9V, 12V, 15V, 20V voltage adjustable
 | 
			
		||||
 | 
			
		||||
The manufacturer has said that this is the truth table:
 | 
			
		||||
 | 
			
		||||
| 1 | 2 | 3 | Voltage |
 | 
			
		||||
|---|---|---|---------|
 | 
			
		||||
| L | L | H |       5 |
 | 
			
		||||
| L | L | L |       9 |
 | 
			
		||||
| L | H | L |      12 |
 | 
			
		||||
| H | H | L |      15 |
 | 
			
		||||
| H | L | L |      20 |
 | 
			
		||||
 | 
			
		||||
This basically seems to be the same truth table as the original [USB PD decoy](https://hackaday.io/project/187112-usb-pd-decoy), except the logic levels are inverted (high becomes low and vice-versa), and SW1 in the original is M3, SW2 is M1, and SW3 is M2. Pretty convoluted, but it works.
 | 
			
		||||
 | 
			
		||||
* * *
 | 
			
		||||
 | 
			
		||||
<p style="font-size:80%; font-style: italic">
 | 
			
		||||
Last updated on November 23, 2023. For any questions/feedback,
 | 
			
		||||
email me at <a href="mailto:hi@stavros.io">hi@stavros.io</a>.
 | 
			
		||||
</p>
 | 
			
		||||
							
								
								
									
										21
									
								
								content/maker-things/notes-on-my-timsav.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								content/maker-things/notes-on-my-timsav.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
			
		||||
# Notes on my TimSav
 | 
			
		||||
 | 
			
		||||
A few years ago I made a TimSav foam cutter CNC. These are my notes on it, because I keep forgetting things.
 | 
			
		||||
 | 
			
		||||
* It runs [FluidNC](https://github.com/bdring/FluidNC).
 | 
			
		||||
* `M3 S200` enables the spindle at 20%, `M3 S0`/`S0` disables it, `M5` halts it.
 | 
			
		||||
 | 
			
		||||
To generate the Gcode, I use a program called [LaserWeb](https://laserweb.yurl.ch/). I have a few notes on it:
 | 
			
		||||
 | 
			
		||||
* After you load an SVG, you need to click the leftmost button below the SVG, with the three cubes. This will select all the paths to generate movements for.
 | 
			
		||||
* You need to click "Create single" to create a path to mill.
 | 
			
		||||
* I use "Laser Cut" as the tool.
 | 
			
		||||
 | 
			
		||||
I created a small script, `cnc_unwanted_moves`, to remove unwanted tool off/on at each corner. I won't share it here, as it's too specific to my configuration, and probably useless to anyone else.
 | 
			
		||||
 | 
			
		||||
* * *
 | 
			
		||||
 | 
			
		||||
<p style="font-size:80%; font-style: italic">
 | 
			
		||||
Last updated on October 02, 2023. For any questions/feedback,
 | 
			
		||||
email me at <a href="mailto:hi@stavros.io">hi@stavros.io</a>.
 | 
			
		||||
</p>
 | 
			
		||||
							
								
								
									
										74
									
								
								content/software/cloning-cards-fobs-with-a-proxmark3.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								content/software/cloning-cards-fobs-with-a-proxmark3.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,74 @@
 | 
			
		||||
# Cloning cards/fobs with a Proxmark3
 | 
			
		||||
 | 
			
		||||
## Cloning a Paxton fob
 | 
			
		||||
 | 
			
		||||
Basically, follow this guide:
 | 
			
		||||
 | 
			
		||||
https://badcfe.org/how-to-paxton-with-proxmark/
 | 
			
		||||
 | 
			
		||||
I managed to read my fob with:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
lf hitag read --ht2 -k BDF5E846
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
If you're getting "Password failed!" or nothing back, move the fob around the 125KHz antenna (the top one), it should eventually work.
 | 
			
		||||
 | 
			
		||||
Afterwards, [convert the fob pages to an EM4100 ID](https://static.badcfe.org/paxton-covert), and flash the ID to a T5577, emulating an EM4100 chip:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
lf em 410x clone --id <your hex id>
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Read it back to make sure:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
lf em 410x reader
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
You should be done, but I haven't tested it as I don't have a Paxton reader handy.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Cloning MiFare cards
 | 
			
		||||
 | 
			
		||||
See [Cloning a Mifare Classic 1K](https://www.gavinjl.me/proxmark-3-cloning-a-mifare-classic-1k/).
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Card cloner password
 | 
			
		||||
 | 
			
		||||
I have an AliExpress cloner which clones LF cards. Unfortunately, whenever it clones a card, it sets the password bit on it. This makes the card not respond to writes/wipes without the password (it just keeps having the same data, no matter what you write).
 | 
			
		||||
 | 
			
		||||
To remove it with the Proxmark3, run:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
lf t55 wipe -p 51243648
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Cloning T5577 cards
 | 
			
		||||
 | 
			
		||||
Read the card with:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
lf em 410x reader
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Write with:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
lf EM 410x clone --id <the ID from before>
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Related reading
 | 
			
		||||
 | 
			
		||||
* [Iceman's Proxmark3 firmware (use this one)](https://github.com/RfidResearchGroup/proxmark3)
 | 
			
		||||
* [How to copy Paxton fobs using an RFIDler](https://gist.github.com/natmchugh/18e82761dbce52fa284c87c190dc926f#getting-hold-of-hitag2-tags)
 | 
			
		||||
* [ How to copy, read and write Paxton fobs and cards with a Proxmark ](https://badcfe.org/how-to-paxton-with-proxmark/)
 | 
			
		||||
 | 
			
		||||
* * *
 | 
			
		||||
 | 
			
		||||
<p style="font-size:80%; font-style: italic">
 | 
			
		||||
Last updated on March 04, 2024. For any questions/feedback,
 | 
			
		||||
email me at <a href="mailto:hi@stavros.io">hi@stavros.io</a>.
 | 
			
		||||
</p>
 | 
			
		||||
@@ -3,6 +3,7 @@
 | 
			
		||||
Click on a link in the list below to go to that page:
 | 
			
		||||
 | 
			
		||||
1. [Black pills](../../software/black-pills.html)
 | 
			
		||||
1. [Cloning cards/fobs with a Proxmark3](../../software/cloning-cards-fobs-with-a-proxmark3.html)
 | 
			
		||||
1. [Getting VoWiFi working on Xiaomi.eu](../../software/getting-vowifi-working-on-xiaomi-eu.html)
 | 
			
		||||
1. [Monero GUI syncing stuck with Ledger](../../software/monero-gui-syncing-stuck-with-ledger.html)
 | 
			
		||||
1. [Pairing the Xbox One controller in Linux](../../software/pairing-the-xbox-one-controller-in-linux.html)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user