Arduino

PaulStoffregen
https://github.com/PaulStoffregen/TimeAlarms set alarm times.

Serial lib
https://github.com/lexus2k/tinyproto Using this library you can easy implement data transfer between 2 microcontrollers or between microcontroller and pc via UART, SPI, I2C or any other communication channels. You don't need to think about data synchronization between points. https://www.hackster.io/ansh2919/serial-communication-between-python-and-arduino-e7cce0
 * https://github.com/grbl/grbl ''preferred way of doing serial with ISR interrupts(Mike Acton, hardware your platform not software).
 * https://github.com/harmsm/PyCmdMessenger master slave between python and arduino
 * https://archive.is/QAOBP serial coms RS485 See Jan Axelson article.
 * Jabelone
 * Raspberry pi spidev library
 * CAN bus can multi master communication.

github repos

 * https://github.com/bitbank2
 * https://github.com/bitbank2/ss_oled OLED, light enough to run on an ATtiny85
 * https://github.com/bitbank2/Pi_Pico_C_Projects pi pico projects.
 * https://github.com/bitbank2/nrf24_test_rig nrf24, oled on promini.

https://github.com/bitbank2/Nano_33_Gamepad he purpose of this code is to use BLE HID gamepads with the Arduino Nano 33 BLE. SPI LCD/OLED library which can be built for Arduino and Linux

https://github.com/DavidLeithauser/remote-sensors-Arduino Arduino code from the book, Remote Sensor Monitoring by Radio with Arduino: Detecting Intruders, Fires, Flammable and Toxic Gases, and Other Hazards at a Distance

https://github.com/NicoHood/HID This project(1.6kstars) went through a lot of phases and has now reached a new Arduino USB-Core Library with a lot of new functions like extended HID. It also supports HoodLoader2 version 1 is no longer supported). The idea is to enable enhanced USB functions to almost all standard' Arduino boards.

arduino irrigation

ethernet shield
https://www.youtube.com/watch?v=eoiuhPxCcM4 UDP This tutorial presents a step by step demonstration of how to transfer data between Python and Arduino using a simple UDP client server setup. The arduino is the server, and Python is the client. We demonstrate using a BMP180 pressure sensor. You can find the full lesson on our WEB site at: http://www.toptechboy.com/tutorial/python-with-arduino-lesson-17-sending-and-receiving-data-over-ethernet/

interrupts
http://www.toptechboy.com/arduino/lesson-30-advanced-software-interrupt-techniques-for-reading-serial-data-with-arduino/ and https://github.com/PaulStoffregen/TimerOne

https://github.com/PaulStoffregen/TimerThree timerthree

http://www.fourwalledcubicle.com/AVRArticles.php

server
https://www.youtube.com/watch?v=pyKPivef3ks

https://medium.freecodecamp.org/how-to-make-your-own-python-dev-server-with-raspberry-pi-37651156379f

https://towardsdatascience.com/python-webserver-with-flask-and-raspberry-pi-398423cc6f5d

Stepper code
https://github.com/grbl/grbl/blob/90ad129ad262bd6e785cf11b8387a1c376cdd11a/grbl/config.h // Creates a delay between the direction pin setting and corresponding step pulse by creating // another interrupt (Timer2 compare) to manage it. The main Grbl interrupt (Timer1 compare) // sets the direction pins, and does not immediately set the stepper pins, as it would in // normal operation. The Timer2 compare fires next to set the stepper pins after the step // pulse delay time, and Timer2 overflow will complete the step pulse, except now delayed // by the step pulse time plus the step pulse delay. (Thanks langwadt for the idea!) // NOTE: Uncomment to enable. The recommended delay must be > 3us, and, when added with the // user-supplied step pulse time, the total time must not exceed 127us. Reported successful // values for certain setups have ranged from 5 to 20us. // #define STEP_PULSE_DELAY 10 // Step pulse delay in microseconds. Default disabled.


 * 1) define DWELL_TIME_STEP 50 // Integer (1-255) (milliseconds)

serial
https://askubuntu.com/questions/58119/changing-permissions-on-serial-port The issue with the permissions for /dev/ttyACM0 can be permanantly solved by adding yourself to the dialout group. You will have to logout and then log back in before the group change is recognized. You can do this with sudo usermod -a -G dialout terrik if terrik is your username. https://unix.stackexchange.com/questions/18796/how-to-apply-changes-of-newly-added-user-groups-without-needing-to-reboot. Ctrl shift m shortcut displays serial monitor.

http://playground.arduino.cc/Interfacing/LinuxTTY

https://learn.adafruit.com/usbtinyisp

http://forum.arduino.cc/index.php/topic,73748.0.html loopback test if not uploading from http://forum.arduino.cc/index.php?topic=38838.msg286321#msg286321

http://blog.spitzenpfeil.org/wordpress/projects/ various diy projects

http://www.engbedded.com/fusecalc fuse settings.

youtube channels
https://www.youtube.com/watch?v=UW6IMeotnWw&list=RDCMUC8Ob-HnnmhlgSv5Vs_i32TQ&index=3 Ralph Bacon

Debugging

 * debugging #ifdefs
 * segger jlink

links
https://maker.pro/

https://www.seeedstudio.com/blog/2019/11/20/best-single-board-computers-of-2019/ SBC reviews, pocket beagle bone etc.

AtmelMicro, C coding , stm32blackpill

https://store.siqma.com/txs0108e-logic-level-converter.html txs0108 logic level shifter. cjmcu

RS485