Drag to reposition cover

Lenovo Thinkcentre/ThinkStation Tiny (Project TinyMiniMicro) Reference Thread

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

TheGman83

New Member
Nov 3, 2025
3
0
1
If someone's willing to poke their 5C50W00933 riser with a multimeter, could you check if there's continuity between pin B31 and B81 on the PCIe slot? If they're connected (which they should be) then x4 cards should work fine in theory.
Can confirm there is continuity between B31 and B81.
 

senso

Member
Jul 17, 2022
38
20
8
Ohh nice going, what you've got on the schematic so far looks good! I would advise using an appropriate symbol for the actual physical slot length you're using, and in any case if you're doing a slot shorter than x16, add a way to easily pull the CLKREQ# signal to ground, that's the critical part for card presence detection. A x16 card in a shorter slot wouldn't trigger that properly.
Also the 0R resistors on the PRSNT pins are kinda redundant at this point, you can skip them if you want. I added those back when I wasn't sure how those signals would behave but have since found it's fine to just run them directly.

KiCad's pretty friendly to use these days yeah. I'm not sure what it was like 10 years ago, version 6 is where I started, but I really quite like it too. And no I don't mind at all, this is exactly why I published the files, so other people can make variations based on it. I'm all for getting people into designing the PCBs they need, and I love showing people that PCIe isn't some unapproachable black box of signal integrity nightmares, unlike I've heard some other people say. There's just some fairly simple rules to follow and you'll be good most of the time. Please go for it! And don't hesitate to reach out if you have any questions about it.

20.32mm is the spacing spec I found as well when I was doing a draft for a riser like this, though yeah some more space can't hurt. Some extra capacitors can't hurt either, and as a good friend of mine says, footprints are free, so might as well add them!

I have a work in progress project for a riser like this as well that has kinda stalled at the moment, the idea was to add a 12V to 5V buck converter too to provide an easy hookup for hard drives, for NAS use, though there are some concerns about going over the 12V rail's limit with 2 PCIe cards and a few hard drives. Do you think it would be helpful if I published the files I have for this one?
View attachment 46229
It also has jumpers to make the SMBUS connection to the PCIe slot optional since there are some raid cards that cause issues if those pins are connected.

I'm not sure what you mean the problem is with the bottom PCIe slot. Sure it is kinda close to the edge connector but still perfectly workable, I've never observed any issues with it (except that during soldering you have to be careful not to get any solder on the gold fingers, but that's easily avoided with some kapton tape). An SMD slot would be far more challenging to solder and less durable.

Close up pictures of the Tiny8 x8 riser would be very welcome too if you could take some.
Thanks for the tips, I re-used your footprint just as a quick and dirty way to see how it would look like/was curious to test it out, since I had a bit of free time.

What I was trying to say is that I tried to swap the through hole PCIe slot with an SMD one, but the bottom slot need to be so close to the fingers that connect to the Tiny that there is no space to route all the nets, and the SMD slot being less robust makes total sense, so I will try to route it out using two through hole slots.

The top slot I was going to use a PCIe x8 open ended, and add a jumper for the CLKREQ# signal so its possible to force it, thanks for that insight

I tried to use Kicad in its version 4.something, at the time I only used Altium, but kicad for hobby usage is more than enough currently.

If you dont mind sharing that project I would be glad, I dont have much time, only 1-2hr every 2-3 days per week at most..

And now, more photos:

Best regards!
 

TheGman83

New Member
Nov 3, 2025
3
0
1
Hmm interesting, thanks for checking! I don't see any reason why x4 cards wouldn't work on the x8/x16 riser then. Is it consistent across all x4 cards? Or more related to the type of card? How about x1 cards?
I've got a I225-V x4 card that is not detected (works in another system) so I'm going to try the workaround in this post when I get chance.
 

TheGman83

New Member
Nov 3, 2025
3
0
1
Unfortunately the workaround did not work. I did have success with an x8 card but for my x4 card I think I'll have to get the 5C50W00909 riser.

Working:
Intel X520-DA2 PCIe x8 (E10G42BTDA)

Not Working:
StarTech I225-V PCIe x4 (PR42GI-NETWORK-CARD)
Dynamode USB 3.0 PCIe x1
 

WifiCable

Member
Dec 18, 2023
54
75
18
Netherlands
Thanks for the tips, I re-used your footprint just as a quick and dirty way to see how it would look like/was curious to test it out, since I had a bit of free time.

What I was trying to say is that I tried to swap the through hole PCIe slot with an SMD one, but the bottom slot need to be so close to the fingers that connect to the Tiny that there is no space to route all the nets, and the SMD slot being less robust makes total sense, so I will try to route it out using two through hole slots.

The top slot I was going to use a PCIe x8 open ended, and add a jumper for the CLKREQ# signal so its possible to force it, thanks for that insight

I tried to use Kicad in its version 4.something, at the time I only used Altium, but kicad for hobby usage is more than enough currently.

If you dont mind sharing that project I would be glad, I dont have much time, only 1-2hr every 2-3 days per week at most..

And now, more photos:

Best regards!
Alright, here's what I had so far: GitHub - a-little-wifi/Tinyriser-nas

And thanks for the riser pics again, I'll add those to the repo too. They'll likely be quite helpful for Tiny8 riser development.
 
  • Love
Reactions: sw1

WifiCable

Member
Dec 18, 2023
54
75
18
Netherlands
Unfortunately the workaround did not work. I did have success with an x8 card but for my x4 card I think I'll have to get the 5C50W00909 riser.

Working:
Intel X520-DA2 PCIe x8 (E10G42BTDA)

Not Working:
StarTech I225-V PCIe x4 (PR42GI-NETWORK-CARD)
Dynamode USB 3.0 PCIe x1
It makes sense that that particular workaround wouldn't do anything if B31 and B81 have continuity anyway, the presence detection is what that workaround addresses and that doesn't seem to be the cause of the problem in this case.
The list of tested cards is pretty useful, I've added a section about this to the tinysecrets repo. Any additional info about cards tested on this particular riser would be helpful for figuring out what the issue is.

If you want to measure anything I have the PCIe X8 riser as a spare part, just ask!
Would you be able to check if the pin marked in the image below is connected to pin B81 on the PCIe slot? And if it's not, which pin it *is* connected to.

1762375521476.png
 

senso

Member
Jul 17, 2022
38
20
8
Took me a bit but I found it!
IMG-20251103-222224.jpg

Looks like there is some funny business going on, that pin signal comes from the Q3 MOSFET.
Next quest? :D

Thanks for sharing your files!
 
Last edited:

WifiCable

Member
Dec 18, 2023
54
75
18
Netherlands
Oh what the heck, that is weird. Now I wish I had one of those risers here to probe at lol. Can you check if R9 or R1C connect to pin B81 on the PCIe slot?
A different custom made (not by me) Tiny8 riser I have here has the pin I marked earlier connected directly through to the PRSNT2 pins on the PCIe slot so that should be a perfectly valid way to do it, wonder why they made it more complicated on the official riser lol.
Maybe it can be bypassed by just soldering a wire between pin B81 and the pin you marked red on the mosfet?
 

Cheburashka

New Member
Aug 10, 2020
21
0
1
I've scanned the thread and haven't been able to find an answer to this but is there a way to use the M.2 wifi slot in the P330 as OS boot disk?

I picked up three P330 with i7 and 64GB of memory in each but the two M.2 NVME slots, I'd love to use for CEPH.
 

taikhoanso135

New Member
May 8, 2025
1
0
1
The p330 tiny original fan is 0.8A,
Can the cpu fan header deliveries about 1.2A for two 0.6A RTX A2000 fan in series? And where i can extract 5 or 12v extra for another fan for ssd cooler. I'm modding p330 to fit the m600 com port external 8cm thick
 

AlexGee

Member
Aug 3, 2022
84
49
18
I've scanned the thread and haven't been able to find an answer to this but is there a way to use the M.2 wifi slot in the P330 as OS boot disk?

I picked up three P330 with i7 and 64GB of memory in each but the two M.2 NVME slots, I'd love to use for CEPH.
i do exactly that with an M720q and also M920x 20th 3$ Adapters from AliExpress
 
  • Like
Reactions: WarlockSyno

flusterbuster

New Member
Oct 28, 2025
1
0
1
Hey all, first, I bought a used tiny machine listed as a p340, even the outside front plate shell says p340, but everything in the bios and service tag says it is P350, what heck?

Anyways, the real reason I am posting is that I installed two different 10g cards, one is an intel x520-DA1 (EEPROM patched) and a SuperMicro AOC-STG-i2T.

Both have the same issue where If they plugged in (sfp or ethernet cable) proxmox refuses to boot and hangs on `loading initial ramdisk`. Removing the `quiet` option on grub reveals it is also just stuck on `EFI stub: Loaded initrd from LLINUX_EFI_INITRD_MEDIA_GUID device path`.

If I turn the system off then remove the cable, it boots successfully into proxmox. Furthermore, I can just replug the cable back to both NICs and works perfectly fine. VMs can use the bridge network I made.

Is there some sort of trick? I have used this same card (x520) on a different proxmox build on my Dell PE T420 just fine. Any ideas? The thought of having to unplug the cable to boot seems asinine.

on the x520 I am using a 10Gtek 10G SFP+ DAC Twinax Cable
on the AOC-STG-2T, 6COM 10baset Transceiver on the switch and a regular cat6

The system for anyone curious
```
CPU: 11700t
RAM: 64gb
Storage: 2x 2TB Crucial P310 NVMEs
Boot Drive: Kingston NV3 500GB 2230 w/ M.2 A/E adapter (removed wifi card)
```
 
Last edited:

AlexandreFNR

New Member
Mar 25, 2025
3
2
3
Lyon
Mini tutorial for Lenovo M720q BIOS modding : Above 4G decoding, Resizable-Bar, etc.

For those interested in modding their M720q/M920q/M920x/P330 Tiny, I managed to BIOS mod mine thanks to this guide. However, I did it a little bit differently. It will also work for the M920q/M920x/P330 Tiny : stick to the link guide (for dual chips reasons). I beg your pardon for my bad english. I will not take any responsability if you brick your computer !

I added pictures too.


My Lenovo M720q :

- CPU : Intel Core i5-9500TE.
- GPU : AMD Radeon Pro WX 4100 4GB.
- RAM : 2x8GB 3200MHz (running at 2666MHz) DDR4. Don't remember the brand...
- M.2 NVMe SSD : SANDISK WD_BLACK SN7100 500GB.
- WiFi/Bluetooth module : Intel AX210 with FRU part number.
- Power brick : a genuine Lenovo 135W brick. Other bricks (170W, 230W, 300W...) are useless.
- Genuine top cover from a Lenovo P330 Tiny bought on AliExpress for GPU breathing lmao : I don't have receivte it yet at the time of writing the guide.
- Genuine bracket bezel for Quadro GPUs bought on AliExpress : I don't have receive it yet at the time of writing the guide. Should be compatible with my Radeon Pro WX 4100. Make sure to buy the bracket for Tiny5.


1. Backup your BIOS using a CH341A programmer

First, remove the CMOS battery and unplug the power brick. Install Flashrom (I used Arch Linux) and prepare a CH341A. No need to do a 3.3v mod, the programmer already uses 3.3v. Locate your BIOS chip and make sure pin 1 of the CH341A (the red wire) is on pin 1 of the BIOS chip. In my case, the BIOS chip is a GD25B127DSIG and Flashrom on Arch Linux didn't find it ! I needed to specify other chips names from the same brand (GD25Q128E/GD25B128E/GD25R128E/GD25Q127C). If you have a Winbond chip, you can stick to the guide I linked above. The CH341A was recognized natively without the need of installing drivers. The experience was way better than the Windows one lmao. The programmer was plugged on a USB 2 cable plugged into a USB 2 port of my ASRock B650I Lightning WiFi.

The commands I used :

a. First command to create one backup : sudo flashrom -p ch341a_spi -c "GD25Q128E/GD25B128E/GD25R128E/GD25Q127C" -v -r backup1.bin .
b. Second command to create the second backup : sudo flashrom -p ch341a_spi -c "GD25Q128E/GD25B128E/GD25R128E/GD25Q127C" -r backup2.bin .
c. Third and last command to compare the two backups : diff backup1.bin backup2.bin . If nothing returns, you're good.

It can take quite some time (be patient), if Flashrom doesn't work, you need to replace the CH341A pliers correctly, etc. If everything worked fine, you will have your backups in your personal folder. I know the pliers are awful... Hopefully, I did it in a first shot ! Please keep the backups...


2. Edit the BIOS file

You need : UEFITool NE Alpha 68, UEFITool 0.28.0 (not NE !!!), ifrextractor v1.5.1 (the latest version doesn't work with UEFI web editor) and UEFI editor... and patience.

I edited backup1.bin. I just followed the guide I linked above. Personally, I wanted to have Above 4G decoding visible in the BIOS, PL1/PL2 controls, etc. I also disabled BD-PROCHOT as the guide said (be careful !). You can enable Thunderbolt support, etc. Take your time and be careful about the modifications you make. I renamed the new BIOS file as "bios_main_mod.bin".

The command I used :

- sudo flashrom -p ch341a_spi -c "GD25Q128E/GD25B128E/GD25R128E/GD25Q127C" -w bios_main_mod.bin . It will also take a long time. If it's a success, you will a have a "Sucess" or a "Done" message. If not, do as I said above : "replace the pliers", etc.


3. Boot your computer

Re-plug everything (CMOS battery and the power adapter), power on your Tiny and if you have an output, it's a great sign. Access the BIOS and check for the options you added previously in UEFITool 0.28.0. If you don't want Resizable-Bar, you can skip 4. and 5. sections and go directly to the last sections of my mini tutorial.


4. Adding Resizable-Bar support (Optional)

I wanted to push the BIOS mod further with Resizable-Bar support. Unplug your Tiny, remove your CMOS battery, etc. "Here we go again". I used ReBarUEFI and just follow the "UEFITool method (recommanded)" section. No need to use UEFIPatch. Just UEFITool 0.28.0 to add ReBarDxe.ffs. I uploaded in UEFITool my previous "bios_main_mod.bin". I named the new BIOS file "BIOS.bin" after adding the module.

The command I used :

- sudo flashrom -p ch341a_spi -c "GD25Q128E/GD25B128E/GD25R128E/GD25Q127C" -w BIOS.bin

"It will take some time"...


5. Boot your computer and enable Resizable-Bar

This time, Resizable-Bar will not be a visible option in the BIOS ! Above 4G decoding needs to be enabled with aperture size set to 2048mb. Now boot Windows (in my case, Windows 11), launch GPU-Z or any monitoring tool, and you will see that Resizable-Bar is disabled ! You need to run ReBarState.exe and enter "32" to get Resizable-Bar working. It will prompt you to reboot your PC. Reboot and look again : Resizable-Bar is now enabled ! Bravo, félicitations (I'm french) !!!

I don't know if it's possible to do that on Linux. I saw that ClearCMOS will not delete the Resizable-Bar module but it will disable it ! You will need to re-enable ReBar with ReBarState.exe. To disable ReBar, ClearCMOS or run ReBarState.exe and put "0".


6. Some observations and final words

It was fun to achieve a BIOS mod. I already did this kind of modding with the previous Tiny generation. However, for M710q/M910q/M910x/P320, you can add Intel Core, Xeon and ES LGA 1151/BGA 1440 CPU support. As I'm aware, it's not possible to do that on the Tiny5 generation.

Resizable-Bar is a must with Intel ARC GPUs in order to get the most out of them. Without Resizable-Bar, you lose so much performance ! Remember that Lenovo Tinys support a maximum of 50W out of the PCIe slot. You will need to undervolt/power limit any GPUs that consume more than that.

The Radeon Pro WX 4100 is made to reach 50W but when you look at its VBIOS, it's only running at 35W so that's great. The GPU performance is near RX 560 performance. I added a 1mm thick thermal pad between the heatsink and the magnificent blue shroud : the GPU shroud is obviously hotter but the GPU die is colder. It improves temps a little bit. To install the GPU, you need to remove the front bracket made for the bluetooth antenna. I'm using

Do you know if it is possible to delete the WiFi/Bluetooth modules whitelist ? If so, I'm very interested. Natively, you can only use modules with FRU part number or the ones listed on your Lenovo Tiny page. I would like to use a WiFi 7 module.

Feel free to reach me on Discord : chiracopolis. I answer generally very quickly !


Au revoir !
 

Attachments

  • Like
Reactions: Zune and Spucke