Arduino

pico
https://timsavage.github.io/rpi-pico-devboard/ debug pico(https://github.com/timsavage/rpi-pico-devboard) A debug host (using picoprobe) for on chip debugging of code. A serial interface (again via picoprobe) The missing reset button! . Breakout of all pins from the pico. Development board powered by either the VSys or VBus sources linked from https://www.youtube.com/watch?v=F0o1C7nEgw0 GreatScott! channel. https://oshwlab.com/tim.savage/pipico-devboard hardware files.

timers
https://moodle.bulme.at/pluginfile.php/82927/mod_resource/content/0/arduino/ArduinoTimers.pdf rotary encoder archive ref. by usefulard code spenceKonde github and mazurov rotary without ISR https://www.gammon.com.au/timers, http://www.gammon.com.au/forum/?id=11504 from measure time interval https://www.youtube.com/watch?v=awS93t-uX4Q https://www.youtube.com/watch?v=3kCWRyYfLDA In this video compare match interrupt using ATmega328 timer1 is explained and used to toggle a LED. https://www.youtube.com/watch?v=cAui6116XKc https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf https://github.com/PaulStoffregen/TimeAlarms set alarm times. https://github.com/JChristensen/Timer/blob/master/examples/pin_high_10_mins/pin_high_10_mins.pde http://www.doctormonk.com/2012/01/arduino-timer-library.html

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. sending structs arduino to python 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. arduino irrigation RS485 with state machines. Jabelone links to three medium.com articles with three github repos. Raspberry pi spidev library https://www.hackster.io/ansh2919/serial-communication-between-python-and-arduino-e7cce0 CAN bus can multi master communication.

github
ddegonge Serial routines, BLDC(ESC speed control), and PID control repos bitbank2 follows cbm80amiga,CoretechR,andyhighnumber, chuengbx,  JoshuaAGtz  and simondlevy. See his Time of Flight Lidar code. mattiasjahnke arduino-tetris https://github.com/JosueAGtz pico, arduino for tindie.com display array controller cbm80amiga over 60 c coding projects for displays CoretechR Keybon is a macro keyboard with configurable layouts and functions. Integrated into each of its nine tactile buttons is a 0.66” OLED screen. Depending on which app is active on the connected computer, Keybon switches to the suitable key layout thanks to its companion software. https://github.com/andyhighnumber/Attiny-Arduino-Games Interrupt handlers etc. 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.

gists
https://gist.github.com/jlesech/3089916 How to use assertions with Arduino.

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

gobot
https://gobot.io/ Gobot is a framework for robots, drones, and the Internet of Things (IoT), written in the Go programming language

Stepper code
https://github.com/osefrance/SolarConcentrator/blob/master/Automation/heliostat/P21/SeguiLSol25/SeguiLSolOS.ino 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. define DWELL_TIME_STEP 50 // Integer (1-255) (milliseconds) from Boat code with ramping the stepper gradually github automated boat reddit pid analysis using 2 wheel reddit xvjiarui githbut code

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

pi pico
github birchjd

Debugging
debugging #ifdefs segger jlink

tiny
https://www.seeedstudio.com/w600.html The W600 module features an ARM Cortex-M3 chip running freeRTOS. from https://hackaday.com/2019/01/28/tiny-cheap-arm-boards-get-wifi/

links
platformio, Mkirchner linked lists, tcp c programming lorawan Optical encoders AS5048 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, Keyboard RS485, reddis