In a surprising move, ARM has made two Cortex-M cores available for FPGA development at no cost.
In the over three decades since [Sophie Wilson] created the first ARM processor design for the Acorn Archimedes home computer, the architecture has been managed commercially such that it has become one of the most widely adopted on the planet. From tiny embedded microcontrollers in domestic appliances to super-powerful 64-bit multi-core behemoths in high-end mobile phones, it’s certain you’ll own quite a few ARM processors even if you don’t realise it. Yet none of those processors will have been made by ARM, instead the Cambridge-based company will have licenced the intellectual property of their cores to another semiconductor company who will manufacture the device around it to their specification. ARM core licences cost telephone-number sums, so unless you are a well-financed semiconductor company, until now you probably need not apply.
You will still have to shell out the dough to get your hands on a core for powerful chips like those smartphone behemoths, but if your tastes are more modest and run only to a Cortex M1 or M3 you might be in luck. For developers on Xilinx FPGAs they have extended the offer of those two processor cores at zero cost through their DesignStart Programme.
It’s free-as-in-beer rather than something that will please open-source enthusiasts, But it’s certainly a fascinating development for experimenters who want to take ARM for a spin on their own gate array. Speculation is swirling that this is a response to RISC-V, but we suspect it may be more of a partial lifting of the skirts to entice newbie developers such as students or postgraduates. If you arrive in the world of work already used to working with ARM IP at the FPGA level then you are more likely to be on their side of the fence when those telephone-number deals come up.
Thanks [Rik] for the tip!
Some of us get into robotics dreaming of big heavy metal, some of us go in the opposite direction to build tiny robots scurrying around our tabletops. Our Hackaday.io community has no shortage of robots both big and small, each an expression of its maker’s ideals. For 2018 Hackaday Prize, [Bill Weiler] entered his vision in the form of Project Johnson Tiny Robot.
[Bill] is well aware of the challenges presented by working at a scale this small. (If he wasn’t before, he certainly is now…) Forging ahead with his ideas on how to build a tiny robot, and it’ll be interesting to see how they pan out. Though no matter the results, he has already earned our praise for setting aside the time to document his progress in detail and share his experience with the community. We can all follow along with his discoveries, disappointments, and triumphs. Learning about durometer scale in the context of rubber-band tires. Exploring features and limitations of Bluetooth hardware and writing code for said hardware. Debugging problems in the circuit board. And of course the best part – seeing prototypes assembled and running around!
As of this writing, [Bill] had just completed assembly of his V2 prototype which highlighted some issues for further development. Given his trend of documenting and sharing, soon we’ll be able to read about diagnosing the problems and how they’ll be addressed. It’s great to have a thoroughly documented project and we warmly welcome his robot to the ranks of cool tiny robots of Hackaday.io.
Forth isn’t a shiny new programming language, but it has a staunch following because it is lightweight and elegant. The brainchild of [Chuck Moore], the language is deceptively simple. Words are character sequences delimited by spaces. In its simplest form, Forth knows a few basic words including–and this is the key–a word to define other words.
[Jean-Claude Wippler] likes to experiment with physical computing and he found a Forth image ready-made for the LPC1114. Why is that interesting? The LPC1114 is one of the few (or maybe the only) modern ARM processor in a breadboard-friendly DIP package. Since [Jean-Claude] had a chip sitting around, he had a Forth system up in no time. All he needed was a breadboard and a 3.3V serial connector. The chip has its own bootloader and the The Mecrisp-Stellaris Forth he used has over 300 words as well as the ability, of course, to add more.
Continue reading “Go Forth on a Breadboard”
There was a time when just about every computer – even laptops – came with a parallel port. That’s 25 pins of bit-banging goodness, accessible from every programming environment, that could control any random pile of electronics sitting on a desk. The days of parallel ports are behind us now, and if you want to blink a pin with a computer, you’re looking at controlling a microcontroller over USB or something.
[ajlitt]’s Tiny Bit Dingus is just that: a microcontroller stuffed into a USB plug with a few pin headers. With the right app, you can control these pin headers over USB. It’s the closest you’re going to get to a parallel port with modern hardware.
This bit dingus isn’t meant to replace the Bus Pirate, an Arduino, or anything else; it’s meant to be a small and simple way to connect random electronics to a computer with as few parts as possible. If you’re looking for a part to add to your electronic tinkerer everyday carry rig, this would be it.
There’s a few bits of interesting hardware inside the Bit Dingus. A while back, [ajltt] ran into the Freescale KL27, a Cortex M0+ that does USB without a crystal, has a USB bootloader, and doesn’t require many additional components at all. It’s the perfect size for the project at 5x5mm, and is unbrickable while still being flashable over USB.
With the Adafruit Trinket, the Digispark, and some very clever work with the smallest microcontroller Atmel offers, it looks like the ‘in’ thing to do for embedded software developers is to bitbang the USB protocol on hardware that shouldn’t support it. There are a lot of very small ARM chips out there without USB support, so it was only a matter of time before someone was able to bitbang USB on the ARM Cortex M0+.
The board above is based on an Energy Micro EFM32ZG, a very small 24-pin QFN device with up to 32 kB of Flash and 17 GPIOs. As with all the bitbanged USB hacks, the differential data lines are attached directly to the microcontroller. A 24 MHz crystal is needed, but the team behind the project is working on using the internal RC oscillator instead.
The code is portable with minimal changes between other manufacturer’s Cortex M0+ chips, and with a little work, this could become a very, very cheap USB-programmable ARM dev board, something the community could certainly use.
Sometimes, an Arduino just doesn’t have enough horsepower. Whether you’re gathering loads of sensor data and sending it over the web via Ethernet, or just trying to build a home-brew video game, it’s very easy to run into the limitations of the Arduino platform. [Rik] and his fellow classmates may have a solution to this problem with their SimpleCortex development board.
The SimpleCortex began as an answer to the Arduinos [Rik] and his classmates had to use at school. The SimpleCortex gets its name from an ARM Cortex M3 microcontroller running at 120MHz; more than fast enough to do some very interesting things, and 512kB of Flash to hold much larger programs.
The Arduino IDE is admittedly terrible, and big projects are a pain in the butt with a tiny 8-bit micro. SimpleCortex improves upon this development environment by using the free CoCenter IDE put out by CooCox. The CoCenter IDE supports debugging and code completion, standard features on any serious desktop programming environment.
The SimpleCortex has Arduino-compatable header pins, so it should be easy to use existing shields, like the 3G modem we saw this week and the NTSC video IO shield that can do object tracking. While the specs of the SimpleCortex put it in a distant second to the Raspberry Pi, sometimes you just don’t need Linux, but a standard AVR or PIC isn’t quite enough.
There’s no word on when this board will be available, but the team is working with ITead Studio to officially release boards into the wild.
One part inexpensive uC, one part touch-screen, one part Internet knowledge-base all come together to make up this Wikipedia reader. It functions in a very similar way to commercial versions by parsing XML dumps from the popular website to an SD card for use on the device. This is not limited to Wikipedia, but could just as easily be an e-reader. [Rossum] developed the package using an NXP ARM Cortex M0 model LCP1114 microcontroller. They cost just a couple of bucks but pack a 50 MHz punch with 32 KB of program memory and 8 KB of SRAM. If the nanotouch and the AVR iPhone concept didn’t convince you that [Rossum] knows what he’s doing, the video after the break of this newest creation will seal the deal.
Continue reading “Build your own Wikipedia reader”