Writing an operating system for a computing platform is one of those non-trivial tasks few people actually need to do, regardless of whether it’s for a small microcontroller or a larger general-purpose computer. Many of us spend a large amount of our time working on producing robust code for embedded systems, occasionally diving deeper into the abstraction when we’re stuck on a problem. Quite often this work is sitting on top of an RTOS, which we consider a solved problem. [Jonathan Diamond] had picked up a fair bit of knowledge of some of the low-level AVR black magic, as well as some details of how operating systems work internally, and so decided to have a crack a building a toy operating system called KittyOS, for the learning experience alone.
[Jonathan] hastens to add that this is not a practical OS, but a learning platform that needs a few more bells and whistles added to be useful. Aimed at the 8-bit AVR ATmega168 with its mere 16kB of flash and 1kB of SRAM, the diminutive chip can still perform more than well enough to host the rudimentary OS — up to four application tasks, and some basic system call support.
Already, KittyOS sports preemptive multitasking, with prioritization and support for applications written in C. Hardware support is a bit limited, with just serial I/O and a spot of GPIO, but that’s more than enough for a demonstrator. Applications can be loaded into any of the four available slots, with per-slot run state control, using the Python-based host interface. The post is a long one, with an absolute ton of the gory details we love around these parts, and we’re very glad [Jonathan] took the time to make a proper write-up as well as a demonstration video, which can be found after the break.
Continue reading “KittyOS: Writing A Toy OS For The ATmega168 From Scratch” →
When your widgets have proven so successful that building them gets to be a grind, it might be time to consider a little mechanical help in the form of a pick and place machine (PnP). If you’re going to roll your own though, there’s a lot to think about, not the least of which is how to feed your beast with parts.
Managing the appetite of a PnP is the idea behind this custom modular parts feeder, but the interesting part of [Hans Jørgen Grimstad]’s work-in-progress project has more to do with the design process. The feeders are to support a custom PnP being built in parallel, and so the needs of one dictate the specs of the other. Chief among the specs are the usual big three: cheap, fast, and reliable. But size is an issue too insofar that the PnP could be working with dozens of component reels at once. Flexibility was another design criteria, so that reels of varied width can be accommodated.
With all that in mind, [Hans] and company came up with a pretty slick design. The frame of the feeder is made out of the PCBs that house the motors for handling the tape, and the ATmega168 that controls everything. Tapes are driven by a laser-cut sprocket driven by 3D-printed worm gears. The boards have fingers that mate up to the aluminum extrusion that the PnP will be built from, and at only a few millimeters wider than the tape, lots of feeders can be nestled together. The video below shows the feeder undergoing some tests.
Alas, this build isn’t quite done, so you’ll have to check back for the final schematics and PCB files if you want to build one for yourself. While you’re waiting, you might want to build your own pick and place.
Continue reading “Custom Parts Feeder Aims To Keep Pace With Pick And Place” →
Name any retrocomputer — Apple II, Sinclair, even TRS-80s — and you’ll find a community that’s deeply committed to keeping it alive and kicking. It’s hard to say which platform has the most rabid fans, but we’d guess Commodore is right up there, and the Amiga aficionados seem particularly devoted. Which is where this Amiga PS/2 mouse port comes from.
The Amiga was a machine that was so far ahead of its time that people just didn’t get it. It was a true multimedia machine before multimedia was even a thing, capable of sound and graphics that hold up pretty well to this day. From the looks of [jtsiomb]’s workstation, he’s still putting his Amiga to good use, albeit with an inconvenient amount of cable-swapping each time he needs to use it. The remedy this, [jtsiomb] put together an emulator that translates scancodes from an external PS/2 keyboard into Amiga keyboard signals. Embedded inside the Amiga case where it can intercept the internal keyboard connector, the emulator is an ATmega168 that does a brute-force translation by way of lookup tables. A switch on the back allows him to choose the internal keyboard or his PS/2 keyboard via a KVM switch.
Are Amigas really still relevant? As of two years ago, one was still running an HVAC system for a school. We’re not sure that’s a testament to the machine or more a case of bureaucratic inertia, but it’s pretty impressive either way.
Ever on the lookout for creative applications for tech, [Andres Leon] built a solar powered battery system to keep his Christmas lights shining. It worked, but — pushing for innovation — it is now capable of so much more.
The shorthand of this system is two, 100 amp-hour, deep-cycle AGM batteries charged by four, 100 W solar panels mounted on an adjustable angle wood frame. Once back at the drawing board, however, [Leon] wanted to be able track real-time statistics of power collected, stored and discharged, and the ability to control it remotely. So, he introduced a Raspberry Pi running Raspbian Jessie Lite that publishes all the collected data to Home Assistant to be accessed and enable control of the system from the convenience of his smartphone. A pair of Arduino Deuemilanoves reporting to the Pi control a solid state relay powering a 12 V, 800 W DC-to-AC inverter and monitor a linear current sensor — although the latter still needs some tinkering. A in-depth video tour of the system follows after the break!
Continue reading “Innovating A Backyard Solar Battery System” →
If you are running out of swear words to comment the magic smoke coming from your electronics, [Howard] has just the right weekend project for you: The reverse swear box. Most swear boxes would have you drop in a coin as penance for uttering your choice phrases. Instead, at the touch of a button, this obscure but classy device randomly suggests a four letter swear word and displays it on a 14-segment LED display for immediate or later use.
It’s built upon an ATmega168 and only requires a minimum of external components. The schematics and firmware for this project are freely available on the project page. There’s also an extremely profane header file, packed with 37 case-insensitive four-letter words you may not actually want to include in your toolkit. On the other hand, many of these words score intimidatingly well at Scrabble.
A person who is deaf can’t hear sound, but that doesn’t mean they can’t feel vibrations. For his Hackaday Prize entry, [Alex Hunt] is developing the Shakelet, a vibrating wristband for that notifies hearing impaired people about telephones, doorbells, and other sound alerts.
To tackle the difficulty of discriminating between the different sounds from different sources, [Alex’s] wants to attach little sound sensors directly to the sound emitting devices. The sensors wirelessly communicate with the wristband. If the wristband receives a trigger signal from one of the sensors, it alerts the wearer by vibrating. It also shows which device triggered the alert by flashing an RGB LED in a certain color. A first breadboard prototype of his idea confirmed the feasibility of the concept.
After solving a few minor problems with the sensitivity of the sensors, [Alex] now has a working prototype. The wristband features a pager motor and is controlled by an ATMEGA168. Two NRF24L01+ 2.4 GHz wireless transceiver modules take care of the communication. The sound sensors run on the smaller ATTiny85 and use a piezo disc as microphone. Check out the video below, where Alex demonstrates his build:
Continue reading “Hackaday Prize Entry: Shakelet” →
[Burt Rutan] is someone who needs no introduction. Apparently, he likes the look of the Icon A5 and is working on his own version.
Earlier this week, the US Air Force lost a few satellites a minute after launch from Barking Sands in Hawaii. This was the first launch of the three stage, solid fueled SPARK rocket, although earlier versions were used to launch nuclear warheads into space. There are some great Army videos for these nuclear explosions in space, by the way.
[Alexandre] is working on an Arduino compatible board that has an integrated GSM module and WiFi chip. It’s called the Red Dragon, and that means he needs some really good board art. The finished product looks good in Eagle, and something we can’t wait to see back from the board house.
The Chippocolypse! Or however you spell it! TI is declaring a lot of chips EOL, and although this includes a lot of op-amps and other analog ephemera (PDF), the hi-fi community is reeling and a lot of people are stocking up on their favorite amplifiers.
[Jeremy] got tired of plugging jumper wires into a breadboard when programming his ATMega8 (including the ‘168 and ‘328) microcontrollers. The solution? A breadboard backpack that fits right over the IC. All the files are available, and the PCB can be found on Upverter.
In case you haven’t heard, we’re having a Super Conference in San Francisco later this week. Adafruit was kind enough to plug our plug for the con on Ask an Engineer last week.