At its simplest clone the relevant repository to a local repo of yours, create your change branch, create a pull-request, and start a thread about it...
One suggestion: buck convert down to 8V, then use a linear regulator to get a clean 5V from there. Defence in depth. Simple buck converters have a path between input and output that becomes a short circuit if the inductor saturates. Inductors...
For most uses rollover is immaterial if you compare timestamps correctly and never want to wait too long, using the idiom:
if (micros() - previous_timestamp >= DELAY)
{
previous_timestamp += DELAY;
// do stuff
}
The key point is the...
Its symmetrical, typical full drive outputs are +4mA and -4mA. This is for the specified output voltage droop, note, you can probably pull more, but don't expect too much from the IO pads they have to be very small indeed on a chip like this...
Simpler symmetrical method, no LM4040 needed:
I picked the AD8656 because I know its properly rail-to-rail on the inputs and outputs, cheaper options exist. Decoupling cap omitted, it is not optional though.
Normal - the output is 2's complement so even a small offset can lead all samples to be negative during a quiet patch (or all positive, or a mixture, luck of the draw).
Yes, that's one big issue. Sensors are fine, servo's are power hungry, each probably needs 1A minimum if the small sort.
The other is the standard commodity battery holders are of low-quality riveted construction and don't work well with large...
UK Hobby suppliers for microcontroller stuff include skpang, coolcomponents, pimoroni, probably many more these days. Stuff on eBay is pretty much entirely counterfeit these days alas, and undocumented usually.
TVS diode on an input isn't the best protection (very soft voltage knee) - Schottky diodes to the rails really prevent excess voltage hitting the internal protection diodes, and you might want TVS protection for the voltage rail itself so it...
The RC filter should be followed by Schmitt-trigger circuit otherwise it can cause issues - logic level inputs should never be slowly varying voltages, this can lead to oscillations and/or excess dissipation on the input buffer. Fast CMOS logic...
I think almost all power banks do this - they are designed for charging phones and cut-off once the trickle-charge phase is reached to save power for the next use. Its definitely annoying.
How complete are the images? A simple approach would have the Teensy poll for a new image, then do all the work offline. But that requires the image data is small enough to store locally.
The DSE is only used when direction is output.
The DSE is set up ready for future use such as toggling the direction for pseudo-open-drain. The DSE is part of the configuration of the pad, GDIR and DR operate the pad.
One thing to remember is...
Note that you can drive data into the GDIR register with DMA directly if you want, which would be the fastest way to get "open drain" data pushed out. DMA rather assumes a single destination register...
No, "open drain" is usually faked on a microcontroller by toggling the direction register while leaving the output register low, as this involves only touching one register.
True open-drain requires the pad hardware to be open drain which it...
That might be it hitting the end-stop and getting hot quickly... Most servos have a very limited range of angles, 120 degrees or so, try to move past the physical end-stop is likely to cook the servo quite quickly as it pulls full current.
Definitely GDIR controls direction.
The drive strength needs to be setup ready for open-drain operation I think - you don't want to have to configure a bunch of different registers to do open-drain signalling, and open drain is basically toggling...
For motor supply decoupling start at 1000µF and work up... For logic rail use both 100nF for each chip/module and 100µF overall. These motors are high current and the wiring will be producing copious EMI unless you add good decoupling, and use...
A 1k : 2k2 divider will work with something like 10ns delay. If 10 nanoseconds counts as long timescales, then perhaps use 74LVCxx family which are 3.3V logic with 5V tolerant inputs, to get more like 3ns.