Over the last few years, we’ve seen projects and products slowly move from 8-bit microcontrollers to more powerful ARM microcontrollers. The reason for this is simple — if you want to do more stuff, like an Internet-connected toaster, you need more bits, more Flash, and more processing power. This doesn’t mean 8-bit microcontrollers are dead, though. Eight bit micros are still going strong, and this week Microchip announced their latest family of 8-bit microcontrollers.
The PIC16F15386 family of microcontrollers is Microchip’s latest addition to their portfolio of 8-bit chips. This family of microcontrollers is Microchip’s ‘everything and the kitchen sink’ 8-bit offering. Other families of PICs have included features such as a complementary waveform generator, numerically controlled oscillator, a configurable logic controller, power saving functionality and the extreme low power features, but never before in one piece of silicon.
This feature-packed 8-bit includes a few new tricks not seen before in previous Microchip offerings. Of note are power management features (IDLE and DOZE modes), and a Device Information Area on the chip that contains factory-calibrated data (ADC voltage calibration and a fixed voltage reference) and an ID unique to each individual chip.
As you would expect from a new family of PICs, the 16F15386 is compatible with the MPLAB Xpress IDE and the MPLAB Code Configurator, a graphical programming environment. The products in the family range from 8-pin packages (including DIP!) with 3.5kB of program Flash to 48-pin QFPs with 28kB of program Flash. The goal for Microchip is to provide a wide offering, allowing designers to expand their builds without having to change microcontroller families.
All of these chips can be sampled now, although the lower pin count devices won’t be available through normal means until next month.
A few people over at the Philippine hackerspace PhilRobotics a PIC-based dev board that takes a lot of cues from ‘the microcontroller board everyone loves to hate,’ the Arduino.
There are a few differences between the PIC16F877a used in the Anito and the ATMega328 used in the Arduino: The PIC has a little less than half the Flash memory of the ‘Mega and less RAM, but has a slightly higher clock rate. It would have been nice to have a dev board with Arduino style headers powered by one of those new PIC32MX chips, if only because of a few really, really awesome projects we’ve seen. We’ll take whatever we can get, though, even if it provides a little more ammo for the PIC/AVR holy war.
One really interesting aspect of the Anito is the IDE. Written in Python, the PhilRoboKit IDE has all the features of everyone’s favorite IDE that is written in Wiring, plus a few extra features: autocomplete is a huge bonus, as is the ability to upload programs over Pickit2 ISP header. The IDE is available for Windows and Linux (no Mac port yet), and should be enough to get you off the ground in the PIC dev world.
[sjm4306] had a small Magic 8-Ball key chain as a kid. The fluid in this key chain eventually dried up, and if [sjm] is anything like us the 20-sided die is now lost to the sands of time or at the very least hidden in a box in the basement. After remembering the old Magic 8-Ball one day, [sjm] decided to build a digital version of everyone’s favorite bewitched billiard ball.
The digital magic 8-ball uses a PIC16f886; more than enough to hold the twenty possible replies from a real magic 8-ball. The display is a tin 3 cm OLED which surprisingly emulates the ‘icosahedron with raised letters floating in purple liquid’ aesthetic very well.
Right now, this is just a breadboard prototype – there isn’t an accelerometer or tilt switch in the build yet, so shaking the project does absolutely nothing. [sjm] may add that functionality later by turning his project into a watch, key chain, or installing it in a real Magic 8-Ball case.
[Josh] and his lab partner [Eric] needed a final project for their Embedded Systems Design class, and thought that designing an Arduino shield would be a cool idea. They noticed that there are plenty of ways to get an Arduino to keep time, though none that they knew of utilized WWVB (Atomic Time) signals directly.
The Chrono-tomic Arduino shield uses a C-MAX radio to demodulate the WWVB signal, demodulating it and passing it along to a PIC16F1824 microcontroller. The PIC decodes the data frame and verifies it is valid, sending the time to an MCP79410N real-time clock module.
We can hear the “Yo dawg I herd you like microcontrollers so I put a microcontroller on your microcontroller shield” jokes already, but the pair says that they offloaded the time processing to the PIC in order to let the Arduino focus on whatever tasks it has been delegated. The Arduino code merely needs to request the time from the RTC whenever it is required, rather than deal with the decoding itself.
Is it overkill? Perhaps – though we think it heavily depends on your application and configuration. We can certainly conjure up situations where it would be useful.
Hackaday reader [chrysn] picked up a 3-button RGB model DIODER light from IKEA and thought he might as well take it apart to see what he could do with it. Having seen several DIODER hacks featured here, he knew it was easily hackable, but he didn’t want to simply rehash what other had already done.
All of the DIODER hacks we have come across thus far incorporate some sort of AVR chip or add-on board to expand its capabilities. [chrysn] saw that the controller already had a PIC16F684 inside, and thought that installing his own firmware onto the existing hardware would be a far more simple solution. He installed a small programming cable onto the DIODER’s control board, and using his PICkit2 programmer, flashed the chip with a custom firmware image.
His modifications worked great, and [chrysn] says that there is plenty potential in the existing hardware to have all sorts of fun with it. Even so, he notes that there are several AVR-flavored drop-in replacements that can be used if that happens to be your microcontroller family of choice.