So, I have been using the Atomic Pi for a couple years now. I have one continually hooked up to the internet, and use it primarily to view Youtube videos. I have the FreeBSD OS loaded onto a micro-SD, and use that as the boot medium. The Atomic works OK most days, but there seems to be a quirk in the BIOS that occasionally causes it to try to boot ceaselessly from the internal eMMc memory, which I don’t use. The Atomic seems “bricked” at this point because it never seems to return to the BIOS setup page after a failed boot from the blank eMMc. I have found through trial-and-error that I can disable the eMMc memory in the CPU-Southbridge part of the BIOS setup, and the Atomic will boot the correct uSD drive.
From the point of the eMMc being disabled, usually the Atomic will boot to the microSD card. But, for a couple of years, the thing has occasionally “lost its mind” – and returned to the boot-from-emmc routine, in spite of the fact that I’d set the BIOS eMMc device to the “disabled” setting.
There are comments on the internet to the effect that you should press the reset button, unplug the Atomic, and then plug it back into the power source repeatedly until the BIOS screen appears. This sometimes works, but rarely and only by accident. What is really happening is that the BIOS reset switch is setting the BIOS to the initial default settings. So, hitting the reset button undoes the setting changes I may have made to disable the eMMc. I occasionally hit the BIOS reset button by mistake (it’s easy to do) – and then it loses it’s custom settings.
After the BIOS is reset with the button, it seems the device does not want to step into the BIOS setup page. It seems to “freeze” with the logo on the screen. This prompts many users to go into a reset-unplug-plug-in routine that accomplishes nothing. I discovered that the real issue is an excessive timeout for the default boot drive sequence. The timeout is about 3-4 minutes, believe it or not. Just let the “freeze” screen sit for about 3-4 minutes, and the BIOS setup page will appear. This assumes that your have pressed the del key at least once during the “freeze” period, else the cycle of timeouts with continue.
The real solution is to glue a small piece of plastic onto the side of the unit, to protect the BIOS reset from accidental reset.
So I guess it’s been about three months since I last posted anything about the Atomic Pi. Since that time in April I’ve been using the little SBC as a YouTube machine, pretty much dedicated to the purpose of maintaining my daily fix of YT content. Ninety five percent of that YT viewing time has been done with FreeBSD running on the little SBC. I’ve tried a few other options, but FreeBSD works best for me.
Over the past three months, my YT viewing level has probably been quite a bit higher due to the virus. On some days …
I have an arsenal of Odroid XU4 boards that have served me well. But, with the XU4 – I find myself using Linux all of the time. There is not much in the way of distributions outside of Linux for that nice little SBC computer. Sure – there’s Android, but that’s not in my plans.
I occasionally like to use Haiku OS, maybe dabble a bit with VisOpSys, and in the past have preferred to use the likes of FreeBSD and NetBSD. The problem is that all of those operating systems are targeted first towards …
If you’re like me, you are using one of a variety of ARM processor based SBC computers, meaning one of the Raspberries or Odroids or one of a variety of other makes. It’s sometimes problematic to find a browser that is capable yet speedy, and that works on the ARM boards, but I find a Chromium derivative browser called Vivaldi is a pretty good match for high-end Raspberries and almost any Odroid SBC. The Vivaldi people make a special package for the Raspberry, and it contains the browser. Unfortunately, if you’re running something other than Ubuntu or Debian you’re seemingly out of luck, due to the package being in the .deb format of the debian package manager. However …
OK, at some point you have to call an uncle an uncle and a wolf a wolf. Apparently, I’ve stepped on somebody’s toes with my story about twisted light lasers. A couple days after I published the twisted light laser story, something very strange began to happen. Allow me to elaborate.
I was looking for a one-liner means by which to duplicate images. In other words, I was too lazy to write a script. The answer was surprisingly difficult to find on the internet. Methinks it is too easy, or so easy that it’s obvious? Anyway, this is for those who need to do this task (image duplicates are needed to build frame directories of 30 frames per jpeg image, to facilitate building an animated gif or a video frame-set from a series of stills).
The secret sauce is to use imagemagick’s convert command. Using it thusly:
All of us embrace technology in the IT field. We write computer programs, administer systems, and perform other work tasks via the use of the latest devices enabled by silicon wafer foundries and the resultant end-use chip products that come from that. Lately, there has been a turn from pure electronic silicon to photonic-electronic silicon and optical devices on silicon.
Since this page is hosted on WordPress, I like to keep a backup of all the files and images on the site. The files (html, etc) are easy to backup – using the WP admin panel and the tools->export method. But, the graphic images are not exported along with the html files. Instead, the export xml file has links to the images inside of it. There are a few methods for downloading images, found on various sites, but most of them do not fit the simple meme well enough for me.
Figure 1:The Diminutive MCU on a 3 inch breadboard, color inverted
In my last blog post on this topic from over a year ago, I walked through the setup of a development environment for the Photon MCU board (a board made by Particle, a company which is not associated with this author or site in any way. I really like their MCU boards though!). Recently, I decided that the AMD-64, with its tether (in the form of a 110V power plug), its twenty pounds, and its voracious appetite for power, was a poor development machine for a 4 gram MCU board. OK – that was a (slight) under-exaggeration.
Figure 1: The Odoid XU4 compiling and surfing at the same time.
Here is a short video of my Odroid XU4 “desktop” – a sort of light desktop which is surprisingly quick for its power draw. In the video it’s seen to be running Firefox with only a little lag, while simultaneously compiling (firefox itself) – on seven cores. Note the old hub below the Odroid, much bigger AND much older than the diminutive SoC/SBC. I purchased the hub in 1992 and it’s still working fine, albeit at 10 megabits/s (LOL).
A few months ago, I wrote a blog post about a little two watt x86 SoC/SBC board I had in my possession, and that I intended to use with batteries for ultra-low power off-the-grid applications. The board is the Vortex-dx x86 board. There are newer SoC/SBC boards, but they’re usually using more like eight or ten watts …
Figure 1:I hope my dog likes Risc OS as much as I do!
Some time ago I tried RISCOS to see if it could be useful for me. I liked it, and in fact it was the only operating system I used on my Pi for the first few weeks after I purchased my initial Raspberry Pi. Subsequently, I got involved with other operating systems on the Pi, and RISC was put on the back burner. Recently, I decided to see how much had improved in the time that had elapsed (about a year).
Haiku (the operating system) has included with it a web server (called “poor man”). It’s Ok for what it is, but I wanted a little more horsepower for some projects I’m working on. I decided to port the Hiawatha server to Haiku. (Note: Haiwatha is at: http://www.hiawatha-webserver.org).
Figure 1: Running RISC-V Linux inside of the Spike RISC-V processor simulator. Click to enlarge.
Some time ago, the RISC-V project, out of Berkeley, caught my eye. It’s an entirely new instruction set for a microprocessor, along with specific implementations that use it. Notably, unlike *all* other such things, it’s open and free.
Such a thing as an open instruction set, especially when coupled with an open processor reference implementation that works, has been the Holy Grail for open hardware and open software enthusiasts, for a very long time …
Figure 1: The “cheapo” ammeter for keeping tabs on SoC/SBC power usage.
I have a number of SoC/SBC based “homemade tablets” and “homemade server” boxes that consume anywhere from 300 mA to several amps at 5 VDC. I wanted an easy way to check the power consumption under various load scenarios (GPU=on versus GPU=off, WiFi=on versus WiFi=off, eight cores versus four cores versus one core, etc).
Figure 1: The Vortex86Dx SoC SBC board is shown in the project box. Click to enlarge.
My emphasis has been to convert the computing equipment at my establishment to use low power “off the grid” devices such as the ARM Odroid and Pi SBC boards. Yet, I have a small number of applications which have no open source equivalents, and so I need to have at least one “low power” off-the-grid x86 computer in the arsenal. The normal desktops that I’ve used in the past are simply too piggish on the power plug. The AMD64 box swallows 95 watts, and would be a difficult customer for my battery banks.
The XU4 (Odroid) is the device with which I’ve replaced the AMD64 desktop. It’s a size reduction of about 20x. It’s a weight reduction of about 20 pounds. And, it’s an energy reduction of about 20x, plus or minus.
One of the first things I needed to do was to build an image for a USB thumbdrive, as a substitute …
Figure 1: A Photon-powered project has been added to my collection. Click to enlarge.
Figure one shows the idea in a physical mock up. Actually, the parts are real, they just haven’t been soldered together yet. So, we have a battery bank of three Imedion NiMH “AA” cells, running between 3 and 4.2 volts and feeding a booster which supplies 5.0 VDC to the development board. We have the Photon (of course), and an ADC board (or other board) for sensor measurements. Did I mention that the Photon, in addition to WiFi, does I2C (1), I2S (1), SPI (2), ADC (8), DAC (2), UART (2), PWM and multiple general GPIO? For $19 bucks?
Figure 1:The new tabletuses re-purposed materials on the circuit board floor.
This project is more involved than a simple exercise in converting 3.3 and 1.8 volt logic levels. It also involves building yet another homemade tablet. I have four of them now (2 Pi2’s, a C1, and a C1+). The fifth one (being this XU4) will be the most powerful of the bunch. So, in figure two we can see I’m beginning to lay out the new tablet…
New Orleans Coast Guard weather fax operates at 4.317 4.344 MHz, so it is far outside of the default (7 MHz CF) filter bandpass of the BPF that I have in the little sidecar SDR.
Currently, there is no bandpass filter switching arrangement within the sidecar, so I have to swap the different 14 pin dip sockets in and out as I change bands (each DIP is loaded with the correct combination of components for the frequencies I wish to use). It’s a little inconvenient to do it that way …
Figure 1: The simple connection from the USBIO to the ADC
The ADC devices currently in all three of my “homemade” tablets are a little under powered, so we’re upgrading all of them to use 16 bit Microchip MCP3426 ADC chips. The smallest reasonably hand solderable chip package is the SOIC. Most of the newest, fastest most glam chips are not even available with old-time DIP packages anymore. This is seriously bad news for oldish guys like myself.
Figure 1: The diminutive tablet finally shows its X (click to enlarge).
The orange box Pi2 powered tablet is shown running Netsurf on NetBSD in Figure 1. It’s always so hard to get good pics of screens in photos like this. It really looks much clearer in reality (versus this pic) …
Figure 1:The fan needs a couple more machine screws. Placed towards the top of the enclosure, near the processor, it draw off heat from both sources (LCD and processor). Click to enlarge.
The first homemade tablet is equipped with a 10 inch screen, as its nine inch screen was pulled out about a month ago. With the change-over to the new screen, I noticed a little more heat build-up inside of the enclosure, and I endeavored to remedy that unwelcome discovery with a small fan attached to the side of the enclosure.
With the new Cirrus audio adapter up and running, I turned my attention to the temperature and barometric pressure sensor I had purchased for the “homemade” tablet. The device, which measures less than an inch square, is the “BMP-180” and uses the I2C communication protocol. This is advantageous, as my UART is already permanently connected to the GPS board.
Figure 1:The digital compass has been mounted in the original homemade tablet, next to the powerful Imedion NiMH “C” cell bank.
The next item to be added to the original homemade tablet was a mims/magnetic compass (purchased from Adafruit at Adafruit.com). It is an i2c device, so is only a four wire connection (Vcc, Gnd, SCL, and SDA)…
Figure 1:A recent addition to the SoC herd is the xu4 from Hardkernel … (click to enlarge)
I love to get the brown non-descript boxes in the mail, especially when those boxes contain more SoC/SBC investigative opportunities. My gray-scale picture may not do it justice, but the XU4 that I’ve just now added to my lineup is the most powerful SoC/SBC yet …
Figure 1:The Pi (2) powered Orange Box server with its new Face (click to enlarge).
So, the orange box server has gotten a nice facial. No longer a plain little orange server box, it’s less plain and sports an 800×480 “monitor” screen to keep tabs on what it’s doing. Currently the monitor is USB powered, but when I can figure out which header connectors on the back of the new face are safe to use for DC power connections, I’ll remove the ugly USB cable looped around on its top. I have a “cover” on order, and that should hide the edges of the screen and protect it from abuse. The origin of the cover is interesting …
Figure 1:Status and printDetail() page of the pingpair_dyn sample app (click to enlarge).
Finally, the nRF24 devices are talking to each other! It was a bit of a road trip. One thing to note is the importance of the status byte, and the status page. A hex 0x00 in the status byte, and lots of zeros in the printDetail() page is a pretty good indicator that your SPI is not operational, and you’re not talking to the transceiver. More on this issue follows …
Figure 1: A growing Collection of little Soc/SBC powered computers (click to enlarge).
Today, when I visited my own site, I realized how confusing some of the projects may seem, because they reference different boards and things, and it’s a little bit of a jumble, and it’s hard to tell the players without a program. Figure 1 should sort out some of the details. There are two “homemade” tablets and two “homemade” servers at this point, all ARM CPU architecture powered, by SoC based SBC boards.
Figure 1:The communications device antenna is within its protective sleeve.
More than one way to communicate …
To communicate between devices, one can use standard WiFi, but devices for it typically have a pretty high power consumption rate. I found some micro powered communication boards that operate in the unlicensed 2.4 GHz band (in the same frequency range as WiFi). These devices can run on as little as 5 milliwatts. I’ll describe my experiments with them in the next page or so.
Figure 1:Testing the membrane pad on the Pi2 powered “homemade” tablet.
The little pull-up board was mounted near the Pi2, so as to make the wires shorter. It was mounted vertically, in that space between the enclosure’s connecting posts. Then, I made the first test of the membrane pad, using the wiringPi gpio command to read all GPIO at once …
Figure 1: The “homemade tablet” is getting cramped. (Click to expand)
In figure 2, it can be seen that the little “homemade” tablet is getting quite cramped. Note that I did not mount the Cirrus card on the 40 pin IO connector of the Pi/2. This was to facilitate use of the GPIO pins for other things. There is also a vertical clearance problem to deal with. So, there will be individual wired female header lines coming from the audio board to the Pi/2 J8 connector (not yet in place).
Figure 1: First test run of the GPS module in the Raspi-Riscy “tablet” (click to enlarge)
Getting back to the GPS …
Since discovering that the placement of the GPS module in the “homemade” tablet was very critical, I’d moved all the wiring away from the little corner of the box where it was relocated, and then I was in a good position to perform the first on-the-road test of the GPS module, inside the homemade tablet I sometimes call the “Raspi-Riscy” – so as to differentiate it from the Odroid/C1 powered “homemade” tablet I have mentioned in earlier posts …
Screenshot licenses: The screenshot at the top of the article is of a program that has been released under a free software license (JOSM, located at http://www.openstreetmap.org and josm.openstreetmap.de). As a derivative work of that program, this screenshot falls under the same license (GPL2+). The license text preamble and a link to the full test is shown at bottom of this page. Full Text License Source: http://josm.openstreetmap.de/browser/trunk/LICENSE Any contributed OSM data shown is licensed under the OdbL: opendatacommons.org/licenses/odbl/
Recently, I decided to give the engine inside the latest “homemade” tablet project a rehab. I decided to add an internal battery supply, but to make it a decidedly different kind of thing this time around. As with the first homemade tablet, this one is geared to use NiMH batteries (I love those things!) But – I intend to do the battery charging operation in a different manner than was done in the first tablet. I sometimes call the second “homemade” tablet the “Raspi-Riscy” – to differentiate it from an earlier homemade tablet based on the Odroid/C1. The latest homemade tablet project uses the Pi2 SoC/SBC board. Initially, I installed the RISC OS operating system onto it.
Note: This author and site is not affiliated with the Raspberry Pi or the RISC OS operating system in any way. For information, see https://www.riscosopen.org and https://www.raspberrypi.org. The Odroid C1 is a product made by Hardkernel at hardkernel.com This author is not affiliated with Hardkernel in any way.
Figure 1:Recessed switches on the enclosure containing the tiny display and the Pi2 SoC based SBC might be an effective anti-bump device.
Recently, I picked up a Raspberry Pi2, just to see what all the excitement was about. I ran it through its paces, putting some of my favorite obscure operating systems on it (standard practice for me, when dealing with new SBC devices). The Pi2 successfully ran FreeBSD, NAS4Free, Raspbian, and RISC OS. (Granted, Raspbian is not an obscure OS). My favorite of these, at least on the Raspberry, is RISC OS. It’s the OS that gives me the best impression of speed, although that is a feeling based only on the responsiveness of the GUI. Since RISC OS uses only one core, it’s not going to process “R” statistical package weather forecasting data faster than the Raspbian. That’s not a problem – and perception counts when all you really want to do is read the headlines in the news with Netsurf!
Figure 1: The “soft66” SDR (software defined radio) board. It’s a fun thing to build in a spare three hours, and even more fun to operate!
Recently I’d integrated a “homemade” tablet into the station, for things like receiving weather faxes and BPSK31 transmissions. I’d been using external receivers to do that, but mentioned that I really wanted to put a “shortwave” receiver board inside the tablet, for an all-in-one effect.
The batteries were pretty exposed, lying on the kitchen table with their wires all hanging out. Of course I had to fix that situation. Today, the mailman brought the clear top box I’d been waiting for, which helped to put the batteries into a better home. Happily I managed to find a battery case in the exact same color as the tablet, in spite of the fact that I ordered the two cases, each from a different manufacturer. I thought the photo (top) came out pretty well. The red on the display is reflecting off of my bedroom walls.
The start up voltage was higher today (10.35 volts) than it was yesterday (9.65 volts). That may point to the batteries being a little more discharged than I thought, coming out of the shipping box. If that’s the case, then I’m looking at an even better runtime on these freshly charged batteries. Vaguely, this makes sense, because of the efficiency difference between the booster and the DC-DC converter, I was indeed expecting a better runtime than four hours yesterday. So, time will tell. Literally.
The new batteries arrived in a small but heavy package. I pulled the brand new Imedions out of the box, and tested them for voltage. All but one was OK out-of-box with no further charging needed. For the one, fortunately, I had kept a pre-charged spare in the battery drawer, to round out the eight battery line-up. Next, I pulled four dual “C” battery holders from the same small mail package, and arranged them on a piece of trim board (not something a person should normally do, but I did for this little test). The next little jewel that I pulled from the shipping container was the DC-DC (voltage, not frequency) down-converter. Not being patient enough to wait for the housing that I had ordered, that the batteries will ultimately reside within, I soldered a switch to a couple wires, pushed the batteries into place, connected the pack to the DC-DC converter, and threw the switch!
The batteries were purchased without much thought, as they were extremely inexpensive. There is high variability in NiMH cells, depending upon manufacturer. Some simple math shows that I am not extracting the full capacity of the batteries while running the Odroid. Whether this is a problem with the batteries, with the current (mA) demand, or with the “forming charge” procedure has to be determined.
I’ve had the idea to build my own laptop for quite some time. Until recently, there were high barriers to accomplishing such a thing as building a homemade laptop. Recently, for various reasons, those barriers have been lowered.