====== Altair-Duino expansion boards ====== ===== Background ===== ===== 88-ACR card ===== This was once available in kit form at [[https://adwaterandstir.com/product-category/parts/]], but it has recently been unlisted from the store. Instead, we will have to source the parts ourselves based on the [[https://github.com/dhansel/Altair8800-IOBus/tree/main/06-cassette-interface|source files]]. Easiest to obtain is the PCB, which can be simply ordered from OSHPark((What will we do with the extra two boards? Should we purchase enough components to fully assemble all three? Maybe someone on the mailing list would want them.)). A BOM is included below (carefully note package dimensions!). ^ Part ^ Quantity needed ^ ^ | 22 pF, 2.54 mm | 2 | [[https://www.digikey.com/en/products/detail/kemet/C315C220K2G5TA7301/6562341|DigiKey]] | | 22 nF, 2.54 mm | 1 | [[https://www.digikey.com/en/products/detail/kemet/C315C223J5R5TA/3728600|DigiKey]] | | 100 nF, 2.54 mm | 6 | [[https://www.digikey.com/en/products/detail/kemet/C320C104J5R5TA7301/3726081|DigiKey]] | | 150 R, 1/4 W | 1 | [[https://www.digikey.com/en/products/detail/koa-speer-electronics-inc/CF1-4CT52R151J/13537325|DigiKey]] | | 1 k, 1/4 W | 1 | [[https://www.digikey.com/en/products/detail/koa-speer-electronics-inc/CF1-4CT52R102J/13537832|DigiKey]] | | 2.2 k, 1/4 W | 1 | [[https://www.digikey.com/en/products/detail/koa-speer-electronics-inc/CF1-4CT52R222J/13537295|DigiKey]] | | 10 k, 1/4 W | 3 | [[https://www.digikey.com/en/products/detail/koa-speer-electronics-inc/CF1-4C103J/13537576|DigiKey]] | | 47 k, 1/4 W | 1 | [[https://www.digikey.com/en/products/detail/koa-speer-electronics-inc/CF1-4CT52R473J/13537610|DigiKey]] | | 100 k, 1/4 W | 1 | [[https://www.digikey.com/en/products/detail/koa-speer-electronics-inc/CF1-4CT52R104J/13537243|DigiKey]] | | 1 M, 1/4 W | 1 | [[https://www.digikey.com/en/products/detail/koa-speer-electronics-inc/CF1-4CT52R105J/13537547|DigiKey]] | | green LED, 2.54 mm | 1 | [[https://www.digikey.com/en/products/detail/w%C3%BCrth-elektronik/151031VS06000/4489988|DigiKey]] | | ATMega328P-PU, DIP-28 | 1 | [[https://www.digikey.com/en/products/detail/microchip-technology/ATMEGA328P-PU/1914589|DigiKey]] | | 74HC126, DIP-14 | 1 | [[https://www.digikey.com/en/products/detail/texas-instruments/SN74HC126N/376889|DigiKey]] | | CD4068BE, DIP-14 | 1 | [[https://www.digikey.com/en/products/detail/texas-instruments/CD4068BE/525931|DigiKey]] | | 74HC00, DIP-14 | 1 | [[https://www.digikey.com/en/products/detail/texas-instruments/SN74HC00N/277209|DigiKey]] | | 74HC04, DIP-14 | 1 | [[https://www.digikey.com/en/products/detail/toshiba-semiconductor-and-storage/TC74HC04APF/870457|DigiKey]] | | LM358, DIP-8 | 1 | already in stock | | 8 MHz crystal, HC-49S ((might need to substitute HC-49/US)) | 1 | | | 3.5 mm audio jack | 2 | [[https://www.aliexpress.us/item/2251832698811093.html?gatewayAdapt=glo2usa4itemAdapt|AliExpress]] | | 1x3 pin header | 7 | [[https://www.digikey.com/en/products/detail/w%C3%BCrth-elektronik/61300311121/4846825|DigiKey]] | | DIP-8 socket | 1 | [[https://www.digikey.com/en/products/detail/te-connectivity-amp-connectors/1-2199298-2/5022039|DigiKey]] | | DIP-14 socket | 4 | [[https://www.digikey.com/en/products/detail/adam-tech/ICS-314-T/9832866|DigiKey]] | | DIP-28 socket | 1 | [[https://www.digikey.com/en/products/detail/adam-tech/ICS-328-T/9832859|DigiKey]] | | SBH11-PBPC-D13-RA-BK | 1 | [[https://www.digikey.com/en/products/detail/sullins-connector-solutions/SBH11-PBPC-D13-RA-BK/1990074?s=N4IgTCBcDaIMoCEASBGFBaACgzBhdAIigMzoBKAguggNIgC6AvkA|DigiKey]] | ==== Assembly ==== As all parts are through-hole, assembly proceeded simply enough. The most complicated portion was programming the ATMega chip, something we had never done outside of Arduino programming. We used the [[:Raspberry Pi]] GPIO [[:avrdude]] configuration and a breadboard. The fun came when programming the fuses((See https://www.engbedded.com/fusecalc/ for an AVR fuse calculator.)). We set them incorrectly on the first attempt and were subsequently unable to interact with the chip in any way; the same happened when we tried again with another chip and the correct fuse values. This was because both settings --- correct and incorrect --- told the chip to expect an external oscillator as its clock source. Once we built the required oscillator network, communications functioned normally. If we are to program more AVR chips in the future, it would be a good idea to construct a target board, perhaps with sockets for support components (crystals, capacitors, etc.). ===== SPI/I2C card ===== They almost certainly didn't have [[https://github.com/dhansel/Altair8800-IOBus/tree/main/09-spi-i2c|these]] back in the day.