The Problems we are trying to solve.

Before starting any electronic project a maker has to go through an Exhaustive //TODO list


Winkel Board is the solution. The Story Behind.

We were building an IoT product and wanted to experiment with different communication protocols, like radio, WiFi, Bluetooth and found ourselves in a mess while doing so.Well of course we had an Arduino Board to get started with but had to buy and experiment with different shields every time and that costed us a lot of time and money. In India, such shields were really costly to source from outside plus it really affected the speed of prototyping. We talked to a lot of makers and electronic hobbyists and found that this was a common problem within the maker community and not just in India but all over the world. Some suggested RPi 3 can be an answer for many projects but not every project needs an O.S. And not every project can be housed with an Arduino with all its shields, and some projects just require to use many communication protocols at once and need to perform a lot of calculations and I/O operations. To do all these powerful things with just one small board and to keep it simple and Arduino IDE compatible was the idea behind Winkel Board.

So we built the Winkel Board

Winkel Board is a new Arduino Compatible, Powerful Open Source HardWare Platform for makers who work on electronic projects which involve a lot of I/O operations and involves using different communication protocols to fulfill different tasks. Winkel Board is also for engineers and hardware hackers who are looking to build and prototype products of tomorrow, but have to spend time looking for the right components to use and then spend more time figuring out how they can be interfaced together as it requires basic knowledge of various chips and their libraries to get started.

Winkel Board helps you achieve all of the above, so that you don't have to spend time on looking for components and studying their libraries and you can quickly accelerate building and prototyping.


There are several other open hardware platforms which i'll compare later in this article, but most of them fail to provide a single stop solution.

The Winkel boards have everything onboard for a maker to get started with building different prototypes and products of tomorrow.


Here are the on board Feature Set


Tech Specs, Pinout & Comparison with other solution


Technology

The Winkel Board is a microcontroller based board built on ATmega128, an 8-bit microncontroller that has 128KB of Flash memory and 4KB of RAM. It contains everything needed to support the microcontroller, simply connect it to a computer with a USB cable or with a 5v micro USB power adapter.

It houses an Onboard WiFi module in the form of ESP8266 ESP12-E which itself is another SOC module with all of it's GPIO's accessible, an Onboard bluetooth in the form of HC-05, an Onboard Radio transceiver in the form of NRF24l01, an Onboard Real time clock in the form of DS3231. The Onboard components are built with Smart Opt, which means that they can be powered down if you have no use of that chip in your project.

This board also supports OTA programming. This means you can burn your code on ESP8266 and on the microcontroller ATmega128 wirelessy Over The Air.

Complete wireless programming is useful in the sense when a board is already soldered in any project you want to make some changes to the code you burned on the microncontroller, you can easily do it wirelessy.

Technical Specifications

SpecificationsValue
MicrocontrollerATmega128
Operating Voltage5v
Digital I/O Pins38*
PWM7
Analog Input Pins8
UART2
Flash Memory128Kb
SRAM4Kb
EEPROM4Kb
Clock Speed16Mhz
Onboard WiFiESP8266-ESP12E
Onboard BluetoothHC-05
Onboard RadioNRF24l01
Real Time ClockDS3231

*You get additional IO pins to work with because we have provided access to GPIO pin outs of ESP8266 ESP12E.


Pinout Diagram

(open image in a new tab. Sorry for the crappy image will upload as a file)


Why ATmega128?

Many don't know this, but m128 was the original arduino before it was even called arduino. There were some fragments left in the original arduino core but the support for it was dropped years ago. they were replaced by better known mega8(ng). Back then m128 was 20x times expensive and although m8(ng) was 10x times expensive it was affordable and had advantage of dip support. m128 was simply forgotten but has stayed popular among pure AVR programmers and not programming through famous Arduino IDE.

So why choose mega128 ?


Winkel Board V/s Other platforms

There are numerous number of hardware platforms and open boards for makers out there in the maker space, but Winkel Board really stands out uniquely with all of it's unique feature set. Since winkel is another board on Arduino platform,lets have a look at the chart where we compare Winkel board against other Arduino Boards.

Winkel Board easily stand out as compared to other Arduino boards. While others are really useful to help a beginner learn the basics, they do not offer whats really needed to really get started with a real world project prototype where one can require other on board components. In that case he would have to go looking for such components in local radio shacks or source them online and then interface them.

Winkel board provides all the basic chip components for an intermediate-to-pro maker to really dive into that Super I.O.T project, or get on with that awesome mesh network or start building that co-ordinated drone.

How it really compares

There were some views in the maker community that Atmega128 would be a slow MCU and the huge I/O set of operations would further slow down the board. But Atmega128 is really isn't slow. Live testing several GPIO's (in projects like connecting huge number of relays in home automation, driving RGB strips using PWM's, gardening systems) have given really good results. Video and tutorials will be out soon.

Some compared it to faster 32Bit ARM Cortex where it was said even with the most efficient direct port operations, it takes at least 200ns to do anything on a 16Mhz AVR, where the arm cortex boards take 100 times less to toggle an IO, which means you can reasonably handle more IO pins without having any performance issue. ARM cortex are really amazing when it comes down to building complex projects where performance and efficiency is needed say for example a robot for doing a complex realtime task where the huge RAM and 32bit architecture is a boon.

Winkel has been designed to provide almost everything On Board, that a maker would initially need to kickstart the prototyping of an idea and accelerate build time and not worry initially about nano second comparison. The list of chips and components keeps increasing as the product becomes more complex ofcourse and after prototyping one can easily shift towards powerful chips if necessary.

A point that was made by other makers in the community while comparing it to other boards was that of this board not being bread board compatible/accessible to which we completely agreed and would consider a redesign of the header pins. It was just the design decision we went with thinking it will accelerate prototyping. But might have to do some thinking like maybe change the header pins to make it bread board friendly.


Challenges

  1. Everything at once in 5cm x 5cm. The Design.
    • After deciding on the on-board components for the Winkel board, a major challenge we faced was to keep the form factor of the board small and compact, otherwise we would end up with big bulky board along with some components interfaced together. We finally managed to pull off a 2-sided PCB to fit everything in a form factor of 5cm x 5cm
  2. Design it not just how it looks and feels like.
    • After getting the design right, we really had to work our way to get everything working together out of the box flawlessly. We had to get features like OTA programming of m128 and ESP-12E working right without any glitches, while also keeping support for conventional wired serial programming. We had to have a fully functional Smart opt feature that would allow a maker to power on only those on-board components that he wishes to work with. We did this by using conducting Jumpers.
  3. Arduino IDE support & AVR support
    • Another challenge was to get Winkel Board to show up as a standard board under the Boards section of the famous Arduino IDE. While we achieved that and a maker could now perform a standard Boards Manager Installation, we also had to provide support for non IDE users. Hardcore AVR programmers use avrdude and we could successfully keep support for avrdude programming using avr command lines.
  4. Pricing should be maker friendly
    • Pricing eventually will hugely depend on the response for this board because quantity is what it comes down to when one wants to lower manufacturing costs. We are really trying our best to keep it maker and DIY friendly


What the community is saying and other resources

  1. Arduino Forum
  2. Reddit
  3. Instructables
  4. Intro Video
  5. OTA Programming using AVRDUDE

OTA Programming Sneak-Peek


Future Development

We think a maker will really enjoy building on this new hardware platform. That is why we will be initiating a Crowdfunding Campaign on Crowdsupply. You can sign up on our campaign page if you are interested by heading over to this link where we will soon be launching a crowdfunding campaign and stay updated until final launch to actually get your early access.

If you do not wish to support our crowdfunding campaign, you will still get access to the board designs and BOM that we have used and build your own Winkel Board, because as the crowdfunding campaign progresses we will be uploading them here and on Github for public access. :)

Credits

You can read everything about pin mapping and basic setup for ATmega128 and Atmega64 here https://github.com/MCUdude/MegaCore and MCUdude wrote a fantastic Arduino bootloader core for 128 and 64. One can even build their own basic ATmega128 board using the above bootloader.

Winkel board is just an expanded and a well thought version in terms of getting several components together.