HSS 4 Flute End Milling Cutter Drill Bit 3/16×1/4 Inch Straight Shank Engraving Tool
10pcs 1.5mm-3.175mm Carbide End Mill Engraving Bits For CNC Rotary Burrs
Drillpro 10pcs 1.3mm-3.175mm Carbide End Mill Engraving Bits for CNC PCB Rotary Burrs
Drillpro 10pcs 3.175mm Tungsten Steel Milling Cutter Bits End Mills
10pcs 1/8 Inch Shank 2 Flutes Carbide Ball Nose End Mills 17mm 2 Flute CNC Cutting Tool
Blackview vs. Xiaomi
LoPy and MicroPython
Cross-Reference blog.bachi.net:
Internet of Things (IoT) Protocols & Standards
LoRa: The Things Network
kickstarter: LoPy – the LoRa, WiFi and Bluetooth IoT development platform, 8. Feb 2016 – 8. Mar 2016 (30 Tage)
Pycom
kickstarter: Micro Python: Python for microcontrollers, 13. Nov 2013 – 13. Dez 2013 (30 Tage)
MicroPython – Python for microcontrollers
github: MicroPython – a lean and efficient Python implementation for microcontrollers and constrained systems
PyCom Announcements & News, (Update Firmware, etc.)
Documentation
Pycom ESP32
Pycom LoPy: WLAN (old?)
Pycom LoPy: Quick reference for the LoPy (old?)
class LoRa (old?)
Python Module: Modularisierung
Python Tutorial: Module
FTDI Drivers
Support Download
github.com/pycom
github.com/pycom/pycom-libraries/examples/
Support Download
Forum Posts
iC880 A SPI : Missing Payload in received Packet?
LoRaWAN ABP example => DevEUI
Connecting the lopy to my lorank8 gateway
Firmware
How to solve the firmware update failures
Exciting open source news!
Firmware source code?
FTP
Username: micro Password: python
Boot-Mode and Safe-Mode
Boot modes and safe boot
Safe boot
Using “The Things Network”
>>> CTRL-D PYB: soft reboot MicroPython v1.8.6-464-g0f843911 on 2017-02-17; LoPy with ESP32 Type "help()" for more information. >>> import os >>> os.uname().release '1.6.3.b2' >>> os.uname() (sysname='LoPy', nodename='LoPy', release='1.6.3.b2', version='v1.8.6-464-g0f843911 on 2017-02-17', machine='LoPy with ESP32', lorawan='1.0.0')
>>> import binascii
>>> import network
>>> import machine
>>> from network import LoRa
# Device EUI
>>> lora = LoRa(mode=LoRa.LORAWAN)
>>>print(binascii.hexlify(lora.mac()).upper().decode('utf-8'))
70B3D54994AD77E0
>>> binascii.hexlify(network.LoRa().mac())
b'70b3d5499a6b6439'
>>> binascii.hexlify(machine.unique_id())
b'240ac400c004'
>>> binascii.hexlify(network.WLAN().mac())
b'240ac400c004'
lora = LoRa(mode=LoRa.LORAWAN, sf=7, tx_power=14)
lora.BW_125KHZ
lora.CODING_4_5
# create an OTAA authentication tuple (NWSkey, AppSKey, DevAddr)
auth = (bytes([0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX]),
bytes([0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX]),
0x69128CD3 )
lora.join(activation=LoRa.ABP, auth=auth, timeout=0)
while not lora.has_joined():
print('Trying to join LoRa network')
sleep(1)
pass
print('Joined LoRa Network')
pycom.rgbled(GREEN)
s = socket.socket(socket.AF_LORA, socket.SOCK_RAW)
s.setblocking(False)
while True:
print('Sending Packet')
s.send('Hello from the LoPy')
print('Done sending')
sleep(2)
import pycom
import machine
import time
pycom.heartbeat(False)
led=machine.Pin("G16",machine.Pin.OUT)
button=machine.Pin("G17",machine.Pin.IN, pull=machine.Pin.PULL_UP)
def handler(button):
led.toggle()
irq=button.callback(trigger=button.IRQ_FALLING, handler=handler)
Change Frequency
NRF5x Bluetooth Low Energy (LE, BLE, Smart)
Segger Embedded Studio
Embedded Studio License Activation for Nordic Semiconductor Devices (nRF)
Bluetooth Classic and LE? => Just LE!
Serial Port Profile vs. BLE
nRF52810 UART service (NUS) Solution (Raytac Module: MDBT42Q-192K)
Is there a serial port profile for BLE?
Nordic UART Service Client
Running examples that use a SoftDevice
Nordic UART Service
JavaScipt / Espruino / NodeJS
HowTo use S132 to for uart to Windows 10
github.com/bossesand/OHTI, OHTI Open Head Tracking Initiative
Espruino – JavaScript for Microcontrollers
Adafruit
Bluefruit nRF52 Feather Learning Guide
GitHub
github.com/NordicSemiconductor
Nordic Tutorials
Nordic Tutorials Home
Software development Getting Started Guides
nRF5 Series: Developing with SEGGER Embedded Studio
Old
Setting up an example project on the nRF51 DK, 2015
Development with GCC and Eclipse, 2015
Bluetooth low energy Services, a beginner’s tutorial, 2015
Getting started with the nRF51 or nRF52 Development Kit, 2016
nRF51
nRF51822, Bluetooth Smart and 2.4GHz
nRF51 DK, Development Kit for Bluetooth
nRF5 SDK, Software Development Kit for the nRF51 Series and nRF52
nRF51822
- 32-bit ARM Cortex M0 CPU, 16 MHz
- 256kB/128kB Flash
- 32kB/16kB RAM
- 10-bit ADC, UART, SPI, I2C, RTC, 31 x GPIO
- Bluetooth LE (BLE)
The embedded 2.4GHz transceiver supports both Bluetooth Smart and the Nordic Gazell 2.4 GHz protocol stack which is on air compatible with the nRF24L series products from Nordic Semiconductor.
- Bluetooth Smart
- Nordic Gazell 2.4 GHz (= nRF24L)
micro:bit
The micro:bit runtime and mbed programming
micro:bit Lancaster University
micro:bit runtime
MicroBit (uBit)
uBit.radio
Yotta Offline-Toolchain
Clock Frequency
Does nrf51822 have a clock?
What low-frequency clock sources can I use?
nRF52
nRF52810, High performance, entry-level Bluetooth 5/ANT/2.4GHz SoC
nRF52832, Advanced performance Bluetooth5/ANT/2.4GHz proprietary SoC
nRF52840, High-end Bluetooth 5/Thread/802.15.4/ANT/2.4GHz multiprotocol SoC
nRF52832
- 32-bit ARM Cortex M4F CPU, 64 MHz
- 512kB/256kB Flash
- 64kB/32kB RAM
- 12-bit ADC, UART, SPI, I2C, RTC, 32 x GPIO
- Bluetooth LE (BLE) / Bluetooth 5
Nordic Thingy:52
Nordic Thingy:52
Nordic Thingy:52 – Get Started
Nordic Thingy:52 v2.1.0 – Firmware Documentation
Digikey – IoT-Sensor-Kit Thingy:52
Mouser – Thingy:52 IoT-Sensor-Development-Kit
Espruino – Nordic Thingy:52
arm mbed
Nordic nRF51-DK
Nordic nRF52-DK
Nordic nRF52840-DK
Yotta Offline-Toolchain
yotta Documentation
github.com/ARMmbed/yotta
nRF5 SDK
Software
github.com/NordicSemiconductor/pc-nrfconnect-programmer, Programmer app for nRF Connect (Node.js)
nRF52840 Dongle Programming Tutorial
Boards and SoftDevices
Supported SoftDevices:
– S112 v6.1.x, Memory-optimized Bluetooth 5 protocol stack with dual peripheral and broadcaster roles
– S132 v6.1.x, Bluetooth 5 qualified, 20-link protocol stack, all 4 Bluetooth Low Energy roles
– S140 v6.1.x, Concurrent multi-role Bluetooth 5 protocol stack
– S212 v5.0.x
Supported boards:
– PCA10040, nRF52832
– PCA10040E (nRF52810 emulation on PCA10040)
– PCA10056, nRF52840
– PCA10059 (support in selected examples)
– D52DK1 from Garmin Canada (only for ANT examples)
– nRF52832-MDK, nRF52832-mdk
Drivers
CP210x USB to UART Bridge VCP Drivers
nRF24
nRF24L01, Transceiver only
nRF24L01+, Transceiver only
nRF24LE1, enhanced 16MHz 8-bit 8051 compatible CPU
nRF24LU1+, enhanced 16MHz 8-bit 8051-compatible CPU
PlatformIO
Tutorials
nRF5x Development with GCC and Eclipse
Getting Started with nRF51822
Starting Development with Nordic nRF5X and GCC on Linux (Part 1)
Starting Development with Nordic nRF5X and GCC on Linux + Eclipse (Part 2)
nRF51822 Begins – nRF-DK, GCC, ADC, UART/BLE
nRF51 Development Kit complete setup for Linux
WaveShare
Bluetooth 4.0 NRF51822 Eval Kit
Waveshare BLE400 — Zephyr Project Documentation
Wiki
BLE400
Core51822
NRF51822 Eval Kit
AliExpress
F10643 NRF51822 Drahtlose Bluetooth Modul Networking Modul
J34 Kostenloser Versand NRF51822 BLE4.0 Bluetooth Evaluation Board 2,4G Drahtlose Kommunikationsmodul
infor-link: connect more devices…
nRF52
github
github.com/redbear/nRF5x, nRF51822 and nRF52832 based baords, e.g. BLE Nano, RBL_nRF51822, Nano 2 and Blend 2
Shop
RedBear Blend V2 (Retired)
RedBear Blend V2
RedBear BLE Module MB-N2 (2 pack)
DAPLink
Particle Debugger
Bluetooth Client (Linux / Windows)
nRF Connect for Desktop
Qt Bluetooth
Qt Bluetooth Low Energy Overview
github.com/NordicSemiconductor/pc-ble-driver, Desktop library for BLE development using nRF5
github.com/NordicSemiconductor/pc-nrfutil, nrfutil python library and command line client
FAQ
AdaFruit Stuff
AdaFruit CircuitPython on the nRF52 – nRF52840 Bootloader
nRF52 Chip Revision
Is there any difference between nRF52832-QFAAB0 and nRF52832-QFAAE0?
How do i interpret things written on my nrf52832 chip?
Which SoftDevice for nRF52832?
- compatibility matrix
S132 vs S140
nRF52832 Compatibility Matrix
what’s the difference between different softdevices
Compile SDK Examples with Makefile
Specify Toolchain
$ cd ~/src/nrf51/nRF5_SDK_15.2.0_9412b96/examples/peripheral/serial/pca10056/blank/armgcc $ make make: /usr/local/gcc-arm-none-eabi-6-2017-q2-update/bin/arm-none-eabi-gcc: Command not found Cannot find: '/usr/local/gcc-arm-none-eabi-6-2017-q2-update/bin/arm-none-eabi-gcc'. Please set values in: "/home/andreas/src/nrf51/nRF5_SDK_15.2.0_9412b96/components/toolchain/gcc/Makefile.posix" according to the actual configuration of your system. ../../../../../../components/toolchain/gcc/Makefile.common:129: *** Cannot continue. Stop.
3D Printing / Laser-Cutting / CNC-Miling Tools
Laser-Cutting
Fräslexikon
Deutsch:
- Schnittgeschwindigkeit
- Spannspratzen
- Nut
- Planfräsen
- Axiallager
- Radialkugellager
Englisch:
- Bracket
- Shaft Coupler
- Mill Table
- Lead Screw
Proxxon
Schweiz
PROXXON 27110 MICRO Fräse / Microfräse MF 70 MF70
Videos
PROXXON 27110 MICRO-Fräse Microfräse MF 70 MF70
Proxxon MF 70 CNC milling machine with digital readout for manual control
Proxxon MF70 CNC Platinen fräsen
Proxxon MF70 CNC Umbau
Proxxon MF 70 CNC (1-Axe mit Arduino)
Proxxon MF-70 3 Axes CNC Conversation
PROXXON 27100 Koordinatentisch / Kreuztisch KT 70 / KT70
Videos
KT70-CNC mit Bohrständer MB 140
PROXXON 20150 Koordinatentisch Kreuztisch KT150
PROXXON 28124 Tischbohrmaschine TBH / Ständerbohrmaschine
PROXXON 28606 Bohrständer MB 140 / S für Geräte mit 20mm Systempassung
PROXXON 28481 Industrie Bohrschleifer IBS/E (IB/E)
PROXXON 20165 Fräsmotor mit Steuerung BFW40/E
PROXXON 24320 Feinfräse FF 500 / FF500
PROXXON 24108 Feinfräse Fräse FF230 / FF 230
PROXXON 24400 Präzisions Drehmaschine PD 400 / PD400
PROXXON 24260 Präzisions – Maschinenschraubstock PM 40 / PM40
PROXXON 27116 Satz Vollhartmetall Schaftfräser
PROXXON 24264 Teilapparat für Microfräse MF 70 & KT 70
ethtool with Timestamp Support
$ ethtool enp1s0
Settings for enp1s0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: Symmetric
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
MDI-X: off (auto)
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
$ ethtool -i enp1s0
driver: igb
version: 5.2.18-k
firmware-version: 0. 6-5
bus-info: 0000:01:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no
$ ethtool -T enp1s0
Time stamping parameters for enp1s0:
Capabilities:
hardware-transmit (SOF_TIMESTAMPING_TX_HARDWARE)
software-transmit (SOF_TIMESTAMPING_TX_SOFTWARE)
hardware-receive (SOF_TIMESTAMPING_RX_HARDWARE)
software-receive (SOF_TIMESTAMPING_RX_SOFTWARE)
software-system-clock (SOF_TIMESTAMPING_SOFTWARE)
hardware-raw-clock (SOF_TIMESTAMPING_RAW_HARDWARE)
PTP Hardware Clock: 0
Hardware Transmit Timestamp Modes:
off (HWTSTAMP_TX_OFF)
on (HWTSTAMP_TX_ON)
Hardware Receive Filter Modes:
none (HWTSTAMP_FILTER_NONE)
all (HWTSTAMP_FILTER_ALL)
$ dmesg | grep igb
[ 5.521150] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.2.18-k
[ 5.528611] igb: Copyright (c) 2007-2014 Intel Corporation.
[ 5.572451] igb 0000:01:00.0: added PHC on eth0
[ 5.577186] igb 0000:01:00.0: Intel(R) Gigabit Ethernet Network Connection
[ 5.584346] igb 0000:01:00.0: eth0: (PCIe:2.5Gb/s:Width x1) 00:0d:b9:3f:9d:bc
[ 5.591815] igb 0000:01:00.0: eth0: PBA No: FFFFFF-0FF
[ 5.597191] igb 0000:01:00.0: Using MSI-X interrupts. 4 rx queue(s), 4 tx queue(s)
[ 5.642228] igb 0000:02:00.0: added PHC on eth1
[ 5.647005] igb 0000:02:00.0: Intel(R) Gigabit Ethernet Network Connection
[ 5.654086] igb 0000:02:00.0: eth1: (PCIe:2.5Gb/s:Width x1) 00:0d:b9:3f:9d:bd
[ 5.661414] igb 0000:02:00.0: eth1: PBA No: FFFFFF-0FF
[ 5.666672] igb 0000:02:00.0: Using MSI-X interrupts. 4 rx queue(s), 4 tx queue(s)
[ 5.711391] igb 0000:03:00.0: added PHC on eth2
[ 5.716129] igb 0000:03:00.0: Intel(R) Gigabit Ethernet Network Connection
[ 5.723292] igb 0000:03:00.0: eth2: (PCIe:2.5Gb/s:Width x1) 00:0d:b9:3f:9d:be
[ 5.730654] igb 0000:03:00.0: eth2: PBA No: FFFFFF-0FF
[ 5.735982] igb 0000:03:00.0: Using MSI-X interrupts. 4 rx queue(s), 4 tx queue(s)
[ 5.747308] igb 0000:01:00.0 enp1s0: renamed from eth0
[ 5.770235] igb 0000:03:00.0 enp3s0: renamed from eth2
[ 5.797884] igb 0000:02:00.0 enp2s0: renamed from eth1
$ ethtool em1 Settings for em1: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Speed: 100Mb/s Duplex: Full Port: Twisted Pair PHYAD: 2 Transceiver: internal Auto-negotiation: on MDI-X: off (auto) Supports Wake-on: pumbg Wake-on: g Current message level: 0x00000007 (7) drv probe link Link detected: yes $ ethtool -i em1 driver: e1000e version: 3.2.5-k firmware-version: 0.4-3 bus-info: 0000:00:19.0 supports-statistics: yes supports-test: yes supports-eeprom-access: yes supports-register-dump: yes supports-priv-flags: no $ ethtool -T em1 Time stamping parameters for em1: Capabilities: software-transmit (SOF_TIMESTAMPING_TX_SOFTWARE) software-receive (SOF_TIMESTAMPING_RX_SOFTWARE) software-system-clock (SOF_TIMESTAMPING_SOFTWARE) PTP Hardware Clock: none Hardware Transmit Timestamp Modes: none Hardware Receive Filter Modes: none $ dmesg | grep e1000 [ 3.583797] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.5-k [ 3.583798] e1000e: Copyright(c) 1999 - 2015 Intel Corporation. [ 3.584295] e1000e 0000:00:19.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode [ 3.774720] e1000e 0000:00:19.0 eth0: (PCI Express:2.5GT/s:Width x1) b8:ac:6f:2f:14:cf [ 3.785851] e1000e 0000:00:19.0 eth0: Intel(R) PRO/1000 Network Connection [ 3.796763] e1000e 0000:00:19.0 eth0: MAC: 8, PHY: 8, PBA No: 2011FF-0FF [ 3.812746] e1000e 0000:00:19.0 em1: renamed from eth0 [ 34.403887] e1000e: em1 NIC Link is Up 100 Mbps Full Duplex, Flow Control: Rx/Tx [ 34.403998] e1000e 0000:00:19.0 em1: 10/100 speed: disabling TSO
Bash Autocompletion
/usr/share/bash-completion/completions
8.6 Programmable Completion
Why doesn’t Bash completion for ‘cc’ and ‘c++’ work?
An introduction to bash completion: part 1
Bash Tips: Autocompletion
How to create script with auto-complete?
Line completion with custom commands
Writing your own Bash Completion Function
More on Using the Bash Complete Command
Interactive vs. Login Shell
What is the difference between interactive shells, login shells, non-login shell and their use cases?
differences between login shell and interactive shell
Why do we have login, non-login, interactive, and non-interactive bash shells?
What is the difference between a ‘Login’ and an ‘Interactive’ bash shell
Interactive: As the term implies: Interactive means that the commands are run with user-interaction from keyboard. E.g. the shell can prompt the user to enter input.
Non-interactive: the shell is probably run from an automated process so it can’t assume if can request input or that someone will see the output. E.g Maybe it is best to write output to a log-file.
Login: Means that the shell is run as part of the login of the user to the system. Typically used to do any configuration that a user needs/wants to establish his work-environment.
Non-login: Any other shell run by the user after logging on, or which is run by any automated process which is not coupled to a logged in user.
USER PID TTY COMMAND root 723 ? /usr/sbin/sshd -D root 1023 ? \_ sshd: andreas [priv] andreas 1062 ? | \_ sshd: andreas@pts/0 andreas 1063 pts/0 | \_ -bash root 1320 pts/0 | \_ sudo -s root 1321 pts/0 | \_ /bin/bash root 1456 pts/0 | \_ ps auxf root 1271 ? \_ sshd: andreas [priv] andreas 1307 ? \_ sshd: andreas@pts/1 andreas 1308 pts/1 \_ -bash root 760 ttyS0 /bin/login -- andreas 849 ttyS0 \_ -bash andreas 1464 ttyS0 \_ bash
A login shell is the first process that executes under your user ID when you log in for an interactive session. The login process tells the shell to behave as a login shell with a convention: passing argument 0, which is normally the name of the shell executable, with a – character prepended (e.g. -bash whereas it would normally be bash.
sudo
see also here:
blog.bachi.net: bashrc vs. bash_profile
[...]
-i, --login
Run the shell specified by the target user's password data-
base entry as a login shell. This means that login-specific
resource files such as .profile or .login will be read by the
shell. If a command is specified, it is passed to the shell
for execution via the shell's -c option. If no command is
specified, an interactive shell is executed. sudo attempts
to change to that user's home directory before running the
shell. The command is run with an environment similar to the
one a user would receive at log in. The Command environment
section in the sudoers(5) manual documents how the -i option
affects the environment in which a command is run when the
sudoers policy is in use.
[...]
-s, --shell
Run the shell specified by the SHELL environment variable if
it is set or the shell specified by the invoking user's pass-
word database entry. If a command is specified, it is passed
to the shell for execution via the shell's -c option. If no
command is specified, an interactive shell is executed.
[...]