Single Board Computer thoughts

I didn't have as much fun with my Raspberry Pi as I did with the Arduino. Like most people who bought them I just wanted something to fool around with, so in that regard I think a comparison is warranted. A lot of single board computers feel like they are just slow regular computers with some OS port (no unique character), struggling to be a full modern computer capable of OpenGL whatever full 1080p whatever. The Arduino on the other hand was very clean and easy to get started with and I found the language (some kind of C) quite legible. It didn't take me long to get an Amiga mouse connected and the sudden understanding of how things work is very empowering. Video.

When it comes to understanding computers I don't think it's done well via Linux-something running on top of many layers of... stuff. OpenGL is confusing and wasteful when it comes to 2D graphics. I think the correct approach to learning programming is to start with a compiled BASIC-like language which scales into low level access of the computer's functionality. An OS with very few components also make things easier.

So, perhaps the Arduino UNO board (or clone) is the closest thing I've seen to a knowable entry/learning machine like the venerable Sinclair ZX-81? The RPi and linux are very much a black-boxes in comparison.

My overclocked-for-no-particular-reason Raspberry Pi running Raspbian. I didn't like Scratch, Python or C+OpenGL. RiscOS was snappy but unfortunately doing graphics is rather difficult using the included BASIC languages (the indexed screen modes are faked, I discovered). The two USB ports and lack of hot-swapping caused me some trouble (I don't have a hub). The SD card would get bent in the holder and developed contact issues. They use the smaller cards now.

Winner of the ORAC lookalike contest is.... RPi3!

SBC

I made this concept for a bitmap-graphics (blitting) oriented single board computer. Maybe around 200MIPS, enough for immediate mode graphics. It would boot from a ROM, similar to the Amiga Kickstart, into a Workbench-like OS. Mid '90s specs overall.

HitBit Amiga

A design inspired by the HitBit F1XD MSX by Sony, the Amiga 500, Acorn Archimedes and other computers with colored keys. This would be just a USB keyboard + case. At the top is space for the SBC, PSU and peripherals (internal Loopy sticky printer???). This solution is scalable (economically) because people can get individual components and do their own thing inside. Over the function key row there are two sliders, maybe for SysFan, Overclock... or Pong.

Logo mockup

Bananodore Fruitfly logo design. Obviously a play on the Apple and Commodore logo. Fruitfly translates to Bananfluga in Swedish. They are a simple yet complex little thing which can be experimented on in a quest for knowledge.

OS mockup screen

Another OS mockup, inspired by System 7. 512x384 in 16 colors, though the OS would probably run in 256 color mode as I'm not keen on 4-bit packed pixel. Certain programs could reserve a chunk of the palette (e.g. a block of 32 colors). Desktop BG can be an image, a tile map or flat color. Editing the look of the OS could be fun for many, if given easy to use built-in editors. Bitmap font editors are fun too.

Something old, something new, something borrowed, something blue...

There are many SBCs without character. When they all come with Linux or even Windows, the only difference is power, which makes some boards slower than others, and all slower than a full computer. It sort of kills the whole thing for me. Of course, making a custom OS from scratch is madness from a usability/product PoV, but to a tinkerer and scratch builder it could be the main appeal. I guess what's really missing is a fun, general purpose bitmap oriented graphics chip? I've seen a few... which were not particularly fun to be honest.

I may have mentioned this elsewhere, but there are a few pillars which make a (retro) computer/console design work for me: 1> Good case design. It's expensive and difficult so no one really does this. 2> Hardware identity. Graphics and sound make the most impact, but the general system architecture can have an appeal too (clean, knowable). 3> Software identity. Custom OS, useful programs and a good game or two. 4> Brand momentum. Though, perhaps it is more likely that, if a famous name is used, someone's hitchin' a ride >_<.

In the 1980s, home computers were computers at home, a fantastic notion. Some were marketed towards people who wanted to "learn about the computers", and this influenced their design on every level. They were made to be understood and came with carefully crafted manuals. Likely, much of this was down to necessity - the developers certainly had no network or extra clockcycles to leverage against the user (*cough Windows 10 cough*). Now the demands of the user are so high, and the manufacturers so many that it's impossible to make a knowable machine regardless. But, I wonder what we could do if we tried to make a knowable machine with modern-ish hardware.

A 256 color mode is very clean to deal with I think. Dipping below does increase complexity a bit, but it adds graphical identity, an area where this hypothetical system needs to immidiately stand out. In doing a fully custom system, there's also an opportunity to turn a back on much of the legacy crap which modern systems have to deal with. A fresh start, even if I'm perhaps derivative/traditionalist in terms of desktop appearance in my mockups around here...

The OS and architecture should be relatively easy to understand. The memory is bytes and bytes can be pixels which can be easily shuffled around. The system is powerful enough for the user/programmer to be a bit sloppy (because s/he might be a beginner). Optimizations due to constraints tend to complicate things. A compiled form of C-BASIC hybrid would be the most accessible. It can be pretty close to the hardware, yet simple, as long as the hardware is simple. I'm thinking about how you could POKE around in the memory in the C64.

The OS only needs to do the basic things, so no distractions like trying to get video formats, flash player, cloud stuff or an "app store" to work. The command line interface can be improved by the inclusion of clearly named commands, helpful manual pages and error messages (which is really trivial to do, but not done because the people who write those things do it for people who already understand the systems). When you start up CLI, it shouldn't be a bloody for-experts black-box. How about showing the most common, useful commands, how to get help, etc? Graaar!

MSX3

Sony HitBit MSX3 concept by Arne

Mirror, mirror on the wall, who's the fairest of them all? Oh, I'm sorry Amiga, it's not you, it's the Sony HitBit F1XD and 101/202. Now COMBINE and reveal your ultimate form!

ZX Spectrum

Viva la resistance!

Compact single board implementation of the original ZX Spectrum... I don't think I missed anything.

Notice: The ZX Spectrum project is = NOW ON = a separate page due to sudden GROWTH.

CPC bonus

Quick redesign of this brick/plank.

Picopico

Pi..Pi...pico!

G66

My iMac broke after 6 years. Shopping for a new one, I found that there's no good mid range box (pizza/tower), so I drew something. It's the size of a 2.5 Mac Minis standing on the side.

Apple Macintosh Light (Cube)

Apple Macintosh LC but actually a modern office computer. I think... plastic cases like these have worse thermals so I'd put an aluminium heat sink on the back, like on my bench power supply. Silence is one of the things I like about macs... they're noticeably more silent than my silent-parts PC build actually.

( GE5P is a very nice robot design that Playmobil should bring back.)

Quick rear shot the Apple Macintosh LC³ It's maybe 16-17cm which is smaller than the Mac Mini, which means daughter boards to fit everything, and a drive bay, but modularity/repairability/upgradability was the wish all along. Charcoal/"space gray" metal backplate. And yes, that is a muscle-car style heat sink sticking out. Such a thing is inherently justified.

Atom-1 LPC

Oh, man, what a blast from the past, the ATOM-1! I used to have to shuttle to the moonbase to fix these in the 2270's .

Stuff

I forgot why I doodled these things.

IDROS

A What-If. Discovered long after making this that IDR actually did make TOS for the Atari. *chuckle*

GUI mockup.

A modern motherboard form factor for vintage keyboard computer cases.

USB could've been made flippable without any extra cost on the device side by just adding flipped contacts on the host/motherboard side. A few cents extra cost there doesn't matter. The reason why they didn't make it flippable was apparently because they thought it would mean adding extra wires in device cables... which... is a pretty poor solution to think of out of everything that could have been done.

A square design might be more space efficient. I put the tongue in the female plug because it puts the contacts on opposed sides. Because 5V and GND are opposed, should they come loose they won't short... though I suppose 5V could short with the casing. Stacking 2+ female connectors is harder with my solution here unless there is a wire merge solution in the housing rather than on MoBo.

Reddo~!

Small, hard-shelled shutterless floppies in paper pockets.

I was thinking a monochrome environment for this one. Featured is the MSX font in 6-wide mode on a widescreen display. OS is a branch of CP/M, now open source? Thinking about it, it should be possible to tell passive and active commands tell apart so you know whether you're doing something or viewing something safely. Also, I think I prefer full names, like "Info Memory", "List FD1: filter *.txt*.doc", "Make Folder SuperProjects", or "Open TextEd".

This way you can't accidentally poop things up by typing something cryptic like "fddel". Perhaps adding "Just" before a dangerous command does it without asking ("Just Delete Stuff.txt"). Normally, you get a verification of what will be done (i.e. you can tell whether your parameters made sense). Could be shorthand versions too, where e.g. Open = O, etc. Could also be keyboard shortcuts (printed on keys) for quick-typing common things.

Commodore-time!

PETTO. PET-2?

Doh! It should've been GEO-DOS. Graphic Environment ~Ooohh! - Disk Operating System.

Thing on a Spring stuff sprung forth.

Dragon-time!

Rainbow power at your fingertips.

Packets back in time

Travelling back in time with ADSL technology.

RPi case

With internal port extension hub (with IO shield, maybe video signal adapters?), speakers, power brick. Inspired by the 2600 and Intellivision.

RPi troubles

By the way, here's one way to solve the red power light trouble on a Raspberry Pi. Some people have went out and bought new SD cards, thinking the old ones went sour, but I think the problem is that they bend/bow in the holder after a while. Adjusting the springy contacts didn't work for me.

I bought a couple of SD card sockets, but could not get this bodge to work. I had some continuity issues requiring track cutting and bodging at first but maybe the remaining problem is inconsistent wire length or capacitance or EMI.

I considered soldering directly onto the SD card pads... Here's the chip side of a card I probably borked while experimenting with this project. Smaller IC is probably a disk controller. In the '80s, some disk controllers were as powerful as the computer itself. Even SIM cards have small computers in them now, with memory, storage and encryption features used for identification.

Brainfart. Afaik, SD card write protect sliders just bump a leaf switch in the socket, and it's up to the computer to respect that. Floppy drives probably used a light sensor for that hole in the diskette and afaik on the Amiga a virus could not write to a protected disk by circumventing anything on the software side.

It's not really "creditcard-sized", is it? I don't have 1/2 square metre of desk space free so I never use my RPis. So much stuff to plug in for just a quick go.

At first this felt like a fun idea, but it misses the point I think. First, it would be expensive and the RPi is cheap. You'd have an underpowered computer in neat box. Second, there's not enough free brackets on the back and the whole idea of brackets is being able to add stuff. Front panel mounting is a big "?". Needs to be dynamic so people can make their own front panels.

Really, I think the best form factor for a RPi would be something along the lines of the Amiga 600 keyboard case (maybe using brackets on the back). Easy to just plop it onto the desk. Built in analog mouse-joystick/nub, so just power and screen to plug in.

Maybe the LEDs could use a buffer using follow mode OpAmps, in case the user hooks up other experiments to the GPIO. I don't really know much about this but saw a similar setup on the UNO rev 3 schematic (pin 13 onboard LED), thought it was interesting. Probably best to not mount front panel LEDs on a board, but have the driver circuitry on the MoBo instead. LED holders should be enough.

Also drew some random logo and sticker designs. I draw along the edges of the paper to prevent smudging. I remember seeing Trypticon and Scorponox in toy catalogues as a kid but I never got into action figures. Quite liked the idea of mini robots having a base. The G1 transformation articulations were quite cheap and unexciting. Tangent!

Rasbunny and Mekapi mascots. And Helipi?

PocketChip

Yeah I have one of these. Bought some 6mm silicon/rubber feet to put on the keys to make it usable (still in mail). Playing linux console here (apt-gets and screen calibration).

Feet arrived & being tested. Works great for typing, but in games there's a fair bit of sideways stress on the "D-pad". Case design for this is a bit peculiar. Wish they had used screws instead of tabs. Price / assembly considerations probably.

Of course.

I have never drawn a laptop until this. I have strong opinions on laptop design but the market offerings show that I must be wrong about pretty much everything. Inspired by Let's Note and keyboard blatantly snagged from Inspiron. White is easier to see. I don't like LED keyboards.

This is geared towards the tinker-heads and privacy aware (maybe even Stallmanites), as suggested by some of the features (or removal thereof). The ASUS logo would end up upside down when opened but oh-well.

Actually I think the lid might be flippable (symmetrical). I had some idea that it could be swapped out and come in various colours. And an upside down logo tells an onlooker that... "This is not for you, it's for me to admire when I have the lid closed".

I forgot a DE-9 serial communication port for hardware projects! Put an RS232 interface on your Arduino boards and strut around the maker-space like a real kool boi.

Sony Camera Boy, loosely based on the Mavica. Had cameras been as cheap as they are now, but in 1990, this would've been about 50 quid, but probably 0.1MP, using a simpler LCD display (actual price range then: 500-20000). Digital cameras arrived in the early '90s and some stored images in DRAM, so if the battery ran out before transfer the images were lost. The Mavicas came later ('97) and I think their floppy drive had some kind of speed writing mode. Depending on compression I'm guessing about 5-20 640x480 images could fit on a regular MF2HD, but Sony may have used a different storage format and were also responsible for making new types of floppies before the format sadly perished. It was useful in the sense that you could isolate small individual projects on air-gapped, labeled and very cheap media (1/10th of an SD card).

Actual SBC stuff again

Raspberry pi 1 socket adapter

The SD card socket on the RPi1 was kinda crap. Cards would bend and lose contact without a metal enclosure. Mine became unusable. I found this little adapter that kinda works, but it's a bit tight and eventually cracked the plastic socket. The extra height makes fitting the board in the case harder.

Amibian

I've had my RPi1 & 3 sitting unused most of the time, so I thought I'd find some task for them. Because I only had a cheap 2GB micro SD card free I decided to try RiscOS again. I got a boot error so I decided to try Amibian instead. It's a stripped down Linux thing that boots a version of the UAE Amiga emulator, though in my case it booted into a kernel panic. So, I bite the bullet and buy a new SD card, 8GB class 4. I think class 4 is perfectly okay because there's barely any stressful disk (write) access.

I write the images to card on my linux laptop (Ubuntu Mate). There are two ways. The Disk utility (GUI) using Restore Image iirc, or command line using...

lsblk

... to list the drives. My SD card is listed as sdb. The numbers after are partitions but the images goes onto the whole card (no number). I think sdb stands for Storage Device B (as it's the second device on my particular system I guess). sda is my internal SSD. I go to the directory of my .img file using ls (list files) and cd (change directory), then...

sudo dd bs=4M if=amibian.img of=/dev/sdXXX/ conv=fsync

Where XXX is b in my case. It's a bit dangerous because if you accidentally set "of=" to a system harddrive it's toast. The process will take some time. Not sure if sudo is needed and I don't know what the stuff means. Hey linux is a really secure OS let's make it so needlessly complex that users will paste sudo stuff written by strangers on the internet. This is the year of the linux desktop!

Setting up Amibian requires some more prep. The instructions recommend using a FAT32 formatted USB stick for moving (ROM, ADF, HDF) files onto the SD card. I only had my old 16MB DELL stick free, and it's, well, too fat to fit along with other devices in the RPi3 ports... so I had to use an extension cable. Ended up with the usual RPi cable octopus and decided to do something about it.

Actual enclosure solution. Technically not an enclosure. But, I made a keyboard computer by velcroing the Pi onto the keyboard. And look at that cable management. Also, sent some nasty keys to the gulags. I could fit several games on that 16 meg DELL drive. For some reason the adf files have to be moved over to the SD card using Midnight Commander which is one of those ugly and barely usable MS-DOS-like file browser thingies. MS-DOS was a cancer we didn't stop in time so now we've got fullblown Windows 10.

Resolved problems

I wrote the <2GB image onto an 8GB card, meaning > the file system should/could be "expanded". I found the option for that off in a raspi-config submenu (Advanced settings). Unsure if it expanded after reboot though, I didn't look.

Sound goes over nasty HDMI when connected to a TV. I might use a monitor and external speakers so I went into raspi-config and set it to force use of 3.5mm jack. If using headphones the Amiga's channel separation is uncomfortable but there are mixing options in UAE. If using a speaker without volume controls, they're sort of easy to wire up on a breadboard, but one can also exit UAE and go into linux console...

amixer set PCM -- 75%

...worked for me.

I had undervoltage issues. The RPi3 uses <1A naked but a 2.5A supply is recommended if doing heavier stuff + peripherals plugged in. My RPi1 supply is 2A but it turns out the issue was with the extension cable I used. USB data cables are not really made for that kinda use and, length might play in too. USB micro plugs is terrible from a usability point of view, being fiddly, sharp and stuck'y, the latter being an issue when you have a switchless cable and things crash and you have to constantly yank, fiddle and flip. I would prefer a barrel jack because they're so sturdy easy to use... but tech always takes the terrible path when it comes to standards and somehow managed to even mess up something as potentially simple as barrel jacks. There could've been a beautiful system of diameter (V) and colour coding (A) *dreamy eyes*

The kickstart ROM entry field keeps going blank, I thought maybe because I only have 3.0 to use with the A500 which wants 1.3, but I think I just need to hit "Rescan Paths" to solve it. Having no ROM causes the Pi to crash when starting emulation, and then I have to yank that shitty fiddly micro USB cable. Wouldn't be surprised if the SMD jack tears off eventually. At least then I'm going to solder on a real sturdy proper barrel jack for real men.

Mouse speed only goes down to 0.25 (1/4) but it's still too fast for lowrez games like Utopia. I don't have a DPI setting on my current mouse either. Maybe the devs expected desktop resolutions. Might be able to set it lower by modifying the settings files manually.

UAE emulation is pretty good iirc, but here I noticed that some cracktros seem broken (broken gfx, no sound)...might be a kickstart issue. Some Amiga games which were ST ports ran at a pretty low frame rate.

Unsure if I'm feeling joystick lag and frame rate issues or not. I'd have to write a test thing in AMOS I suppose.

Can't find a floppy sound setting in this UAE version. It's quite essential to hear whether disks are loading/saving or if things guru'd.

No scanline filter? I don't mind the somewhat blurry scaling, as pixels were never crisp and supercrisp ones look... shrill / off.

Heatsink temperature (in case) is 50 degrees C during play. I have a fan installed but haven't connected it to the header.

Thankfully my USB joypad worked right away and can even be used to navigate the UAE menus somewhat.

F12 is default key for going in and out of emulator. Exiting UAE brings you to linux console.

Paradroid 90, Amiga version, on LCD TV. It's more accessible for a beginner using a Trainer for "unlimited time" (prevents droid degradation) and then F3 in menu, turning off transfer game. Avoid Unlimited Energy (HP) though as it just removes all challenge.

I don't like this design but here it is.

Super Amiga Keyboard Time!

I've never been comfortable with qwerty keyboards... maybe because I can't touch-type. But, this is not about that, but the other keys. I wanted to design a keyboard layout which suits me, as a BASIC programmer who doesn't use the numpad a lot (I also keep bumping into it with the mouse). It's nice to have the math and programming characters available without modifier keys however, so that was one of the things I wanted to do differently than modern compact laptop keyboards. I also wanted the keyboard layout to be quite international, supporting English, Swedish, German, Spanish, the latter via dead-keys to put accents on characters.

The Amiga uses a certain old (1986 or so) character set supporting several "latin" languages. However some characters are missing like the Euro sign, em dash, TM, useful math and electronics stuff. It does include Bullet point, dimension sign (x), Copyright, and degrees and I've always wanted those available on a keyboard. I can never remember the key-codes. Certain graphical characters are difficult to show using lowrez fonts, like 3/4, (R).

I've included a number of accents/diacritics and after moving them around a bunch I decide to go for consistency and put them all as Alt-characters on the number keys. They could be printed using red to lessen confusion. This left the keys near Return a bit barren... but I don't want to overload the keys either. Dots and such easily get lost.

The Amiga spacebar is really long. I looked at the wear on mine and thought it safe to shorten it quite a bit. I think having cursor keys down there would save wrist when navigating text. Right now I have to either move my right hand or pinky-out to the arrow keys.

On old computers like the MSX and Amiga, you could often control the joystick and mouse with the keyboard. On the Amiga you need to hold the Amiga keys which is kind of wonky and not obvious. I thought a tristate "lock" key might be a better solution (using two LED colours as indicator). I like the LED window key on the C65 remake so that will be borrowed. The off/joy/mouse lock is perhaps best situated near the relevant arrow keys. The L/R buttons I put near Return.

I extended the keys out a bit (1/3rd key) on the left side to fit in a full new tilde key next to tab. With injection moulding it's costly to use too many key shapes so I tried to be careful with that, e.g. the Console and L-Shift keys are now the same size. There are 7 key types total now, less than the original A500 keyboard. I ended up with a spare key under left Shift. Perhaps it could be used like a KANA switch on Japanese systems, for toggling character maps or keyboard mode in text editors.

What else... oh, right, the excellent Russian ZX clone called Didaktik has a pretty neat power light design... a sort of pretend-key which integrates it into the keyboard design really well. The A600 did it too, so I went that route with my indicator LEDs. I didn't want to use a more standard arrow key area, but keep the Amiga's raised one. I think I prefer half-height keys over chiclet or full-height so I'd go for that. I've positioned the text in a way which makes sense to me. Alt glyphs are right-center. Shift is left-top. System key text is centre-centre and so is single-use keys like =+-*. The down-arrow is slightly lowered. The arrow keys have text on the front-side to unclutter. IIRC some Amiga text editors use them as pg.up/pg.d/home/end but as hotkeys as the Amiga doesn't have proper keys for it.

I don't really like the A500 look, but did a mockup with my new semi-compact keyboard layout/map anyways. Diacritics in red and all on num keys to separate from similar regular characters. I think I'm missing the dot one, but it's not in ISO 8859-1 iirc. Unshifted/primary chars are larger (and bottom left), except for A-Z. I swapped tilde and bullet from previous layout (bullet is Alt+q on my Mac so it's a close key). Also added «guillimets», and an aproximate equal sign because that is handy. I can't even easily type it on a modern keyboard. Actually it's Alt-x on my mac ≈≈≈, which doesn't really make sense so I won't remember that.

For reference, here's my A500 keyboard. Notable features:
• Long space bar is long.
• Baffling amount of duplicate characters. ++(()) && '' *** :: == "" /// ,, ^^ --_ _
• I think there are a few diacritic/accent dead-keys but it's hard to spot them.
• The small numbers get lost competing with misc other black chars. I tried to make mine more balanced. Messy keys makes it harder to see what dashes and dots are low and high.
• I believe the long dash is actually underscore. There is no em dash.

Keyboard layouts. It's hard to give new layouts a fair trial when one is so used to the arbitrarily established QWERTY and can't really shift just like that. I think I'd like the ABC one though. L and J are a bit unfortunate but otherwise the positions aren't too bad.

I reconditioned a cheap mouse which had gotten the jitters (just gunk on the lens piece inside... though the sensor is kind of garbage to begin with). Shell finish was degraded and nasty. I polished it with steel wool, but it's hard to get an even finish. Patches usually appear when dry, BUT, a very light coat of hand crème gives it a nice even satin finish :O Usually the hand fats tend to serve the same function. It's probably similar to wetting a rock. The most common points of failure on mice are:

I've never seen a failed IC in any of the dozen mice I've fixed at some point. I've had to fix a few micro-switches but never the rotary encoder for the wheel... on cheap mice that's an off-the-shelf piece anyways.

Innards of another cheap mouse. The mouse wheel actually tilts onto a switch but it isn't noticeable due to the small angle. The axle can be pulled out of the rotary encoder. It's just a hexagonal connection. I suppose the internal contacts of the rotary encoder can wear or get gunked up, producing bad/stuck quadratures.

Some other hardware pages

Amiga HDD - Amiga cleanup - Amiga pixels - SBC - Assorted - MSX - Acorn project - Amstrad project, etc. - ZX project - Assorted - Electronics Endeavour


Art by Arne Niklas Jansson

AndroidArts.com