Table of Contents

PR19_01_XMC Infineon XMC4800 development environment with Docker containers.

PR19_02_Sensors Air quality PM sensor measurements and data visualization.

PR19_03_Yocto Yocto environment for STM32P1 board.

PR20_01_STM32 STM32 development environment with libopencm3.

PR20_02_RTEMS Develop a simple application on an ARM platform (SPI sensor throughput, CPU load, GPIO interrupt latency, interrupt latency with user thread processing, PPS jitter).

  1. GPIO toggling on bare-metal. Compare performance of different boards, flash/RAM/ITCM, etc.
  2. Interrupt latency (GPIO input/output) on bare-metal. Compare performance of different boards, flash/RAM/ITCM, etc.
  3. GPIO toggling on RTEMS using a single uninterrupted task. Compare performance of different boards. Useful to make sure the systems and toolchains are working as expected. Running from flash/RAM/ITCM.
  4. RTEMS interrupt latency and jitter at different CPU loads (GPIO input/output). Compare performance of different boards.
  5. RTEMS scheduling latency and jitter using mutex at different CPU loads (measured using two GPIO outputs). Compare performance of different boards.
  6. RTEMS periodic timer jitter at different CPU loads (measured using one GPIO output). Compare performance of different boards.
  7. RTEMS contribution: CPU load
  8. RTEMS contribution: task priority assignment with ML

PRXX_XX_Micropython

EtherCAT

Machinekit + EtherCAT on RPi3 MQTT broker latency test

Accurate Synchronization ethercat systems using distributed clocks

IMU helicopter control

http://iot.ee.ucla.edu/UCLA-STMicro/index.php/Home

ST material:

STEVAL-FCU001V1

STEVAL-STLKT01V1

STEVAL-IDI001V1

DT0064 Design tip - Noise analysis and identification in MEMS sensors

Adafruit IR distance sensor

Adafruit ToF distance sensor

MappyDot

PTP

http://www.eecis.udel.edu/~mills/ptp.html

http://home.mit.bme.hu/~khazy/ptpd/

http://lwn.net/Articles/520203/

http://lists.ntp.org/pipermail/hackers/2013-October/006157.html

http://nullr0ute.com/2014/04/3-14-fedora-arm-kernel-status/

http://www.belden.com/docs/upload/precision_clock_synchronization_wp.pdf

http://www.ieeeboston.org/publications/society_presentations/Implementation_of_IEEE_1588_Protocol_on_Embedded_Processors_Pub_Jiang_Wu.pdf

http://www.ixxat.com/introduction_ieee_1588_en.html

https://community.freescale.com/thread/324194

http://processors.wiki.ti.com/index.php/TI81XX_PSP_Ethernet_Switch_User_Guide#IEEE_1588.2F802.1AS_PTP_Support

http://ptpd.sourceforge.net/

linuxptp

http://linuxptp.sourceforge.net/

https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html-single/Deployment_Guide/#ch-Configuring_PTP_Using_ptp4l

ptp4l -i eth0 -m
pmc -u -b 0 'GET CURRENT_DATA_SET'
pmc -u -b 0 'GET TIME_STATUS_NP'
phc2sys -s eth0 -w

Accuracy improvements:

nohz=off

Statistics

https://github.com/aewallin/allantools/

Linux PPS support

http://linuxpps.org/wiki/index.php/Main_Page

http://www.linuxpps.org/pipermail/discussions/2013-May/004430.html

http://ml.enneenne.com/pipermail/linuxpps/2011-August/thread.html#4331

GPS NTP timestamps

http://www.leapsecond.com/time-nuts.htm

http://www.febo.com/pipermail/time-nuts/2013-June/077959.html

http://the8thlayerof.net/2013/12/08/adafruit-ultimate-gps-cape-creating-custom-beaglebone-black-device-tree-overlay-file/

Measurement: jitter, offset, allan deviation

sigrok and gpsd

http://github.com/ddrown/wwvb

High resolution timers

http://e2e.ti.com/support/microcontrollers/msp430/f/166/t/187153.aspx

http://www.st.com/web/en/catalog/mmc/FM141/SC1169/SS1576

http://electronics.stackexchange.com/questions/59216/very-accurate-time-measurement

Power management

https://mindlinux.wordpress.com/2014/02/02/power-management-a-system-wide-challenge-peter-de-schrijver/

BBB

http://hackaday.com/2013/12/07/speeding-up-beaglebone-black-gpio-a-thousand-times/

http://blog.dan.drown.org/beaglebone-black-timer-capture-driver/

i.MX6

http://www.cse.unsw.edu.au/~cs9242/13/project/m1.shtml

MSP430

http://homepages.ius.edu/rwisman/C335/html/msp430GetStarted.HTM

http://microcontrollershop.com/product_info.php?products_id=5740

http://www.schmartboard.com/schmartboard_pd_710-0009-02_l.jpg

http://e2e.ti.com/support/microcontrollers/msp430/f/166/t/142094.aspx

http://43oh.com/2010/08/10-beginner-msp430-tutorials-and-counting/

serial

http://www.argenox.com/library/msp430/ch8-msp430_uart.php

http://www.mikrocontroller.net/topic/241214

Vehicle counting

https://publiclab.org/questions/stevie/07-13-2018/what-is-a-good-way-to-track-vehicular-traffic

Other useful hardware

http://www2.fisica.unlp.edu.ar/~veiga/life54.html

Digital filters

https://stratifylabs.co/embedded%20design%20tips/2013/10/04/Tips-An-Easy-to-Use-Digital-Filter/

http://eleceng.dit.ie/frank/arm/BareMetalSTM32F303Nucleo/fir/

https://www.theunterminatedstring.com/cmsis-arm-fir-comparison/

http://www.onarm.com/forum/62573/

http://zipcpu.com/dsp/2017/11/04/genfil-tb.html

https://github.com/mhorauer/XMC4500-Barebone-Projects

http://www.eas.uccs.edu/~mwickert/ece5655/lecture_notes/ARM/ece5655_chap6.pdf

Implementing FIR filters

http://zipcpu.com/dsp/2017/12/06/fastfir-tb.html

Implementing EMA filters

https://www.embeddedrelated.com/showcode/304.php

https://dev.to/nestedsoftware/exponential-moving-average-on-streaming-data-4hhl

https://helpful.knobs-dials.com/index.php/Low-pass_filter

https://dsp.stackexchange.com/questions/40462/exponential-moving-average-cut-off-frequency/40465

https://www.rowetel.com/?p=1245

Implementing IIR filters

https://dspguru.com/dsp/howtos/implement-iir-filters/

https://www.edn.com/design/analog/4315624/Fixed-point-IIR-filter-challenges

Unit testing

https://stackoverflow.com/questions/27723062/unit-testing-for-signal-processing