Would you need and probably buy an IC like this? (rotary input IC) - Page 1
Forum section: electronics / projects

author: Spatz
author_rank: Newbie
timestamp: February 13, 2022, 12:01:18 pm
content: Hello everyone,I am considering designing an IC that can be used to easily use rotary potentiometers or rotary encoders with fewer pins needed on a mcu.It would be based on a PADAUK PMS163 OTP in a MSOP-10 package and would need 4 additional passive components.It would offer a 12bit ADC, debouncing in software, support for one switch, touch detection and some kind of interrupt function.With this IC, you could add an arbitrary number of rotary potentiometers or rotary encoders to your project with only two pins of the MCU. This would be great for digital synths, MIDI controller and other stuff like that.PADAUK has not yet answered my email about MOQ and pricing for the PMS163 in a MSOP-10 package, but I assume it would not be too expensive if the quantities are right.That's why I am asking you if there's enough interest to make this an buyable product.Below you can see a datasheet-ish description of the functionality of the IC and a design for a 18x18mm breakout board.Please tell me what you think of this idea!

author: Ian.M
author_rank: Super Contributor
timestamp: February 13, 2022, 12:44:18 pm
content: Yuck!!! Another proprietary clocked interface using a serial protocol that must be bit-banged and can't share a bus with anything else. Why isn't it I2C, SPI or async addressable UART, with an open drain TX pin so they can be wire ORed, and a TX enable output so they can be used with RS485 transceivers for long cable runs between the front panel and the controlling MCU.Also you've pretty much missed the boat as far as the non-hobbyist market goes. Every standalone rotary encoder IC I am aware of is long discontinued, because its cheaper to bring the functionality into a MCU needed anyway for other front panel UI processing, and why would anyone buy a specialized IC to interface pots and resistor ladder button arrays when multi-channel external ADC chips are reasonably cheap and readily available?OTOH if you were offering complete assembled modules with the pot or encoder (and maybe even a joystick version with a panel mount bezel), and had a well written Arduino library for them, I suspect you'd find some interest from the maker community, even if you didn't switch to a more standard interface.

author: Spatz
author_rank: Newbie
timestamp: February 13, 2022, 04:15:03 pm
content: Quote from: Ian.M on February 13, 2022, 12:44:18 pmWow, what a way to start a conversation... I hope you are a bit friendlier to the people around you in real life. Or have you seen that I am new in this forum, and you are the gatekeeper here?The PADAUK MCU in question unfortunately does not offer open drain outputs, so I2C isn't an option. On the PADAUK side, each protocol has to be bit banged anyways, so I decided to got for a SPI like protocol. Guess what, if you throw a 74HC2G125 in there, you can use this device just like any other SPI device, minus the interrupt function.Of course, this would be something for the hobbyist market, but think of the possibilities: A few of these chips, some WS2812 LEDs (or similar), and you can do a whole MIDI controller with just three pins of a MCU.

author: magic
author_rank: Super Contributor
timestamp: February 13, 2022, 04:46:35 pm
content: Second post on the forum and you are already shouting at our gatekeeper, even I wasn't that fast to start flaming people(Sorry, nothing constructive to say, I don't care about such product either way).

author: Ian.M
author_rank: Super Contributor
timestamp: February 13, 2022, 04:58:07 pm
content: Clocking the data on "every rising and falling edge" is not in any way compatible with most MCU SPI modules. *That* is why I said "Yuck!"You can bit-bang I2C by faking 'open drain' pins in software on *any* MCU that you can dynamically switch individual I/O pins to and fro between input and outputting a low level, without glitching high as you do so. You leave a '0' in the bit in question of the port (output) register and toggle the corresponding bit in the port's direction register to switch between output low and floating high with an external pullup.Your chosen Padauk MCU has interrupts and a nom. 16MHz instruction clock so should be fast enough for a 100KHz standard mode I2C slave without much hassle. A *good* assembly programmer could probably do 400KHz, but might have to resort to clock stretching, which is undesirable as some common MCU I2C peripherals don't support it properly.I am *NOT* the gatekeeper - that's the mods job to keep out spammers. I'm also thick-skinned enough that I don't mind your response as it had valid technical content.

author: ataradov
author_rank: Super Contributor
timestamp: February 13, 2022, 05:22:59 pm
content: I second "Yuck". What is this even for? This bound to have higher overall price than just using the encoder directly. Many MCUs have quadrature decoder peripheral. And this will make it harder to integrate into the system.You mention audio applications, and that is a strange market. They may have a need for this, but you need to ask on audio forums.This might appeal to Arduino crowd, but I also doubt that.The product must address a real need to be popular. And since you are are asking us if there is a need, there probably is not.And if the data is not updated during the transfer, it defeats the whole purpose of such IC - you would use something like this if the main MCU is slow and can't reliably read the encoder on its own. And now you are making the reading impossible again if the main MCU is slow. This will be the issue even if you rework the protocol. It need to be the other way around - give priority to reading the data, even if at the cost of the interface speed.And the most important part - if I needed some thing like this, what stops me from getting Padauk (or any other) MCUs myself and programming them to do exactly what I want for my application? I need to program the main MCU anyway, so programming another device is not a big deal. And this would even let me offload some application logic to that MCU, so overall much better system design.

author: SiliconWizard
author_rank: Super Contributor
timestamp: February 13, 2022, 05:51:15 pm
content: I've seen a number of similar existing products, so unfortunately nothing new here. Just look on Sparkfun and Adafruit to begin with...Your difference may be the (I suppose?) very low cost due in part to using a PADAUK MCU, but OTOH, this kind of adapter is likely to appeal more to the hobbyist crowd, for which a difference of a few cents won't make a difference. Besides, this very low cost option (as others have said) hinders your design - the interfacing is just annoying due to this.As an alternative idea, I would suggest to design something that could handle a number of rotary encoders instead of just one. *That* *might* have a chance of being a bit more relevant. I'm thinking of something like 8 or 16 encoders, that you could implement using a small and low-cost FPGA such as in the iCE40 series (they start as low as $1 or $2), or just a MCU, but more capable than those PADAUK ones, and implement both I2C and SPI to make it flexible.Finally, as far as cost goes, I have no idea what your intent is here on a commercial level, but unless you manage to sell *a lot* of those products, you won't be able to sell them at a very low cost anyway (or else you'll just lose money in the end), so I don't see the point of using such a low cost and crippled MCU.So, here a few points to reflect on - just my 2 cents though.

author: tooki
author_rank: Super Contributor
timestamp: February 13, 2022, 06:49:14 pm
content: I also just don’t see this making much sense as a product.Hobbyists can already buy I2C rotary encoder modules, and it’s fairly trivial to use I2C or SPI port expanders to add a ton of GPIOs that can be used for multiple encoders.

author: Ian.M
author_rank: Super Contributor
timestamp: February 13, 2022, 06:59:19 pm
content: There *may* be a market for a versatile front panel controller board with support for displays, LEDs, all sorts of switches and touch sensors, pots, encoders etc. but it would need to be fully customizable under the Arduino IDE so it could even be programmed to run standalone for applications that don't need much additional I/O or processing power. Unless you want to do a vast amount of software development work that means choosing a MCU for which there is already a viable Arduino toolchain.

author: Alex Eisenhut
author_rank: Super Contributor
timestamp: February 13, 2022, 07:03:36 pm
content: For me the answers are "no" and "no".https://www.ebay.ca/itm/224472667273?hash=item34439d1489:g:gREAAOSwOrJgcVRfThere are already many ready-made solutions that include an enclosure and lighting, etc.I also don't see what pin savings can be made here. A rotary encoder with push function only needs three pins plus ground. We aren't in the world of 14 pin microcontrollers anymore. So I don't see the problem this is solving.Just connect directly to micro, write or copy some software and it will work.

author: Renate
author_rank: Super Contributor
timestamp: February 14, 2022, 07:03:45 pm
content: Hiya Spatz. Welcome to the forums here.A lot of us do weird and wacky things because 1) we want to 2) we know there are other ways to do it 3) we know there are cheaper ways to do it and 4) we don't care.But none of that makes a difference when we're trying to convince other people.So, if you're talking business, apparently many of us remain unconvinced.If you want to say, "I'm doing it this way because I like it", then rock on!.

author: Bassman59
author_rank: Super Contributor
timestamp: February 14, 2022, 11:34:49 pm
content: Quote from: Spatz on February 13, 2022, 04:15:03 pmI did a "whole MIDI controller" on an EFM8UB2 with two pins for the encoder, two pins for the UART, and the pins required to do the USB.If I wanted to read, say, eight rotary encoders, from that same micro, I'd use a couple of 74LV165 shift registers and an SPI port.I don't see how your idea is "better."

author: jonpaul
author_rank: Super Contributor
timestamp: February 15, 2022, 01:04:05 am
content: Hello all, as engineer 0. and inventor for decades, I learned thatProducts Ideas are plentiful, but for a money making project, many other skills needed besides the engineering design.The marketing needs much deeper research as mentioned by others.Alternatively if you want to fund this to learn new skills, but knowing it may not be salabale as a product, bravo!Kind RegardsJon

author: Berni
author_rank: Super Contributor
timestamp: February 15, 2022, 10:53:30 am
content: I agree with others on the interface.This chip just turns one type of annoying interface (Quadrature signal) into another annoying interface (Weird proprietary serial bus)If i was designing a product with lots of rotary encoders and wanted an external chip to handle it then it would have to be something like I2C or SPI compatible with a IRQ line. That way i can chain 10 of these chips on a single bus and read them out in the background using the MCUs peripherals while my CPU is free to do other tasks. When the user turns a knob i get a pull on the IRQ line so fire off my interrupt that fires off a SPI read that reads in the whole daisy chain of chips in one read command, later on i just look at the results to see how many clicks each encoder was moved.