1- Write an i2c driver, to access the eeprom we have in the tdc board. It can use the hardware support in the microcontroller, or just rely on gpio pins. 2- Identify where is the race condition in commit 02fa9a5f. This is the alternative __sched implementation that I then reverted from the repository. 3- Use the leds in the mini-preempt application in order to actually "see" preemption: one led for the fast task, one led for the slow task, and one for the main function, that must turn off when preemption happens. 4- Describe how you can use the "timestamp_fraction" argument to the interrupt handlers to get interrupt timestamps. Please remember that a timestamp has two components: the jiffies value and the fractional counter. 5- If the system is using preemption with a number of tasks, use of the stack is fuzzy, because the various tasks will overlap in unpredictable ways. You are not sure about stack use in production, despite your tests during development. Please find a way to measure the worst case use of the stack, to validate you project before deployment. 6- Back to malloc. Sometimes tasks may need temporary storage, but it is released before the iteration of the state machine (i.e. before the job returns). If more than one task needs temporary storage at each iteration, it may make sense to allow sharing, through malloc/free (but if we have preemption the stack problem above surfaces again. Please draft or write a malloc implementation suitable for this use case. Also, find a way to ensure no out-of-memory will ever happen. 7- Let's imagine you are asked to make a relay board, or an array of smaller boards. Your client wants to drive 50 low-power lamps, but you fear the number will increase later: all clients are the same in this respect. It's just on-off, no PWM is needed. Operation is mostly unattended, and it's paramount that it works for a whole week. If some component fails, it should be quickly replaceable by non-technicians, and you are especially concerned about the solid-state relays -- no audible ticking is allowed at the deployment site. Please lay out the ideas for your implementation.