Two new boards are now officially supported. Thanks to the generosity of the guys at Microchip we now have a MAX32 and a WF32 board for testing and compatibility checking.
The WF32 board is a rather interesting one. It’s a pretty well packed board. The most prominent feature of course is the MRF24WG0MA 802.11g WiFi module. Will full support for all the common authentication technologies (WPA2, etc) it’s a pretty nice module.
More subtle, though, is the triple USB connections. Not only is there the traditional FT232 USB UART connection for programming, but the on-chip USB peripheral is also provided with a choice of both host (USB A) and device (Micro USB) connectors to choose from.
And top that off with a micro SD card slot as well and you’ve got yourself a fully featured WiFi connected system.
Getting everything to work right though was a bit tricky. Some changes to the way UECIDE works were needed for the Digilent WiFi libraries to compile properly. It turns out that they rely on different libraries being included in a specific order for some files to override others. A neat trick, if a bit fragile… Still, a few tweaks to the core of UECIDE’s compilation system and it works nicely.
My only gripe really with this board is that the SD card is connected to some plain GPIO pins rather than one of the 4 SPI peripherals available on the chip. This means you can only use software SPI to communicate with it, which means things like RetroBSD won’t work on it without adding another SD card slot.
The MAX32 board is the chipKIT equivalent to the Arduino Mega, or I suppose more closely now matched by the Due. IT has the same chip as the WF32 board, but lacks any of the bells and whistles that the WF32 has. Instead it just has lots and lots and lots of IO pins in almost the same arrangement as the Mega and Due boards. It has the same FT232 interface as the WF32 and Uno32 boards, and the same auto-switching power circuitry of the Uno32 (something the WF32 lacks – it’s a purely manual power source selection on that board), so it’s essentially an Uno32 with more pins, more flash, and more RAM. It also has the more advanced peripherals available, such as an Ethernet controller (which is required for the chipKIT Ethernet shield) and a USB On-The-Go peripheral, but there are no connectors linked to it like the WF32 has.
It’s still a decent board though, and adding an SD card (maybe the one on the Ethernet shield, for example) allows it to run RetroBSD.
Both these boards are now fully supported by UECIDE, and you even get an extra bonus thrown into the mix: Where MPIDE just gives you the default FT232 connection for serial, UECIDE also has the option to enable the USB peripheral as a CDC device as well, in the same way as the Fubarino boards. Yes, MPIDE can be bent to give you USB serial if you know how, or you could fight with the Digilent USB device libraries, but why bother when it’s already all there for you?