The Sol-1: A 16-bit Computer In 74HC Logic With C Compiler And Unix-like OS

Sol-1 system pictured from the front. {Credit: Paulo Constantino)
Sol-1 system pictured from the front. {Credit: Paulo Constantino)

While the concept of a computer system implemented in discrete logic ICs is by itself not among the most original ideas, the way some machines are executed certainly makes them stick out. This is the case with [Paulo Constantino]’s Sol-1, which not only looks extremely professional, but also comes with a lot of amenities that allow for system development, including a C compiler and assembler, a Unix-like OS (in development), DMA, and a whole host of interfaces to interact with the system and peripherals (serial, parallel, IDE, etc.). Not to mention a SystemVerilog model and an emulator, all of which can be found on [Paulo]’s GitHub.

More photos and videos can be found on [Paulo]’s YouTube channel, as well as the Sol-1 website, which shows off the intricate wire wrap work on the back of each PCB. In terms of the ISA, there are 5 general purpose registers (one scratch) which can also be used as two 8-bit registers each. Most operations are supported, except for floating point. For future improvements and additions, Sol-1’s OS will get more features added, and the first major software to be ported to the Sol-1 should be Colossal Cave Adventure and similar text-based adventure (dungeon) games.

Binary Clock Kit Blips Again

Back in 1978, the world was a bit different. There was no Raspberry Pi, no Internet, and not even an ESP32 to build projects with. And rather than order electronics kits from Tindie or Adafruit, [Dr. Francitosh] selected this binary clock with his mother from a catalog, and made the order via mail. Simpler times. The good Doctor, AKA [Greg Smith], was a young electronics tinkerer, and his mother wanted a good project-in-a-box to show off his skills. Thus, a Greymark Binary Clock was ordered and assembled. Then, sadly, the beloved clock crashed from its proud mantle position, doomed to never to blink or blip again. Or was it?
Continue reading “Binary Clock Kit Blips Again”

Check Your Board: Call For Submissions

As both beginning hackers and Silicon Valley investors alike keep discovering, there are a lot of differences between hardware and software. One important difference is cost of iterating over a design. In software, you can comfortably rerun your build process and push updates out near instantly to tons of users. In hardware, all of that costs money, and I do mean, it costs way more money than you’d want to spend.

When I see people order boards that could never work because of some fundamental design assertions, with mistakes entirely preventable, it hurts. Not in an “embarrassment” way – it’s knowing that, if they asked someone to take a look at the design, they could’ve received crucial feedback, pulled the traces on the board differently or added some components, and avoided spending a significant chunk of money and time expecting and assembling a board that has a fundamental mishap.

Every thing like this might set a beginner back on their hacker journeys, or just have them spend some of their valuable time, and we can do a ton to prevent that by simply having someone experienced take a look.

Continue reading “Check Your Board: Call For Submissions”

Simple CMOS Circuit Allows Power And Data Over Twisted-Pair Wiring

If you need to send data from sensors, there are plenty of options, including a bewildering selection of wireless methods. Trouble is, most of those protocols require a substantial stack of technology to make them work, and things aren’t much easier with wired sensors either. It doesn’t have to be that complicated, though, as this simple two-wire power-and-data interface demonstrates.

As with all things electronic, there are tradeoffs, which [0033mer] addresses in some detail in the video below. The basic setup for his use case is a PIC-based sensor — temperature, for this demo — that would be mounted in some remote location. The microcontroller needs to be powered, of course, and also needs to send a signal back to a central point to indicate whether the monitored location is within temperature specs. Both needs are accommodated by a single pair of wires and a tiny bit of additional circuitry. On one end of the twisted pair is a power supply and decoder circuit, which sends 9 volts up the line to power the PIC sensor. The decoder is based on a CD4538 dual monostable multivibrator, set up for an “on” time of one second. A trigger input is connected to the power side of the twisted pair going to the sensor, where a transistor connected to one of the PIC’s GPIO pins is set up to short the twisted pair together every half-second. Power to the PIC is maintained by a big electrolytic and a diode, to prevent back-feeding the controller. The steady 0.5-Hz stream of pulses from the sensor keeps resetting the timer on the control side. Once that stream stops, either through code or by an open or short condition on the twisted pair, the controller triggers an output to go high.

It’s a pretty clever system with very simple and flexible circuitry. [0033mer] says he’s used this over twisted-pair wires a couple of hundred feet long, which is pretty impressive. It’s limited to one bit of bandwidth, of course, but that might just be enough for the job. If it’s not, you might want to check out our primer on current-loop sensors, which are better suited for analog sensors but still share some of the fault-detection features.

Continue reading “Simple CMOS Circuit Allows Power And Data Over Twisted-Pair Wiring”

Flash Programmer Shows Some Nifty Tricks

A handy tool to have on the bench is a Flash chip programmer, and the ones based around the CH341A USB bus converter chip are readily available. But the chip is capable of so much more than simply programming nonvolatile memory, so [Tomasz Ostrowski] has created a utility program that expands its capabilities. The software provides easy access to a range of common i2c peripherals. He’s got it talking to smart batteries, GPIOs, environmental sensors, an OLED display, and even an FM radio module. The code can all be found in a GitHub repository. The software is Windows-only so no fun and games for Linux users yet — but since it’s open source, new features are just a pull request away.

The CH341A is much more than an i2C controller, it also supports a surprising range of other interfaces including SPI, UARTs, and even a bidirectional parallel printer port. Maybe this software will serve to fire the imagination of a few others, and who knows, we could see more extended use of this versatile chip. Oddly we’ve featured these programmer boards before, though in a tricky flashing job.

A woman with a black vest and pink shirt with curly hair stands behind a podium in front of a projected presentation. She is speaking and has her hands moving in a vague guesture.

Supercon 2022: Carrie Sundra Discusses Manufacturing On A Shoestring Budget

Making hardware is hard. This is doubly true when you’re developing a niche hardware device that might have a total production run in the hundreds of units instead of something mass market. [Carrie Sundra] has been through the process several times, and has bestowed her wisdom on how not to screw it up.

The internet is strewn with the remains of unfulfilled crowdfunding campaigns for tantalizing devices that seemed so simple when they showed of the prototype. How does one get something from the workbench into the world without losing their life savings and reputation?

[Sundra] walks us through her process for product development that has seen several products successfully launch without an army of pitchfork-wielding fiber crafters line up at her door. One of the first concepts she stresses is that you should design your products around the mantra, “Once it leaves your shop IT SHOULD NEVER COME BACK.” If you design for user-serviceability from the beginning, you can eliminate most warranty returns and probably make it easier to manufacture your widget to boot. Continue reading “Supercon 2022: Carrie Sundra Discusses Manufacturing On A Shoestring Budget”

African man hunched over a small robot car chassis

The Dar Es Salaam Hacker Scene And Gamut Detection

We’re on a sort of vacation in Tanzania at the moment and staying in a modest hotel away from the tourist and government district. It’s a district of small shops selling the same things and guys repairing washing machines out on the sidewalk. The guys repairing washing machines are more than happy to talk. Everybody’s amazingly friendly here, the hotel guy grilled us for an hour about our home state. But I really didn’t expect to end up in a conversation about computer vision.

In search of some yogurt and maybe something cooler to wear, we went on a little walk away from the hotel. With incredible luck we found a robotics shop a few blocks away. Mecktonix is a shop about two meters each way, stuffed full of Arduinos, robots, electronics components, servos, and random computer gear, overseen by [Yohanna “Joe” Harembo]. Nearby is another space with a laser engraver and 3D printer. The tiny space doesn’t stop them from being busy. A constant stream of automotive tech students from the nearby National Institute of Transport shuffle in for advice and parts for class assigned projects.

In between students, Joe demos an autonomous car he’s working on. In classic hacker fashion, he first has to reattach the motor driver board and various sensors, but then he demos the car and its problem –  the video frame rate is very slow. We dive in with him and try to get some profiling using time.monotonic_ns(). He’s never done profiling before, so this is a big eye opener. He’s only processing one video frame every 4.3 seconds, using YOLO on a Pi 3, and yup, that’s the problem.  I suggest he change to gamut detection or a Pi 4. Continue reading “The Dar Es Salaam Hacker Scene And Gamut Detection”