As stated in the Week 48, 2024 blog post, I have started to do a major refactoring of MediaCow Touch 2.
I have been writing this post since late-November 2024, often forgetting I have not posted it yet.
Development has been stagnant since I have started the refactoring of the project though I have picked the project back up in late January 2025.
Refactoring
On November 27, 2024, I started the refactoring of the project. On both the GitHub repository and on the website, I moved everything into a directory named "old" and started fresh.
Development suffered from not having a clearly defined process; order in which parts are to be done first. Scope creep also came into play, especially with SMEC and the side-mounted display.
Overcomplication and SMEC
MediaCow Touch 2 started with two compute elements: The LattePanda Mu and a low-power STMicroelectronics STM32 microcontroller. Over the several months of what could be considered development, it turned into the LattePanda Mu and the Sunplus/Tibbo SP7021.
At some point in development, I had the idea to add a small display mounted to the side of the case. While at first, the idea was to use a small, low-resolution OLED display, I knew at the time that this would complicate the project. Later on, I wanted to use a higher-resolution display. I found the 240x960 display offered by Adafruit and noticed it required an RGB interface. At this point, the idea of using the SP7021 appeared.
I want to have MediaCow Touch 2 be unique instead of having it yet another DIY tablet that consists of a touchscreen on a 3D printed box. Though, I do agree that using a quad-core, Linux-capable SoC as an embedded controller is excessive, it would set MediaCow Touch 2 apart from any other tablet computer. SMEC, the embedded controller, is practically a project on its own with its customized Linux kernel, assets and software.
To make this possible, I must come up with a solid project and task management system, preferably one where I do not have to write any code.
Side-Mounted Display
The side-mounted display is still planned to be present in the design. I keep thinking it is a waste of time though it would set the project apart from any other tablet.
I still have not been able to choose the display. The Adafruit 240x960 display remains an option though it lacks a touchscreen. There are similar options from Tailorpixels, though displays narrow enough to fit in MediaCow Touch 2 seem to be available in only MIPI DSI which the SP7021 lacks. Such displays include TTH318BVE-01C and TOH323XVT-01C. The latter uses an AMOLED panel.
On January 27, I have found the Rockchip RK628F that is able to convert parallel RGB to MIPI DSI. Sourcing is limited and I may have to order these quickly. The alternative is using an FPGA and developing my own IP core to convert RGB to MIPI DSI, FPGAs cost more and developing the IP core would be time consuming.
After Tailorpixels's website became unavailable on January 28, 2025 but was later restored the next day, I found a possible alternative from Winstar being the WF0299ATYAC2MNR0 that is available from Digi-Key.
Current Status
I have came up with new deadlines for the project: the first deadline is March 27, 2025; GalaxyCon Richmond. The second deadline is June 20, 2025; the summer solstice.
With college starting on January 13, 2025 and other projects, I may not have as much time to work on MediaCow Touch 2.
Process
I have been coming up with some sort of plan to complete this project successfully.
An idea I had was to design and 3D print the case before I start circuit design. I would need to determine things that define the design of the case such as connectors, side-mounted display and cooling vents before I can design and print the case.
System
Recently, in January 2025, a variant of the LattePanda Mu using the Intel i3-N305 SoC has been released. I plan to use this over the N100-based LattePanda Mu though acquiring one would dip far into my limited funds.
Software Usage
I recently have started to use QCAD for detailed drawings, starting with the case design. It did not take long to figure out how to use it.
Display
I still am on the fence about using the DFRobot 11.6" touchscreen as I have recently found out about the availability of laptop LCD panels with integrated touchscreens after replacing an N140HCR-GL2 in a ThinkPad that my father sold. Options for these panels are still limited. There is the Innolux N133HCQ-G71 though my main concern about using this display is that it would result in the device being even larger. I was already reaching the limit on 3D printers available with the 11.6" display size. I want to avoid having the display size any larger than 13.3" not just because of the increased manufacturing complexity, the device would be less usable as a tablet. As of writing, I have the N140HCR-GL2 next to me, used as a reference for what a 14" display would look like and how useful it would be as a tablet display. I quickly came to the conclusion that 14" is too large.
Another major concern is that the display has the Privacy Screen feature that acts as those filter overlays seen on monitors that has it so the screen is only visible when viewed directly. From my experience with the N140HCR-GL2 that also has this feature, it is hard to look at with or without the Privacy Screen enabled. This may be useful for some, especially as MediaCow Touch 2's design is more security-oriented, though this feature may have the device difficult to use for extended periods of time. Though it may or may not be different from the N140HCR-GL2, I guess I'll have to try it and see.
The N116BCN-EB1/-EA1 also came up as options for the display though they have a resolution of 1366x768 with 18-bit color (262K), a downgrade from the 1920x1080 24-bit color (16.7M) of the other panels. There is also the N133HCN-E51/-GT1 that has a resoluton of 1920x1080 though it is 18-bit color.
BIOS and firmware
The option to have BIOS and embedded controller firmware loaded from an external device would remain. This would have MediaCow Touch 2 the only device capable of doing this, as far as I know.
Type-C Controller
The TPS65988 continues to leave me hopelessly confused every time I read its datasheet. Though I was given some help with understanding it.
When looking through the old version of the schematic, I have noticed that I had the TPS65988DK part, not the TPS65988(DH). I may reference what I had in the schematic and the TI evaluation module schematic for figuring out how to use the IC.
Configuration
The TPS65988 has the option for an external SPI flash memory. I would likely have to at least leave the option of adding an SPI flash IC.
In "Dead Battery" mode, the TPS65988 can power an external microcontroller using integrated LDO regulators, however these regulators can only supply up to 25mA at 3.3v continously. This is fine for a regular microcontroller such as one part of the STM32L series but an SP7021 is used as the embedded controller here that can use over a hundred times that much power.
An idea is to use the 5v provided by the external power to boot at least the ARM926 cores in SMEC and load the configuration that way. Pads or a socket for an SPI flash memory would still be present in case all else fails.
Resale
I originally did not plan on building MediaCow Touch 2 units for resale. This is because that I believed that the design was not unique to existing devices. This was prior to the addition of SMEC, wireless and storage devices being on M.2 modules and the loading of device firmware and BIOS from an external flash. I figured that MediaCow Touch 2 could be considered a security-oriented device with features that have not been seen before in tablets and even laptops. Due to the now uniqueness of the device, I have been considering building them for resale when the time comes.
During development in the June-August 2024 period, I have been asked if I would sell MediaCow Touch 2 devices.
If I were to build MediaCow Touch 2 units for resale, I do not expect it to be inexpensive. MediaCow Touch 2 would be relatively difficult to manufacture with its high component count and complex design that uses multiple PCBs.
Inspirations
Steam Deck
The Steam Deck OLED that I have received on January 3, 2025 already has made an impact over the design of MediaCow Touch 2.
I have decided to have all of the connectors and the side-mounted display on the top side (screen facing POV) as I have realised that the connectors would be in the way if the device was held on the left and right sides. Having the connectors on the bottom would not work as the device would not be able to be stood up if anything is connected. Also, the top side is one of the long sides of the device which give more space for the connectors and display. This, however, would bring fundamental changes to the design of the case and carrier board that would have been needed to be done anyway.
I have noticed that the Steam Deck can charge off from USB PD voltages lower than the rated 15 volts though at a slower rate, indicated by the LED next to the USB port showing yellow. This is a feature I almost left out of MediaCow Touch 2 as it would have required a couple extra buck-boost power regulators, adding up to US$10 to the BOM. I now plan on having this feature available.
anyon_e
The anyon_e laptop is a very similar hardware project to MediaCow Touch 2 that seems to have ran into many of the same problems during development, namely CPU choice being limited where it ended up using a System on Module with the Rockchip RK3588.