4 ms·
I wrote some low level code to turn an Arduino into a USB audio device and bit banged audio from a couple pins. Basically no experience in hardware stuff. But t
by Topgamer7 5y ago
I wrote some low level code to turn an Arduino into a USB audio device and bit banged audio from a couple pins.
Basically no experience in hardware stuff. But to be clear, getting good at programming is definitely a year+ kinda thing, of full time focus.
- XzAeRosho 5y agoExpanding on this reply, you can think of Kernel Modules as Windows drivers. Most of the time they are meant to be used as an interface on which you can communicate from the OS with an underlying device more easily .
- SilverRed 5y agoAnd usually they are paired with a user space tool for even easier interaction. Ideally the driver should expose literally every function and possible action and then the userspace tool has the job of simplifying that down and not supporting very unusual or complicated setups. You could think of the userspace side as the gui you get with gpu drivers which interacts with a separate kernel space side
- Unklejoe 5y agoHow did you end up doing USB with the Arduino? Was it bit banged as well (VUSB)? Is this code available anywhere?
- the_only_law 5y agoInterfaced with an FTDI chip maybe?
- Topgamer7 5y agoThe newer arduino's come with a pretty powerful IC for the usb interface. So I reflashed that using LUFA. To be clear the audio quality was awful, but could certainly hear what was playing. Here is the repo for it. I did it as a self directed class in university. Treat it like I had no idea what I was doing trying to understand lower level programming! https://github.com/ElementalWarrior/ArduinoAudio https://github.com/ElementalWarrior/ArduinoAudio (This was in C, not part of the Arduino ecosystem with the IDE)