Skip to content

Instantly share code, notes, and snippets.

@kmobs
kmobs / BTTH723.md
Last active February 29, 2024 08:51
BTT H723 Octopus Pro Errata

BTT H723 Octopus Pro

image (2)

Update

The 1.1 version of this board fixed the DFU issue and the SPI issue has been resolved as well I've been told.

Old Information

I recently purchased this board due to the processor that's on it as well as the ability for native 48v support.

@kmobs
kmobs / Adxl Understanding.md
Last active December 20, 2023 16:01
Demystifying some ADXL understandings

ADXL Demystification

There is a lot of confusion as to how to get good ADXL graphs. For many, the issue is printer build and rigidity. For others, there is often an issue with ADXL mounting or noise. Like all of my guides, this is targeted at people chasing the highest performance with quality. If your quality and speeds are fine for you, stop reading as this guide isn't for you.

There are a few parameters that play into your measured values and this will break down the most straightforward. Broadly, they are mass and stiffness. This explanation will not be true in every single instance, and is definitely not PhD level physics, but should at least help with the broad understanding of what your printer is doing.

Technical

The easiest way to think about it is if you start by thinking of your printer as an undamped simple harmonic oscillator.

@kmobs
kmobs / frequencytester.md
Last active March 29, 2024 14:44
Frequency Tester

Frequency Testing

This will allow you to test a specific frequency that you hear when you do your resonance testing in Klipper and potentially track down where extra peaks are coming from. If something is rattling at a specific frequency, you can specify that frequency and feel around the printer until you track it down.

Code was adopted by zifnab from somewhere in Klipper.

Usage

You have to have [resonance_holder] in your printer.cfg.

The command is HOLD_RESONANCE AXIS=<axis> FREQ=int SECONDS=<seconds>

@kmobs
kmobs / DampingRatio.md
Last active April 7, 2024 20:16
Calculating the damping ratio for your hardware:

Prerequisite - Outdated. I don't use the resonance testing branch or pulses method anymore.

I recommend running Dmitry’s latest resonance testing branch and using the pulses method outlined below:

https://github.com/Klipper3d/klipper/issues/4560
https://github.com/dmbutyugin/klipper/tree/resonance-test-methods

I would only go down this path if you're getting ghosting with really high speed prints. On the Annex Engineering K3 for example, no matter how perfect the graphs looked, I was still getting some ghosting. That prompted me to go down this path. I'm now able to print at 20-30k acceleration, 250-350mm/s, and 15scv with perfect quality that can usually only be seen at significantly slower speeds.

The default settings in Klipper have the damping ratio set to .1. This should be fine for most people with sane settings. I like to go for the insane.

@kmobs
kmobs / -
Created January 20, 2015 04:15
adwaita-icon-theme
autoconf
autofs
automake
baobab
bash
binutils
bison
bzip2
coreutils
; VERSION 6 -- Increment version when this file is changed
; P4 Version: $Revision: #26 $
;##################################################################################################
; Performance Analysis
;##################################################################################################
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Set different performance profiling modes for the driver.
; Valid values:
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 3.0.13-g275cdc3 (htc-kernel@u18000-build-144) (gcc version 4.4.3 (GCC) ) #1 SMP PREEMPT Fri Dec 30 17:43:04 CST 2011
[ 0.000000] CPU: ARMv7 Processor [510f02d2] revision 2 (ARMv7), cr=10c5387d
[ 0.000000] CPU: VIPT nonaliasing data cache, VIVT ASID tagged instruction cache
[ 0.000000] Machine: pyramid
[ 0.000000] CAM_AWB_CAL Data size = 1026 , 0x59504550, size = 4096
[ 0.000000] Ignoring unrecognised tag 0x41387898
[ 0.000000] BT Data size= 4, 0x43294329,
[ 0.000000] d8,
[ 0.000000] b3,
--------- beginning of /dev/log/main
E/BATT_ALG( 110): Unknown Battery ID, ADC is 6761, DQ(0).
I/BATT_ALG( 110): batt_vol:3512; batt_current:0; batt_discharge_current:682; batt_temperature:365; batt_id:255
I/BATT_MAIN( 110): acquire battery wakelock
I/rmt_storage( 121): rmt_storage user app start.. taking cmd line parameters
I/rmt_storage( 121): modem_fs1 [/dev/block/mmcblk0p25]
I/rmt_storage( 121): modem_fs2 [/dev/block/mmcblk0p26]
I/rmt_storage( 121): radio_config [/dev/block/mmcblk0p18]
I/rmt_storage( 121): rmt_storage open success
I/DEBUG ( 112): debuggerd: Jan 20 2012 18:11:15
on init
write /sys/class/android_usb/android0/iSerial $ro.serialno
write /sys/class/android_usb/android0/f_rndis/manufacturer Samsung
write /sys/class/android_usb/android0/f_rndis/vendorID 04e8
write /sys/class/android_usb/android0/f_rndis/wceis 1
on boot
write /sys/class/android_usb/android0/iManufacturer $ro.product.manufacturer
write /sys/class/android_usb/android0/iProduct $ro.product.model
I/ActivityManager( 1498): Start proc com.android.mms for broadcast com.android.mms/.transaction.PrivilegedSmsReceiver: pid=2134 uid=10033 gids={3003, 1015}
E/AndroidRuntime( 2134): FATAL EXCEPTION: SmsReceiverService
E/AndroidRuntime( 2134): java.lang.NullPointerException
E/AndroidRuntime( 2134): at com.android.mms.transaction.MessagingNotification.updateNotification(MessagingNotification.java:585)
E/AndroidRuntime( 2134): at com.android.mms.transaction.MessagingNotification.access$400(MessagingNotification.java:77)
E/AndroidRuntime( 2134): at com.android.mms.transaction.MessagingNotification$MmsSmsNotificationInfo.deliver(MessagingNotification.java:319)
E/AndroidRuntime( 2134): at com.android.mms.transaction.MessagingNotification.blockingUpdateNewMessageIndicator(MessagingNotification.java:202)
E/AndroidRuntime( 2134): at com.android.mms.transaction.SmsReceiverService.handleSmsReceived(SmsReceiverService.java:331)
E/AndroidRuntime( 2134): at com.android.mms.transaction.SmsReceiverService.access$100(Sms