# esp-hal - There are quite a few drivers that need serious help, IMO: - ADC - https://github.com/esp-rs/esp-hal/issues/326 - https://github.com/esp-rs/esp-hal/issues/449 - https://github.com/esp-rs/esp-hal/issues/902 - https://github.com/esp-rs/esp-hal/issues/1203 - DMA - https://github.com/esp-rs/esp-hal/issues/489 - https://github.com/esp-rs/esp-hal/issues/954 - https://github.com/esp-rs/esp-hal/issues/1235 - https://github.com/esp-rs/esp-hal/issues/1245 - GPIO - https://github.com/esp-rs/esp-hal/issues/561 - https://github.com/esp-rs/esp-hal/issues/740 - https://github.com/esp-rs/esp-hal/issues/745 - Interrupts - https://github.com/esp-rs/esp-hal/issues/1063 - https://github.com/esp-rs/esp-hal/issues/1162 - Some others probably need less help, but should still be improved as much as possible: - UART - https://github.com/esp-rs/esp-hal/issues/944 - https://github.com/esp-rs/esp-hal/issues/989 - https://github.com/esp-rs/esp-hal/issues/1181 - https://github.com/esp-rs/esp-hal/issues/1216 - I2C - https://github.com/esp-rs/esp-hal/issues/910 - https://github.com/esp-rs/esp-hal/issues/1271 - https://github.com/esp-rs/esp-hal/issues/1306 - SPI - https://github.com/esp-rs/esp-hal/issues/469 - https://github.com/esp-rs/esp-hal/issues/489 - https://github.com/esp-rs/esp-hal/issues/954 - All of the above peripherals need to have their public APIs reviewed and improved: - APIs should NOT be reliant on third-party trait packages - APIs should be consistent (moslty with regards to conventions) - APIs should be simple, easy to use, hard to screw up, and well documented - We need to start addressing other technical debt as well (boo, no fun, I know) - https://github.com/esp-rs/esp-hal/issues/1082 - https://github.com/esp-rs/esp-hal/issues/1123 - https://github.com/esp-rs/esp-hal/issues/1166 - https://github.com/esp-rs/esp-hal/issues/1194 - https://github.com/esp-rs/esp-hal/issues/1203 (isn't this an ADC issue? ... ah yeah it is and it's listed there ... probably we can remove it from this section)