Mikromedia Workstation v7 Development Board Review
If you are an electronics hobbyist who loves Microchip PIC microcontrollers then the MikroElektronika Mikromedia Workstation is without a doubt the ultimate development board on the market.
The $127 Mikromedia Workstation v7 board combines the best features from MikroElektronika's easyPIC development board, the mikroProg ICSP programmer, and the Mikromedia handheld development boards into a new hybrid system.
At the heart of the development board is the Mikromedia socket. This interface allows the Mikromedia workstation to support Mikromedia boards powered by either the Microchip PIC18, PIC24, dsPIC33, or PIC32 microcontrollers.
Since the Workstation board has an integrated mikroProg ICSP programmer you only need a single USB cable to power the development system, program the Mikromedia boards, or debug your code using the hardware debugger.
The workstation board also includes the standard MikroElektronika 10 pin IDC expansion connectors and four of the new mikroBUS slots. This means you have the ability to use any of the existing add-on boards and "Click" boards available from MikroElektronika.

The MikroE Click accessory boards connect to the Mikromedia Workstation using the mikroBUS connector. Each click board comes in a small box with a datasheet. Some of the more popular click boards on the market are the GPS, Ethernet, WiFi, GSM, and ZigBee modules.
The first thing I noticed when the Mikromedia workstation product arrived is the incredible detail that was put into the packaging and documentation. The Mikromedia workstation includes several large printed color guides that explain how each of the modules on the workstation board work, and includes a separate schematic diagram that labels every connection on the board.
The key modules on the Mikromedia workstation development board are a mikroProg ICSP Programmer / Debugger, flexible USB or external power supply inputs, RS-232 and FTDI USB serial ports, Microchip ICD2/ICD3 programmer jack, multiple 10 pin IDC connections for each port group, four mikroBUS slots, status LEDs and push buttons for every pin on the microcontroller, a surface mount joystick, two analog potentiometers, stereo speakers, a piezo buzzer, accessible ground connections for oscilloscope probes, and a solderless breadboard work area.
The individual Mikromedia board modules are available for $99 and include either a Microchip PIC18, PIC24, dsPIC33, or PIC32 microcontroller, a 320x240 TFT colour display with a resistive touchscreen, an accelerometer, a microSD card slot, a mp3 decoder chip and headphone jack, USB port, and connectors for using either a MikroElektronika MikroProg or Microchip MPLAB PicKit ICD2/ICD3 ICSP programmer.
I tested the Mikromedia Workstation using the MikroC Pro for PIC32 compiler, and the VisualTFT development tools from MikroElektronika. Since there are so many features on the development board it took me a while to go through all the documentation and examples.
My First Project
My first project with the Workstation board was creating a primitive Piezo Piano using the touchscreen of the Mikromedia board as a keyboard for input and the piezo buzzer to create musical tones. I used VisualTFT to draw the keys, and programmed the musical tones using MikroC Pro for PIC32. You can download Piezo Piano from libstock.com.
When I created the Piezo Piano firmware I was able to connect my Rigol DSO oscilloscope to the Mikromedia Workstation board using the oscilloscope ground connections.

The Mikromedia Workstation includes oscilloscope ground connection points and 10 pin IDC connectors that made it easy to take measurements with an oscilloscope.
I connected an oscilloscope probe to the Workstation's group 4.2 Piezo Buzzer connection to measure the frequency of the signal generated by the Mikromedia board.

Using an oscilloscope probe made it easy to check the frequency output generated by the Piezo Piano firmware running on the Mikromedia PIC32 board.
As I tapped keys on the Piezo Piano touch screen I was able to watch the output on the oscilloscope in real-time.

This is a short sequence generated by tapping a finger across the touchscreen keys on the Piezo Piano firmware.
Mini-Sub Project
My next project with the Mikromedia Workstation board was to port the existing MikroC programs I've written for the dsPIC33 microcontroller to the new Mikromedia PIC32 system.
The VisualTFT development tool sped up the conversion process by providing the initialization code required to get the PIC32 microcontroller running at maximum speed, and the graphics and microSD card working.
The first program I ported was a game called Mini-Sub. In the game you have to navigate a miniature submarine through an ocean filled with sea mines. I updated the code to use the workstation's built-in joystick and the new MP3 decoder chip on the Mikromedia PIC32 board. You can download the Mini-Sub project from libstock.com.
I enjoyed having the stereo speakers on the workstation board so more than one person could hear the sound effects.
One thing I did notice was the tolerance between the Mikromedia board's headphone jack and the dip switches on the left was fairly tight. I had to lift the Mikromedia PIC32 board up from socket when I wanted to change headphones.

The Mini-Sub game is a fun way to test the graphics and sound capabilities of the Mikromedia PIC32 board.
I really appreciate the integration between the VisualTFT graphical user interface tool and the MikroC Pro compiler when I created code to run on the Mikromedia Workstation + Mikromedia board. You can store the VisualTFT generated resources inside the compiled HEX firmware or on the microSD card.
Since I started using VisualTFT last year I have noticed that MikroElektronika has listened to the user feedback in the MikroE discussion forums and added the most requested features. The older versions of the VisualTFT tool were a bit awkward to use if you wanted to load multiple sprite images. The latest version of VisualTFT (version 2.71) added a new feature called "resource collection" that makes it a lot easier to include multiple images with your project. This came in handy for the Mini-Sub game by simplifying the process of loading and converting the animated sea mine sprites in the game.

I used VisualTFT to create a simple menu system for the Mini-Sub game that also included a volume slider.

The resource collection window allows you to load a series of images into your program that can be compiled into the firmware or stored in a resource file on the Mikromedia boards microSD card.

VisualTFT allows you to create code that will run whenever a visual element is touched on the resistive touchscreen. There are separate actions for OnUp, OnDown, OnClick, and OnPress. You can also change the display properties for each element in response to a user interaction and display different screen layouts.

I used MikroC Pro for PIC32 to compile the Mini-Sub firmware. The pre-made libraries that come with MikroC Pro made it easy to work with the Mikromedia Workstation joystick for input and draw graphics on the Colour TFT display.
Snowburst Project
My next test was converting the game Snowburst to run on the Mikromedia PIC32 board. In the game Snowburst you have to tap the screen to melt falling snowflakes before the screen fills up with snow. In the new version of the game the animated snowflakes were imported using the new VisualTFT resource collection feature.

Snowburst gives your fingers and the Mikromedia touchscreen a workout as you tap the screen to melt the oncoming snowflakes.
You can download the Snowburst project from libstock.com
Mikromedia Pros
The Mikromedia Workstation is a well-designed board that has status LEDs and push buttons with pullup and pulldown support for every input and output.
The Workstation board supports a broad range of Mikromedia handheld boards and the integrated MikroProg firmware programmer can handle Mikromedia boards with PIC18 / dsPIC33 / dsPIC24 / and PIC32 microcontrollers.
Full schematics and pinouts are available for the Workstation which makes it easier to connect sensors and devices to the inputs and outputs.
MikroElektronika has created excellent documentation and libraries for the Mikromedia handheld and Workstation boards.
The Workstation board works nicely with the VisualTFT and the MikroC tools.
The Workstation board has very detailed silkscreen markings for all connections and parts which is handy for understanding how the board works.
The Workstation's RS232 and FTDI based USB serial I/O makes it easy to monitor code running on the microcontroller.
The combination of the solderless breadboard prototyping area and the new mikroBUS connectors makes it easy to test small electronic parts without having to make custom circuit boards.
The Workstation is well packaged and comes in a nice box that keeps it safe and looks great on a shelf.
Mikromedia Cons
Since the Mikromedia headphone jack is close to the dip switch bank on the left you have to lift the board out of the socket to remove the headphones.
It would be nice if MikroElektronika provided a version of the Mikromedia handheld boards and click boards that have the connectors pre-soldered on. This would let beginners get started faster.
The Libstock.com resource site is great but it can be hard to find examples that work with your exact hardware since MikroElektronika has such a broad range of products.
It takes a while to get used to the Mikromedia Workstation's new GROUP0 - GROUP4 port grouping analogy after years of using the PORTA, PORTB, PORTC, and PORTD naming conventions. I can understand why they created this labeling system to provide consistency across the different PIC MCU families but it will cause people to have to read the microcontroller datasheet and the workstation's datasheet to double check things.
MikroC Pro for PIC32 would really benefit from adding a tool for re-indenting the users C code files. This would help programmers keep their code neat and tidy looking. In the mean time I have been using Notepad++ and the TextFX plugin to reformat my MikroC programs.
Conclusions
I think MikroElektronika has a winner with the new Mikromedia Workstation board.
Whether you're an experienced hobbyist who is comfortable using PIC microcontrollers or if you're just getting started with electronics the Mikromedia Workstation + Mikromedia handheld boards have enough documentation to get you going.
I appreciate that MikroElektronika took the time to create example code that shows how the different modules work on the Mikromedia + Mikromedia Workstation boards.
I remember when I was getting started with microcontrollers how important it was to see examples for simple concepts like blinking LEDs, reading buttons, and sending data over a serial UART.
In the past if you programmed PIC microcontrollers using assembly now is a good time to switch to programming using either Basic, Pascal, or C code. MikroElektronika has taken on the task of supporting multiple programming languages with the Mikromedia Workstation support libraries and you can use VisualTFT with either MikroBasic, MikroPascal, or MikroC compilers.
It is also possible to use the Mikromedia Workstation board with Microchip's MPLAB IDE.
As a hobbyist the nice thing about MikroE is they take the time to create libraries that make it easier to get started. MikroE has put together a new library on Libstock called the Mikromedia Workstation Board Support Package that helps make your Mikromedia related code more portable between the different PIC microcontroller families.
An important thing to keep in mind is that the Mikromedia board is powered by a microcontroller not a full microprocessor. This means you shouldn't expect to play back MPEG-4 videos, create advanced 3D graphics, or use it to try and replace a tablet computer.
I enjoyed reading the printed guides for the Mikromedia Workstation and Mikromedia PIC32 boards. It is rare to get electronics documentation that is so well illustrated and clearly written.
The online documentation for the MikroC Pro for PIC32 compiler was really helpful in providing details on the included ANSI C libraries, the custom MikroC libraries, and a reminder on C code basics, and PIC related compiler settings.
I have posted a few of my Mikromedia Workstation learning projects on the MikroElektronika code sharing website called libstock.com and I always look forward to exploring the new projects that are shared by other members of the user community.
The Mikromedia workstation bridges the gap in electronics between simple technologies like using buttons and LEDs and more complex technologies like microSD cards and color touchscreens.










