VOGONS


ITX-Llama (Vortex86EX ITX motherboard) - DONE!

Topic actions

First post, by Eivind

User metadata
Rank Member
Rank
Member

Update 2/7/2024: Github page updated with complete KiCad project (schematics, layout, gerbers).
Update 1/4/2024: All boards are shipped. Regrettably, I won't be doing another group-buy, but will be open-sourcing the complete hardware very soon.
Update 12/14/2023: Assembly and shipping is taking longer than expected, but moving along. Meanwhile, basic setup/config guide is up.
Update 11/23/2023: Finally got the boards delivered! Starting the process of completing the assembly, programming and testing everything.
Update 11/14/2023: Assembly is complete, waiting to get the boards shipped to me.
Update 11/7/2023: PCB fabrication is complete, waiting a few more days for SMT/TH assembly to finish.
Update 10/29/2023: The last parts finally arrived at JLC's factory, and the boards are ordered. This means the October group-buy is closed. I'll continue to update this post with the manufacturing progress.
Update 10/23/2023: I made the component orders last week, waiting for all the parts to reach JLC. Because orders are still trickling in, I ordered a bit more than I need - so there are still a few open spots for the group-buy before I order the PCBs themselves.
Update, 10/18/2023: I'm closing the October group-buy in a couple of days, last chance to get in.
Update, 10/9/2023: Added first-page info post and opened October group-buy list.

Youtube video

Since the completion of this project in October 2023, this first post will primarily serve as a presentation of the ITX-Llama mainboard.
The original post has been copied and can be read as the next one in this thread.

IMG_0844.jpeg
Filename
IMG_0844.jpeg
File size
1.36 MiB
Views
9149 views
File license
Fair use/fair dealing exception

The ITX-Llama is my second major project (after the TinyLlama) using the versatile Vortex86EX system-on-module (SOM).
It has a true x86, P6 (Pentium Pro/II/III) compatible CPU running at anywhere between 100-500 MHz, with 16 KB of L1 cache and 128 KB of L2 cache (both of which can be disabled), 128 MB of LPDDR3 RAM and an 8 MB ROM chip.
The CPU speed is roughly comparable to a Pentium 233, or somewhere in that neighborhood, depending on the application/game.

The mainboard has been designed to be as close possible to my dream late-DOS, early Windows 98 system as I could get, given the constraints of the CPU/SOM.

Here are its main features:
- ATX power connector. You can get away with just about the weakest PSU possible, the system doesn't draw much power.
- 3.3V-keyed AGP connector, running at 66 MHz and "1x" speed. AFAIK, most 3.3V and "universal" AGP cards should work fine, albeit at a slower speed than in a true AGP system. The reason for the 1x speed is that the SOM only provides a single PCIe lane, which is fed to a PI7C9X118SL PCIe-to-PCI bridge. AGP will happily run on PCI signals (it's a superset of PCI after all), but without AGP-only features like sideband-addressing.
- 2 USB 2.0 ports
- PS/2 keyboard and mouse connectors
- 2 USB ports that can be used for HID devices (keyboards and mice), that are translated into PS/2 using a dedicated RP2040 chip. Use jumpers to choose between real PS/2 or USB HID for both keyboard and mouse.
- 10/100 Mbit Ethernet RJ45 connector
- RS232 Serial port
- Internal TTL serial port
- Gameport
- Audio ports (line out, line in, microphone in)
- Digital optical audio out port ("Toslink")
- Analog CD audio input connector
- SATA connector
- PC speaker
- Front panel connectors (power switch, reset switch, power LED, HDD LED)
- PC speaker connector
- Power and reset buttons
- Multi-purpose RGB LED for showing power status, HDD activity
- Micro-SD card slot
- "HDD clicker" for SD card activity - for emulating the sound of spinning hard drives
- Built-in Crystal CS4237B-based sound card. Adlib, SB Pro 2, WSS compatible.
- Port for connecting an external real OPL3 module (instead of the CS4237B's built-in one)
- Wavetable connector. There isn't room for the old gigantic ones, but modern boards like the S2 and X2 from Serdashop fit nicely.
- 40-pin connector for attaching a Raspberry Pi running mt32-pi firmware - can be used for both MT-32 or MIDI. Both a male and female header, so you can attach a Pi Zero 2 directly, or run a standard 40-pin cable to a regular Pi.
- Built-in PCM5102 DAC for turning the digital audio from the Pi into analog audio that's routed back into the Crystal chip
- CR2032 real-time clock battery
- ESP8266-based serial-to-Wifi-modem for BBS-ing in DOS, dial-up internet in Windows, etc.
- 3 PWM (4-pin) fan headers, 5V or 12V, selectable by jumpers.

- Custom BIOS, based on Coreboot/SeaBIOS. Tweaked to work with this particular system and has a built-from-scratch settings menu where you can customize various things like CPU speed, disks, audio, network, fans, LEDs, clicker sound, etc.

Last edited by Eivind on 2024-02-07, 08:46. Edited 15 times in total.

The LlamaBlaster sound card
ITX-Llama motherboard
TinyLlama SBC

Reply 1 of 429, by Eivind

User metadata
Rank Member
Rank
Member

Original post:

After getting to know the Vortex86EX pretty well during the last couple of years (see The TinyLlama project), I've started to play around with the idea of a bigger, more capable system that's not restricted to the ~100x80mm size. I've already put in a lot of work designing a full ATX board, but the more I thought about it, the more I came to realize that Pentium-class motherboards are already very easy to get hold of, and way more powerful and capable than anything I could ever put together myself.

Mini-ITX, on the other hand, could be an interesting middle ground. Small enough to be installed in relatively tiny, standardized cases - but still large enough to fit way more stuff onto (170x170mm).

Here's my initial plan for such a board:

System-on-module:
- SOM-128-EX (128 MB or 1 GB RAM)

Internal connectors:
- ATX power
- SATA

Front panel connectors (pin headers):
- PC speaker
- Power switch
- Reset switch
- Power LED

Back panel connectors:
- PS/2 (keyboard+mouse)
- USB 2.0
- Serial
- Ethernet
- 3.5mm Audio out
- Gameport
- MicroSD slot (might not be enough room, could be internal instead)

Expansion:
- PCI 5V slot (through a PI7C9X118SL PCIe-to-PCI bridge)
- Raspberry Pi 2/3/Zero2 header and mounting holes, for MT-32 and MIDI
- Wavetable header, for MIDI

Other:
- Onboard CS4237B sound card
- I2S DAC (for Pi audio)
- CR2032 battery
- Power button
- Reset button
- 12mm PC speaker
- Standby LED
- Power LED
- Mounting holes for SOM fan
- 2x PWM fan headers

I'm thinking this could be a nice board for Windows 98 and DOS usage. Granted, the EX isn't all that powerful, but it's decent enough (especially when overclocked) - and coupled with an era-appropriate PCI 3D accelerator, I'm hoping it'll tick a lot of people's boxes.

I'm open to everyone's feedback and suggestions while finalizing the design for this board!

Last edited by Eivind on 2023-10-09, 21:55. Edited 1 time in total.

The LlamaBlaster sound card
ITX-Llama motherboard
TinyLlama SBC

Reply 2 of 429, by sndlbn

User metadata
Rank Newbie
Rank
Newbie

I like the spec. What I would like to see is 2x PCI cards. If we are looking for DOS / Windows 95/98 PC, it would be good to have a PCI card plus Voodoo 1/2 device. You can still buy PCI Voodoo 3, but an integrated 2D/3D card is not compatible with many older games. I would like to see Audio In, so you will be able to sample sound or use any older Audio software from this era.
If you pitch for the ITX form factor, will you design a PCI riser card, or will PCI cards be in vertical positions? I think vertical would be more practical due to the CPU cooling if overclocked.

Reply 3 of 429, by Eivind

User metadata
Rank Member
Rank
Member
sndlbn wrote on 2023-04-01, 06:29:

I like the spec. What I would like to see is 2x PCI cards. If we are looking for DOS / Windows 95/98 PC, it would be good to have a PCI card plus Voodoo 1/2 device. You can still buy PCI Voodoo 3, but an integrated 2D/3D card is not compatible with many older games. I would like to see Audio In, so you will be able to sample sound or use any older Audio software from this era.
If you pitch for the ITX form factor, will you design a PCI riser card, or will PCI cards be in vertical positions? I think vertical would be more practical due to the CPU cooling if overclocked.

I was originally just thinking of a vertical PCI slot at the standardized location, for compatibility. I guess a 1-to-2 riser card wouldn't be difficult to make, but I'm unsure how this is usually done in practice: most of the PCI signals are bussed (they can just be extended from one slot to the next), but there are a few non-bussed / point-to-point signals as well. Where would the slot 2-only pins be placed on the mainboard single slot..? They'd have to be substituted for other (hopefully non-used pins) I guess. Maybe the JTAG pins? If anyone has knowledge or examples of this, I'd be interested to know!

The LlamaBlaster sound card
ITX-Llama motherboard
TinyLlama SBC

Reply 4 of 429, by Eivind

User metadata
Rank Member
Rank
Member
sndlbn wrote on 2023-04-01, 06:29:

I would like to see Audio In, so you will be able to sample sound or use any older Audio software from this era.

Yep, the CS4237B has lots of audio inputs, I can add an external line-in. Maybe a combined jack (TRRS), to save space - we'll see when I get to the proper layout phase.

Edit: duh, no a TRRS would only provide mono input, that wouldn't do. Need a separate input jack.

The LlamaBlaster sound card
ITX-Llama motherboard
TinyLlama SBC

Reply 5 of 429, by Eivind

User metadata
Rank Member
Rank
Member

I wonder if I could get a floppy interface working as well. I have good experiences with the PC8477BV-1 chip in an older 8088 DIY system, but that was using it the standard way with DMA channel 2. The Vortex86EX only has one DMA channel (1) exposed on its pins though, and that is being used by the sound card. The datasheet says the chip can be used in a non-DMA mode as well, might be worth looking into - but would require a rewrite of some kind of the floppy routines in the BIOS.

The LlamaBlaster sound card
ITX-Llama motherboard
TinyLlama SBC

Reply 6 of 429, by sndlbn

User metadata
Rank Newbie
Rank
Newbie
Eivind wrote on 2023-04-01, 09:30:

Yep, the CS4237B has lots of audio inputs, I can add an external line-in. Maybe a combined jack (TRRS), to save space - we'll see when I get to the proper layout phase.

Edit: duh, no a TRRS would only provide mono input, that wouldn't do. Need a separate input jack.

You can always use a double jack like here. I use it for my small synth project. http://shogyo.com/product/3-5-mm-right ... pcb-mount/

Reply 7 of 429, by Eivind

User metadata
Rank Member
Rank
Member
sndlbn wrote on 2023-04-03, 16:06:

You can always use a double jack like here. I use it for my small synth project. http://shogyo.com/product/3-5-mm-right ... pcb-mount/

Yeah I think I'll go with a 3-jack, standard color-coded connector like this one. It's always nice to be able to have the PCB manufacturer assemble as much as possible.

Eivind wrote on 2023-04-01, 08:10:

I was originally just thinking of a vertical PCI slot at the standardized location, for compatibility. I guess a 1-to-2 riser card wouldn't be difficult to make, but I'm unsure how this is usually done in practice: most of the PCI signals are bussed (they can just be extended from one slot to the next), but there are a few non-bussed / point-to-point signals as well. Where would the slot 2-only pins be placed on the mainboard single slot..? They'd have to be substituted for other (hopefully non-used pins) I guess. Maybe the JTAG pins? If anyone has knowledge or examples of this, I'd be interested to know!

I think just a separate pin header or receptacle for the slot-2-only signals will do the job. A riser card could just plug into that directly to pick up those extra signals.

The LlamaBlaster sound card
ITX-Llama motherboard
TinyLlama SBC

Reply 8 of 429, by Eivind

User metadata
Rank Member
Rank
Member

A couple of teasers...

Screenshot 2023-04-28 at 19.32.15.png
Filename
Screenshot 2023-04-28 at 19.32.15.png
File size
1.28 MiB
Views
12071 views
File license
Fair use/fair dealing exception
Screenshot 2023-04-28 at 19.33.34.png
Filename
Screenshot 2023-04-28 at 19.33.34.png
File size
1.9 MiB
Views
12071 views
File license
Fair use/fair dealing exception

The LlamaBlaster sound card
ITX-Llama motherboard
TinyLlama SBC

Reply 9 of 429, by Eivind

User metadata
Rank Member
Rank
Member

Still waiting for a couple of the components before ordering a sample batch from JLC... In the meantime, here's a first shot at the PCI riser/extender:

Screenshot 2023-05-03 at 00.17.37.png
Filename
Screenshot 2023-05-03 at 00.17.37.png
File size
733.92 KiB
Views
11991 views
File license
Fair use/fair dealing exception
Screenshot 2023-05-03 at 00.17.06.png
Filename
Screenshot 2023-05-03 at 00.17.06.png
File size
1008.7 KiB
Views
11991 views
File license
Fair use/fair dealing exception

The LlamaBlaster sound card
ITX-Llama motherboard
TinyLlama SBC

Reply 10 of 429, by Aaron707

User metadata
Rank Newbie
Rank
Newbie

A couple of thoughts. Does it need a full 24-pin ATX connector? Or is that only for part availability? Just wondering if you can use a 20 or 24pin pico-psu with this like other ITX boards I have used. Any possibility of an front headphone jack header? USB header for a front panel jack? I would be very interested in seeing if floppy can be added. The old VIA ITX boards I have used didn't have onboard floppy, only IDE. And the VIA boards only had so-so audio. This will be significantly better in the sound card department. Very excited to see what happens on this project. Can you share a link to this over in the TinyLlama thread? As I honestly did not know this was in the works until today.

Reply 11 of 429, by Eivind

User metadata
Rank Member
Rank
Member
Aaron707 wrote on 2023-05-03, 15:26:

A couple of thoughts. Does it need a full 24-pin ATX connector? Or is that only for part availability? Just wondering if you can use a 20 or 24pin pico-psu with this like other ITX boards I have used. Any possibility of an front headphone jack header? USB header for a front panel jack? I would be very interested in seeing if floppy can be added. The old VIA ITX boards I have used didn't have onboard floppy, only IDE. And the VIA boards only had so-so audio. This will be significantly better in the sound card department. Very excited to see what happens on this project. Can you share a link to this over in the TinyLlama thread? As I honestly did not know this was in the works until today.

Yeah, you can technically always put a 20-pin ATX cable connector into a 24-pin receptacle, the 4 extra pins are only there for added current capability. That won't be an issue here to put it mildly... 😉 I opted for a full 24-pin connector mostly for compatibility with PSUs that has a 24-pin cable which can't be divided into 20+4.
A pico psu should work just fine, the power requirement here is tiny.
Front audio/headphone pin header... hmmm, not sure if I can simply split the regular line out without adverse effects. Might have to amplify it, I'll look into it while waiting for the last parts to arrive.
As for floppy, I don't think it's in the cards for the Vortex86EX, due to the lack of more than one DMA channel (which is being used for the sound card).

The LlamaBlaster sound card
ITX-Llama motherboard
TinyLlama SBC

Reply 12 of 429, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie

You can use a 20 pin connector. But I recommend to leave the space next to it free, at least from big capacitors like in your pictures.
But a 20 pin cable will also fit into a 24 pin connector on the board. It won't make any problem as long as you have same power connections shorted.

24 pin became more important when more and more components on the board used +12V instead of the 3,3V supply.
The CPU has its own +12V supply since the Pentium 4 with its exorbitant power consumption compared to its predecessors.

Last edited by Disruptor on 2023-05-03, 19:27. Edited 1 time in total.

Reply 13 of 429, by Eivind

User metadata
Rank Member
Rank
Member
Disruptor wrote on 2023-05-03, 19:20:

You can use a 20 pin connector. But I recommend to leave the space next to it free, at least from big capacitors like in your pictures.

What do you mean, leave space next to the 24-pin motherboard receptacle free? Why?

The LlamaBlaster sound card
ITX-Llama motherboard
TinyLlama SBC

Reply 14 of 429, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie

Ah, that's easy. Some newer supplys have 24 pin connectors that can't be split to 20+4 pin connectors. So if you use a 20 pin connector on the motherboard, a 24 pin supply connector won't be blocked by capacitors.

You need a 24 pin connection when that one +12V wire from the supply does not have enough power for the board and the connected peripherals (PCI).

Reply 15 of 429, by Eivind

User metadata
Rank Member
Rank
Member
Disruptor wrote on 2023-05-03, 19:29:

Ah, that's easy. Some newer supplys have 24 pin connectors that can't be split to 20+4 pin connectors. So if you use a 20 pin connector on the motherboard, a 24 pin supply connector won't be blocked by capacitors.

Hehe yeah precisely - that's why I'm opting for a 24-pin motherboard connector, as I said earlier. That will accommodate both 20 and 24-pin cables.

The LlamaBlaster sound card
ITX-Llama motherboard
TinyLlama SBC

Reply 16 of 429, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie
Eivind wrote on 2023-03-31, 14:01:

I'm open to everyone's feedback and suggestions while finalizing the design for this board!

Too bad you cannot layout the connectors on the back of the mainboard to fit to the contemporary backplates...
But, however you will include a backplate for sure.

Reply 17 of 429, by Eivind

User metadata
Rank Member
Rank
Member
Disruptor wrote on 2023-05-03, 19:49:

Too bad you cannot layout the connectors on the back of the mainboard to fit to the contemporary backplates...
But, however you will include a backplate for sure.

Not sure I understand, could you elaborate?

The LlamaBlaster sound card
ITX-Llama motherboard
TinyLlama SBC

Reply 18 of 429, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie

Swap PS/2 connector with sound connector.
Then swap network connector with sound connector.
https://www.google.com/search?q=old+atx+backplate&tbm=isch

Note that you also can use just one PS/2 connector. It then is combined for mouse and keyboard by using all 6 wires. There also exist passive cable splitters that allow you to split it back to keyboard + mouse on demand.
Note that the PS/2 connector often is abused to draw +5V out of the computer. FUSEd of course.
Then you can place the 2 solo USB connectors above the combined PS/2.

Reply 19 of 429, by Eivind

User metadata
Rank Member
Rank
Member
Disruptor wrote on 2023-05-03, 20:07:
Swap PS/2 connector with sound connector. Then swap network connector with sound connector. https://www.google.com/search?q=old+ […]
Show full quote

Swap PS/2 connector with sound connector.
Then swap network connector with sound connector.
https://www.google.com/search?q=old+atx+backplate&tbm=isch

Note that you also can use just one PS/2 connector. It then is combined for mouse and keyboard by using all 6 wires. There also exist passive cable splitters that allow you to split it back to keyboard + mouse on demand.
Note that the PS/2 connector often is abused to draw +5V out of the computer. FUSEd of course.
Then you can place the 2 solo USB connectors above.

Ah, ok I see. I wasn't even aware that there was such a thing as a "standardized" backplate/connector layout. I think I'll just stick with what I have at the moment - it's quite the job to route all signals, and the whole audio part (sound chip, passives, connectors, pi & wavetable ports) of the board has its own ground plane for better audio quality / less noise. It's not a big deal to 3D print custom backplates, btw.
First, let's see if everything works as intended! 😁
And yeah, all USB and PS/2 connectors are fused.

The LlamaBlaster sound card
ITX-Llama motherboard
TinyLlama SBC