Reverse Engineering Shimano Bike Electronics

ANT+ is a wireless protocol specifically designed for use with sensors, and has similar functionality in some respects to Bluetooth Low Energy. It’s found a place among various bicycle equipment manufacturers, to connect smartwatches, cycle computers and electronic gear shifters. Of course, as soon as something becomes a defacto standard someone has to start coloring outside the lines. In this case, Shimano went off book with their DI2 groupset, leaving [kwakeham] with a reverse engineering job on his hands.

[kwakeham] gives us a great example of how to approach reverse engineering. Researching the Shimano hardware by its FCC ID shows that the device communicates using an NRF24AP2 chip, common in ANT+ devices. The Shimano device is then opened, and a logic analyser attached to various test points until the SPI interface between the transceiver and microcontroller is found. At this point, it’s a simple matter of putting the hardware through its paces and capturing data until the protocol can be pulled apart, piece by piece.

The work is documented on Github for anyone wishing to interface with the Shimano DI2 groupset. Reverse engineering is a powerful skill, that can teach you about everything from Pokemon to botnets. Video after the break.

Continue reading “Reverse Engineering Shimano Bike Electronics”

Make Your Commodore 16 64k, But Not A Commodore 64

The Commodore 16 was a budget home computer from the mid 1980s, the entry-level model in a wider range of machines. As its name suggests it only has 16k of memory in keeping with its budget status, and while it has the rest of the hardware necessary to run software intended for its 64k stablemates, that 16k is impossible to expand without modifying the machine. Should you have a ’16 in your collection this is not a particularly arduous process, and Tynemouth Software have gone into great detail over how it can be achieved.

As was quite common in machines of the period, the address lines for the RAM area above the fitted 16k are not wired to disable it when those addresses are selected, so the same 16k appears mirrored three times in the space between it and the 64k limit. Thus simply plugging in a 64k cartridge would result in the top 48k being unusable, and some means of disabling or supplanting the internal chips was called for. Contemporary upgrades required pin or track snipping, but as they go on to show us there are some less ugly alternatives both permanent and reversible. Whichever you might favor they all at least don’t carry the huge cost hurdle in 2019 that they might have been when the machine was new. Sadly even though their cases may be similar the resulting machine will not be a Commodore 64, not even a new one.

Long-time Hackaday readers will know that the hardware designer for these machines was our Hackaday colleague [Bil Herd], and all followers of Commodore and his work should read his account of the CES trade show at the heady height of Commodore’s  fame.

Automated Cat Feeder Handles Wet Food With Aplomb

A feline’s appetite is rarely sated, and cat owners around the world are routinely treated to an early morning wake up call to remind them of this fact. To solve this problem, many turn to automated feeders. However, such devices usually handle only dry foods, with a simple hopper system. [Vikram Hao] instead went above and beyond, building a fully automated wet food cat feeder.

The device is a great example of effective automation. It’s fully capable of dispensing a single can of cat food, as well as opening the can, serving the food and disposing of the waste in an integrated bin. Currently, it has a maximum capacity of 9 cans, though this can be increased by simple alterations to the hopper and trash bin. Unsurprisingly, all manner of steppers, servos and brushed motors work in concert to achieve this feat. An Arduino Mega 2560 serves as the brains, providing plenty of IO to run everything as easily as possible.

[Vikram] reports that both the owner and the cat are overjoyed with the invention. We’ve seen a few builds before, with some even featuring armor plating. Video after the break.

Continue reading “Automated Cat Feeder Handles Wet Food With Aplomb”

Retrotechtacular: Nellie The School Computer

When did computers arrive in schools? That should be an easy question to answer, probably in the years around 1980. Maybe your school had the Commodore Pet, the Apple II, or if you are British, the Acorn BBC Micro in that period, all 8-bit microcomputers running a BASIC interpreter. That’s certainly the case for the majority of schools, but not all of them. In early 1969 the BBC’s Tomorrow’s World visited a school with a computer, and in both technology and culture it was a world away from those schools a decade later that would have received those BBC Micros.

The school in question was The Forrest Grammar School, Winnersh, about 35 miles west of London, and the computer in question was a by-then-obsolete National Elliott 405 mainframe that had been donated four years earlier by the British arm of the food giant Nestlé. The school referred to it as “Nellie” — a concatenation of the two brand names. It seems to have been the preserve of the older pupils, but the film below still shows the concepts of its operation being taught at all levels. We get a brief look at some of their software too — no operating systems here, everything’s machine code on paper tape — as a teacher plays a reaction timer game and the computer wins at noughts and crosses (tic-tac-toe). One of them has even written a high-level language interpreter on which younger children solve maths problems. Of course, a 1950s mainframe with hundreds or thousands of tubes was never a particularly reliable machine, and we see them enacting their failure routine, before finally replacing a faulty delay line.

This is a fascinating watch on so many levels, not least because of its squeaky-clean portrayal of adolescent boys. This is what teenagers were supposed to be like, but by the late 1960s they must in reality have been anything but that away from the cameras. It’s a contrast with fifteen or twenty years later, the computer is seen as an extremely important learning opportunity in sharp opposition to how 8-bit computers in the 1980s came to be seen as a corrupting influence that would rot young minds.

Of course, these youngsters are not entirely representative of British youth in 1969, because as a grammar school the Forrest was part of the top tier of the selective education system prevalent at the time. There would certainly have been no computers of any sort in the local Secondary Modern school, and probably the BBC’s portrayal of the pupils would have been completely different had there been. In 1974 the Government abolished the grammar school system to create new one-size-fits-all comprehensive schools, one of which the Forrest school duly became. Following the vagaries of educational policy it is now an Academy, and there is probably not a room within it that does not contain a computer.

So what of Nellie? Because of the film there are plenty of online references to it in 1969, but we could only find one relating to its fate. It was finally broken up in 1971, with the only surviving component being a delay line. More than one Elliott machine survives in museum collections though, and your best chance in the UK of seeing one is probably at the National Museum Of Computing, in Bletchley.

Continue reading “Retrotechtacular: Nellie The School Computer”

Mining Bitcoin On The ESP32 For Fun, Definitely Not Profit

Bitcoin’s great, if you sold at the end of 2017. If you’re still holding, your opinion might be a little more sour. The cost to compete in the great hashing race continues to rise while cryptocurrency values remain underwhelming. While getting involved at the top end is prohibitively expensive, you can still have some fun with the basic concepts – as [Jake] did, by calculating Bitcoin hashes on the ESP32.

It’s a project that is very much done for fun, rather than profit. [Jake] notes that even maxing out both cores, it would take 31 billion years to mine one block at current difficulty levels. Regardless, the underlying maths is nothing too crazy. Double-hashing the right data with the SHA256 algorithm is all that’s required, a task that is well within the ESP32’s capabilities. There’s hardware acceleration available, too – though this is weirdly slower than doing it in software.

Overall, you’re not going to get rich hashing Bitcoin on a cheap microcontroller platform. You might just learn something useful, though. If this isn’t weird enough though, you could always try the same thing on a 1970s Xerox Alto. 

 

How To Interface Sega Controllers, And Make Them Wireless

The Sega Genesis, or Mega Drive as it was known outside North America, was a popular console for the simple fact that Sega did what Nintendidn’t. Anachronistic marketing jokes aside, it brought fast scrolling 16-bit games to a home console platform and won many fans over the years. You may find yourself wanting to interface with the old controller hardware, and in that case, [Jon Thysell] is here to help.

[Jon] has done the work required to understand the Sega controller interface, and has shared his work on Github. The interface is an interesting one, and varies depending on the exact console and controller hardware used. The original Master System, with its D-pad and two buttons, simply uses six pins for the six switches on the controller. The 3-button Genesis pad gets a little more advanced, before things get further complicated with the state-machine-esque 6-button pad setup.

[Jon] helpfully breaks down the various interfaces, and makes it possible to interface them with Arduinos relatively easily. Sharing such work allows others to stand on the shoulders of giants and build their own projects. This nets us work such as [Danilo]’s wireless Genesis controller build. By combining the knowledge of the Sega protocol with a few off-the-shelf Arduinos and Bluetooth parts, it makes whipping up a wireless controller easy.

In this day and age, most console controllers can be readily interfaced with a PC with a variety of simple solutions – usually USB. You might feel like trying something harder though, for instance interfacing modern Nintendo controllers to a C64. Video after the break.

Continue reading “How To Interface Sega Controllers, And Make Them Wireless”

The MiniITX Retro System

There are hundreds of modern, retrocomputing projects out there that put ancient CPUs and chips in a modern context. The Neon816 from [Lenore] is perhaps one of the most impressive projects like this we’ve seen. It’s a classic system in a modern form factor, with modern video output, mashed together into a MiniITX motherboard.

The powerhouse of this computer is the Western Design Center W65C816 CPU. This is the second generation of the venerable 6502 CPU, the same chip found in everything from the Commodore 64 to the Apple II to the Nintendo Entertainment System. The 65816 is a 6502 at start-up until you flip a bit in a register, at which time the signalling on the address bus becomes much weirder. We’ve seen some single board computers based on the 65816 before and The 8-Bit Guy has a few ideas to build a computer around this CPU, but for the foreseeable future work on that will be trapped in development hell.

Of note, the Neon816 will feature DVI output (I guess technically you can just run the analog signals through the connector), a PS/2 Joystick input, two Atari / Sega joystick ports, MIDI in and out, a PC-style floppy disc connector, and a Commodore serial bus. It’s a hodge-podge of classic retrotainment, all in a single MiniITX motherboard.

The key other feature of the Neon816 is an FPGA, specifically a Lattice XP2 8000 LUT chip that is used for video and audio. This is combined with 1MB of main RAM (looks like a simple SRAM) and 128k of Flash storage for the ROM. There’s also an SD card in there for storage.

Right now, [Lenore] is populating the first prototype board, and we can’t wait to see some video generated with this impressive little system.