Blueprint

Frost

A computer that fits into an Altoids tin!

Created by NotARoomba NotARoomba 🚀

Tier 1

23 views

1 follower

Timeline

NotARoomba NotARoomba 🚀 added to the journal ago

Ethernet, Bluetooth, and Why PHY (I'm sorry)

Alright so I'm gonna start with Wifi / Bluetooth as Ethernet scares me (why is PHY???). I had already started with this chip: AP6256, so I'm going to continue following the reccommended implementation and add in all of the passives around it.

BUT LOOKING THROUGH THE DATASHEET FURTHER I CAN USE AP6275PR3 AND IT HAS 3 ANTENNA SLOTS AND TRIPLE THE SPEED:

image

After finnicking a bit and importing stuff from the datasheets I finally got the Wifi + Bluetooth done!

image

Now it's time for me to learn all about ethernet and why phy (haha wifi (im sorry)).

Looking through the example it has C187932 so ima use that chip and wire it up like this:

image

I'll have to edit it a bit as I will be using different GPIOs so yea...

Apparently PHY means Physical (layer) so something that connects directly to a cable or port or smth so yea and I'm implementing Giga PHY so its gonna be FAST.

I started adding in the components:

image

and when I imported this from LCSC I went to sleep so I'll continue in the morning.

image

Looking through the ethernet connectors and watching a video from Phil's Lab, I learned about magnetics and how the schematic shows an image of an ethernet port without magnetics but I want to save money and space so I'm looking for an ethernet port that comes with magenetcis.

There are very few on LCSC but after searching for a bit I found one that is a Cat 5e (supports gigabit ethernet)

I was using another generic connector before but I liked how this one showed the polarity of the LEDs:

image

after wiring it up I added ESD Prot and finished the ethernet section!

image

NotARoomba NotARoomba 🚀 added to the journal ago

I HATE MIPI BECAUSE IT DOESNT EXIST (Camera and Display)

So after finding out the scam that is MIPI, I am going to try my hand at implementing the camera with the voltages found in the board. I could take the easy way out and use pre made camera modules from Arducam or I can just make my own and then if needed, make my own breakout board later for the different camera modules. I plan on using https://es.aliexpress.com/item/1005008622498846.html as it is cheap and extends all of the pins that I would need:

image

AFTER A DAY OF RESEARCHING I'm JUST GOING TO STICK TO THIS CAMERA. I am fully aware that this pinout is JUST FOR THIS CAMERA, so in the future I might make a breakout board with the pins of this to be able to connect different cameras.

Now that I have the camera done, it's time for the display:

image

I was looking through aliexpress for some nice displays and found this that would work perfectly:

https://es.aliexpress.com/item/1005007669151240.html

BUT THE PINOUT ISNT STANDARIZED SO I DECIDED TO WORK ON HDMI MEANWHILE:

image

AND WAIT I FOUDN THIS COOL DISPLAY:

https://es.aliexpress.com/item/1005006185077108.html

AND IT HAS A 4 LANE MIPI INTERFACE

image

even though the display says typical 3.8V, I'm gonna go with 3.3V as it's withing the max range and yea:

image

The IO voltage I did make sure to use 1.8V and also I added in some decoupling caps:

image

Now since I'm too scared to find standarization for a touch panel, I will just leave it at that.

image

NotARoomba NotARoomba 🚀 added to the journal ago

Revised eMMC + SD Card

So I revised the eMMC and it had one error that I was connecting the reset pin to the wrong referenace voltage (3.3v isntead of 1.8) so yea glad I caught that error. From there I went and started work on the microSD card:

image

(I love segregated voltages)

After that I started working on the camera module and found some cool MIPI cameras on aliexpress:

image

Wiring up the power section for the camera I had my reservations about the input voltage:

image

but apparently the default is 2.8v when it says 0.9???
image

that meant that I wouldn't need to use an external LDO:

image

Thinking about it a bit more, I'd prefer to have a FPC camera connector as I have traumas with using B2B connectors so I'm gonna look for a camera (that works with MIPI) and has a FPC.

Looking through some more MIPI cameras the datasheets look funny:

image

this doesn't make any sense with this either:

image

and definetely doesn't line up with the original datasheet:
image

image

apparently there isn't a standardization of the B2B interface as I wanted to check it out more but lemme see if I can find one for the FPC one

EVEN THE FPC ONE DOESN"T HAVE STANDARIZAION AAAAAAA:

image

image

Ill finish my search later tho

chakrish.ish chakrish.ish gave kudos to Frost ago

wow :0

NotARoomba NotARoomba 🚀 added to the journal ago

Revised power + final power stuff + eMMC

I went back and revised the power and found out that I had missed 1 decoupling capacitor (sleep deprivation) and aside from that the PMIC was perfect.

Moving on there was another page to the schematics that added on to other peripherals:

image

I planned on adding in an LCD (MIPI) so that it could be glued to the top of the altoids case somehow lol

Switching things up, I plan on adding in my own NVME drive so I'll be sticking with a cheap flash for some base files and then use my own NVME. The docs in the other guide specify a PCIE lane (dunno what that means but I'll research it) but looking at the other docs it has support for a PCIE x2 port thing:

image

So apparently PCIE is an interface standard for high speed data transfer and it can have multiple lanes/channels. NVME drives usually use 4 PCIE lanes but the rockchip only is capable of having a PCIE 3.1 (revision) with x2 mode (dual channel). Thankfully PCIE is backwards compatible and newer standards will work with older ones and it'll just be a bit slower (still fast enough for a mini SBC/PC).

Also looking at the other datasheet, I also found out that I can use VCCIO6 for the ethernet (maybe) as the only other thing is an I2C lane on the board:

image
(ethernet one)

image

(non ethernet one)

I also don't really need 2 cameras so I'll jsut use the one thats on the other side if I ever need one.

Looking further I found out that one camara uses CIF while the other uses MIPI:

image

Thankfully the MIPI one is the one that I'll be using so I don't have to change much:

image

I'll be using the 1x4 version as I only really would need one camera that would be powerful.

Theres also MIPI DSI that I'll be using for the display:

image

image

I'll also be taking a mic from the mic array as the other board doesn't have them:

image

I went back for the DDR4 and it was at an insane markup so I also looked at emmc chips as that chip that I had originally selected was not supported apparently but the chart was an old revision so I went down a rabbit hole on the internet looking for the updated version (RKeMMCSupportList pdf Ver1.87) until I stumbled upon a cool design on OSHWLab that was similarish to what I wanted to make:

image

Now you can either download the document from the official rockchip docs but my account is pending admin approval and I have tried doenloading it from here: https://download.csdn.net/download/qq_36160497/92122168

but to no avail, I'll just work on the rest of it while that gets fixed lol.

Back to the schematic, I added in these sections:

image

and continuing to add in the flash power section, ill be using emmc so that will be 1.8 v and I'll have to configure the schematic for that as stated here:

image

After that I started up on USB 3.0:
image
and then dared to touch the RAM:

image

until I decided not to and moved onto EMMC and finished wiring it up:

image

NotARoomba NotARoomba 🚀 added to the journal ago

ESD Protection + Power and PMIC

Starting ESD protection, I had to research what this funny little symbol meant:

image

Apparently, t's a common-mode choke that helps with EMI in differential pairs:

image

I also added in the USB3.2 Mux to switch between either side of the USB-C cable depending on it's orientation:

image

After that I wired up the USB-C PD (didn't know that PD chips could be that small):

image

Researching a bit more, I was looking into the battery (needs a high capacity) and I found this:

https://es.aliexpress.com/item/1005004816868993.html

Before I was using battery connectors with a 2.5mm pitch but now I'll be using one that's Jst PH 2.0mm to support that battery

Then I imported a battery connector from LCSC and then finished up the battery charging IC:

image

After a while I added in the buck converters at the bottom for 3.3v and 5v:

image

image

I learned how to select inductors and I'm finally learning how the sizes and tolerances and classes for resistors and capacitors and inductors are selected (pattern recognition).

I added in some more power stuff and filters:

image

And then I started on the actual power monster thing (RK809-5):

image

power managerment lol

image

and then started work on the other stuff.

After a while and pulling an all nighter, I finally finished the power management and I'm going to go to sleep:

image

Tomorrow I'll double check it before moving on

Keyaan Keyaan 🚀 gave kudos to Frost ago

Awesome!

NotARoomba NotARoomba 🚀 added to the journal ago

Start of Basic Implementation + More Features

So after melting my brain for the past 2 days, in that repo there are a few example schematics depending on the implementation that you want, in total there were 3, one for an AIoT implementation, another for a tablet, and finally another one for NVR (?) anyways, looking through the schematics the one that closely matched my implementation would be the tablet one as it features USB-C PD and also includes support for a 1 or 2 cell battery (woo).

image

image

Although there are some features that aren't present on the tablet design, I'll be mixing and matching to add in ethernet and other cool peripherals (like an actual computer lol)

image

Looking through the datasheet, I want to add in my own WiFi module isntead of relying on an external one (to use some antennas I pulled off of a router) so I'll be picking one from this table in that datasheet:

image

Since I'm extra I'll be choosing the chip that has the most stuff, eg:
image

image

On LCSC the 255 one is discontinued si Ill be using the 256 one,

I'll also be adding an SD card (bc why not):
image

I might connect a display so I was researching the different types of connections and interfaces that exist and yea MIPI is awesome I love stantarization.

I then started on the USB-C stuff and working my way through the power section

image

image

I'm learning how to actually specify the values and classes and tolerances of components as it's good practice for the future.

NotARoomba NotARoomba 🚀 added to the journal ago

Start Implementing + Power

I started off by creating hierarchical sheets and then semi-organizing it:

image

Defining some more stuff, I plan on using USB-C as much as possible but I might also add in some USB 3.0 ports maybe for peripherals. Originally this was going to be to host a Minecraft server in an Altoids tin because I thought it would be funny but now I'm going to add in as much as I can to make it a literal portable computer in an Altoids tin so that it can RUN Minecraft (lmao). I also might include some buttons on the side or a screen inside the case for maximum portability but that's stretching it a bit.

Then looking through a datasheet I found that there's an example implementation so I will go through this one by one and see the minimum that I need to add.

image

I finished the clock:

image

and forgot about storage so I'm going to add in this 32GB of eMMC

C5821038

image

It was actually "relatively" cheap compared to other ones and it's also supported by rockchip

image

Looking through the datasheet/hardware requirements it has some pretty strict power up requirements so I found this cool reddit post of someone using the same processor as my and they had a RK809-5 which basically is a chip that does all of that startup/power management for you.

I added it into my KiCad project and then I'ma look into the datasheet for more info:

image

I am debating on whether this board should be battery powered or have the option to. I'm holding off on it for now as I'll first add in all of the power components and then gauge how much I'll need. Another cool idea I had would be to have this touchpad on top that runs a simple NN so that you can type without a keyboard by literally drawing the characters. Also would be nice to have a switch to toggle between keyboard and mouse mode or triple tap to do that, but that's for later.

Looking through the schematic again, it says I need 2 battery cells and that's a bit much so I'm just going to stick with regular USB-C PD.

I'll be continuing to look at the schematics and implement the power stuff next before I do anything else.

NotARoomba NotARoomba 🚀 added to the journal ago

Planning

I like making silly things, I also like Altoids, and what would be sillier than having a RK3588S in your pocket in an Altoids tin (with the Altoids removed and consumed beforehand)! I was looking for some other Rockchip boards and found this (https://github.com/StonedEdge/Retro-Lite-CM5) that looked pretty cool

Heres a list of features that I want that may or may not be viable:

  • Ethernet
  • HDMI
  • WIFI/Bluetooth
  • 8 GB of RAM :p
  • USB-C charging / peripherals
  • Possible definite need for some kind of thermal management / cooling (mini fan perhaps?)

LCSC Parts:

C7422743
C29073172 XD
Intex AX210 OR custom WIFI/BT setup with the NRF (might do that if there is space)

In researching the m2 connectors I found out that they were called edgeboard connectors:

image
C590866 (wireless use a and e)

After looking a bit more and due to the cost, I will be using the RK3568 because yea its half the price and around the same clock speed

C3345225

I'll be sticking with the 8G of ram although if the board gets too expensive then I'll swap it out

I also found this github repo that might help out (https://github.com/hqnicolas/RK3568-hardware-design)

image

This is going to drive me insane and will be the first time I've ever had to create multiple KiCad sheets :D

NotARoomba NotARoomba 🚀 started Frost ago