Infinus

STM32 MIDI Controller Part 5: Multiplexed Rotary Encoders

I really like rotary encoders as user input devices, they’re free of analog noise shenanigans, have no fixed positions, can be augmented with velocity control… Just a really nice way for the user to navigate around in menus or adjust parameters. That said, they do take up at least one extra pin per encoder compared …

STM32 MIDI Controller Part 5: Multiplexed Rotary Encoders Read More »

STM32 MIDI Controller Part 4: Bit Angle Modulation LED Dimming

While PWM certainly is a mighty fine option to add dimming control to LEDs in your projects, there may be certain cases where it simply isn’t the best option. Maybe you don’t have enough PWM capable IO pins on your microcontroller? Or maybe manually bit-banging PWM control takes up too much CPU time? And you …

STM32 MIDI Controller Part 4: Bit Angle Modulation LED Dimming Read More »

STM32 MIDI Controller Part 2: FIFO Buffered I2C EEPROM

Early on in the conceptualization phase of this project, I wanted something that had good customisability on board. That meant that I would need some sort of non-volatile memory to store all user changeable parameters, so I wouldn’t have to set everything up all over again every time I unplugged the thing. Out of all …

STM32 MIDI Controller Part 2: FIFO Buffered I2C EEPROM Read More »

STM32 MIDI Controller Part 1A: Wrestling with I2C, MCP23017, and a 16×2 LCD

This was one hands down the most challenging and frustrating part of the entire project, involving hours of staring at the reference manual for the STM32F103 microcontroller series trying to figure out why the I2C peripheral kept locking up. Maybe its just me, but the diagrams and explanations in the reference manual for the I2C …

STM32 MIDI Controller Part 1A: Wrestling with I2C, MCP23017, and a 16×2 LCD Read More »