PC (New or Otherwise) up to $400

Hi all, if I have budget of $400 for a desktop (just the desktop to replace my existing one, keyboard/mouse and monitor still work fine), what's my best option? I need it mainly to run Visual Studio + SQL Express for a development and I don't do gaming or video rendering. It would be nice to be able to run a virtual machine (with Linux guest) even if I have to close all running applications while running the virtual machine.

Would Intel i3 be enough for that task? My existing machine is about 12 years and I am pretty sure it is an ATX motherboard. So if I build a new one, I assume motherboard form factor doesn't change much and should fit in my current case. I am not sure if I have to buy a new PSU.

I am considering a used PC like this as well: https://www.ebay.com.au/itm/Dell-Optiplex-9020-USFF-i5-4590s.... Given it is 4th Gen i5, will it run Visual Studio + SQL Express without struggling?

Thank you for your feedback.


  • Vans at your local supermarket carpark have $400 machines

  • The optiplex would be fine for VS.

    You're not going to get something better with only $400 unless you go second hand.

  • So if I build a new one, I assume motherboard form factor doesn't change much and should fit in my current case. I am not sure if I have to buy a new PSU.

    A 12 year old motherboard won't be compatible with new components. You'll need to buy all components again

    • I don't mean to keep the motherboard, I was saying that I probably don't need to buy a new case. Not sure about the PSU. And I can use my existing SSD drive as well. So pretty much I will need motherboard, CPU and RAM.

  • What's the full spec of your current machine?

    Can't really offer any advice about a new machine being better than your existing, if we don't know what you have !

    • It is an Intel Q6600 with 8GB RAM, cheap GPU that I can't remember the model. Performance wise (for what I do) I don't have any complaints, still capable of doing what I need to do… However I think it suffers a lot from incompatible driver (Windows 10) and I got regular BSOD. Even worse lately sometimes it won't start and I have to unplug, plug back in … which probably the BIOS.

  • If you went new you could build yourself a AMD Athlon 3000G.

    Specs would look like:

    CPU $85
    8GB Single DIMM $45
    B450 Motherboard $109

    Storage $0 (reuse), Power supply and case $0 (Reuse), total $239 dollars

    The end result is a fairly basic dual core 4-thread PC. In terms of performance it's a little bit behind a Quad Core 3ghz Haswell

    I benchmarked two of my systems: One is an old Acer office PC with Core i5 4440 (4GB RAM single channel) and the other is a new PC that replaced it (Athlon 3000G, 8GB 2666mhz DDR4 Single channel). You'll see the quad core intel still takes the lead in multi-thread but loses slightly in single thread.


    Which is better value? Arguably the second-hand desktop is better bang for buck but you also give up other "nice to have" things like USB 3.1 support, PCIE express Gen 3 and no NVME M.2 drive slots on the older boards

    However if you stick in a Ryzen 3 Quad core for $159 ($313 grand total) then you'll get a machine that'll absolutely crush the Haswell in terms of performance.

    • Thanks for your detailed info and recommendation. I thought i3 is pretty much better than AMD of same price? But I have been out of touch with CPU technology. PSU connector hasn't changed, has it? Will doubling RAM to 16GB be worthwhile for my use?

      • If you are talking about the low-core count 9th gen Intel's, yeah I would say they are about equal to the Ryzens. Not really better in any way. Only downside is that they socket they sit on is end-of-line

        PSU tech not changed in eons. Don't need to upgrade that, the new Ryzens are more power efficient than ever before and they use very little power.

        for RAM Dual channel memory much better than single channel obviously, 3200mhz+ recommended if you don't want to leave any performance on the table. Ryzen infinity fabric is tied to memory speeds, it likes faster clocks.

    • Btw which B450 motherboard would you recommend?

    • I was originally looking at Intel Core i3 10100.

      I know it's another $20 from Ryzen 3 you recommended but it's better it's still in the budget.


      • I would say it's personal preferences really, you can pay the extra dollars for Intel if you want to. You're not really missing out on anything.

        • If I take i3 10100, do you have any recommendations for the motherboard around the same price as B450? Thanks.

          Also notice that it seems Ryzen 3 3100 doesn't have integrated graphics.

          • @peuwayaqdq: Yeah you will need to buy either the Athlon 3000G or the AMD Ryzen 3 3200G / Ryzen 5 3400G if you want integrated GPU. "G" in model name means graphics. However the Ryzen 3/5 G series are not the same architecture as the Ryzen 3 3100, they are based on an older 12nm zen plus platform and don't perform as well.

            Intel boards are newer stock, and will be pricier, if you want Full ATX you'll be looking at minimum ASRock B460 Phantom Gaming 4 priced at $185.

            If you can live with Micro ATX, which is a smaller motherboard form factor that gives you less IO ports, and typically only 2 DIMM slots and only 1 PCIE16x slot, then perhaps ASUS Prime H410M-E at $125. It's a super cheap/ basic board that's the bare minimum to get a PC running.

            prices taken from https://www.pccasegear.com/category/138_2109/motherboards/in...

            I also remember there's the whole kerfuffle about Intel limiting memory speeds on the more budget boards. You're just kinda stuck with 2666MHz as the maximum speed for your RAM, even though 3200mhz+ memory is considered 'normal' nowadays for Ryzen

            If memory bandwidth is an issue for your workflow, I think AMD Ryzen 3100 has the upper hand here since the CPU and boards don't have memory speed restrictions.

  • For MS dev you should be thinking of how much time you are wasting doing compilations and then running the debugger or the MSSQL profiler. In the end you need to think of getting a much beefier PC than can be bought with $400 for dev work. Especially now days with containers and VM's being the way to scale and deploy modern systems.

    Have a look at the spec for running a MS MSSQL docker container (either Windows or Linux container).
    Have a look at MS VS 2019 16.8 community edition specs.

    From these two specs you will get an indication of what you should be using. A fast SSD makes a big difference in the compilation time.

    • Thanks. That's good point to check VS specs. Out of topic but I really want to be able to do remote compile. Am exploring that option at the moment

      • Have a look at following if you go down the CI path:
        * costs of service the CI is on (Storage cost, CI minutes per month, # users needing access to the version control repo)
        * how to setup and trouble shoot the CI process
        * unit test that will enable the CI pipeline to be automated
        * integration tests that will enable the CI pipeline to be automated. How can this be setup with MS SQL
        * security of the overall end to end process

        Be aware that the containers/images used for the compilation/test process will in most cases be supplied by the CI vendor or repos the CI vendor allows you to download from.

        You can test allot of this without buying a new PC, but it does not help you with debugging which does require a new PC IMHO or a cloud based solution which it a yet a different beast again.

        You should expect to have at least the following:
        * Real 4 core CPU to minimize compilation time (preferably more real cores or 4 with hyperthreading). I use an i-6700.
        * 16GB RAM. I have 16GB, but am thinking of upgrading to 32 so I can run windows and linuxs dev environments at the same time.
        * 512GB Samsung 950 pro SSD for OS/Apps and source code. Very fast SSD so as to minimize the compilation process.This also stores VM's that I use regularly.
        * 4TB HDD for backups and old source code/ old projects and downloaded files etc. Files on the HDD are not used in the compilation process as its slower than the SSD. This also stores VM's I use infrequently or do not care if they run a bit slower.
        * two monitors connected to the motherboard video output. One for the debugger and one for the app display. I need to get more, but I have no space at the moment for the extra monitor.
        * cheap 240GB SSD used to directly boot into linux for real hardware testing using Linux.

        At the moment for the CPU go over to toms hardware guide and check out the AMD CPUs like the Ryzen 3 3200G or 3100 (3100 needs a seperate graphics card, but has hyperthreading).

  • What about an intel NUC? Usually pick up a decent one of them for around that budget.

  • if you're feeling adventurous:


    otherwise just get an optiplex equivalent

  • I would go for a newer platform even if it meant short term performance reductions, given the budget

    Seems a Quad core is the way to go, graphics don't seem to be that important so you could build yourself or get a system with the AM4 platform, then upgrade it to a 3700X/3900X with better cooling down the road.

  • there is no point getting a new pc for 400 bucks. you wont get much for that price. buy a 2nd hand pc from 2015 etc

    • You reckon? Though technically I don't spend the $400 on a while pc. I just need CPU, mobo and ram. But I get your point.

  • From the suggestion on this thread, at the moment I am leaning to get

    For RAM would I notice the difference between single 16GB vs 2 x 8GB. I know theoretically dual channel is better, just want to know if it will be significant (noticeable). Either way it will be slightly over $400.

    • I would just reuse your existing card, although I have no idea what you were using already. The GT710 you chose is particularly pricey because it's a passively cooled card. There is 1GB VRAM model with fan for $45.

      The ASRock B450M-PRO4-F is a nicer board, it has dual M.2 Slots (one of which is SATA based and the other is PCIE based). The back of the board has a USB-C port. There's also two PCIE 16x slots although realistically speaking most people do not bother with using two video cards nowadays. Make sure you buy the newer "F" revision of the board, the older boards do not have updated BIOS to support Ryzen 3000.

      MSI is a bit more basic (single M.2 Slot, no USB-C) but it is the same chipset so don't expect performance difference with either board.

      Dual channel is definitely better for Ryzen, it makes a huge difference for Ryzen.