Disassembly
I was in two minds about doing this since I have never before disassembled anything similar. However, each module has four Phillips head screws on the bottom, so I decided to test it out with the core module and proceeded from there. The bottom piece is plastic with a rubber coating where you see it, and once removed, we also see the tiny magnets on each side that help hold the modules together. These are aligned such that the north and south poles of each module for each magnet on each side match up, so I had a hard time figuring out every magnetic pole and putting them back together. This and all the electronics crammed into that tiny form factor make me appreciate the engineering here even more.
The core module has a color screen, so there are two sets of electronics here - one for the screen and another for the control itself. Hence, the two PCBs with their own set of microcontrollers and multiple ribbon cables connecting the two. Powering the core is an
Atmel AT90USB1286 8-bit low-power USB MCU based off the RISC (reduced instruction set computing) architecture. It has 128 KB of on-board programmable flash memory and 4 KB of EEPROM and 8 KB of SRAM. For the screen, Palette has gone with a
Microchip ATmega328P MCU, which is a similar low-power 8-bit RISC MCU, though it is obviously not a USB device controller. This one has 32 KB of flash memory on board, along with 1 KB of EEPROM and 2 KB of SRAM, and there is a dedicated
Adesto AT45DB041E 500 KB flash module as well.
At this point, I figured I might as well go the whole way and opened up one of each of the function modules. First up was the button module. The PCB design here is identical to that of the dial module, and is printed as such. The button modules have to cater to a simple ON/OFF style function, and powering this is an
Atmel ATmega168PA low-power RISC architecture MCU. Looks like Atmel is the flavor of the day here. The ATmega168PA has 16 KB of programmable flash memory, 512 KB of EEPROM, and 1 KB of SRAM. The PCB is connected to the button mechanism, which has a simple plastic construction, but does not feel fragile or loose in any way.
The dial module has two PCBs as well, with the second simply there to host the dial's mechanism itself, while the controller is on the primary PCB above it. The same Atmel MCU as with the button module powers this one, hence the same PCB design.
Finally, there is the slider module, which is twice as long as the others as a result of the physical slider mechanism. Surprisingly, the slider is not motorized, and this can have some limitations in terms of functionality, which we will test in due time. Another Atmel ATmega168PA MCU here rounds it off, and using the same MCU in all the function modules must have helped with cost and probably reduced software development and debugging as well.
Before we take a look at the driver, be advised that disassembly will void the warranty and that TechPowerUp is not liable for any damages incurred if you decide to go ahead and do so anyway.