Eon Ultra – Smartwatch update

Hey all!

Sorry for the lack of updates lately, second year really takes it out of you! Exams start in January and its time for my break over Christmas. I just want to thank you all for all the views over this past year (nearly!), I’m already sitting near 9k! For such a niche subject, Its great seeing the interest!

I’ve been working on a lot lately – namely this smart watch, a SIMx00 GSM/GPRS driver (SIM900 and SIM800), writing a better NMEA parser, fiddling with SD cards, getting started with a taste new IoT WIFI board (ESP8266), using PSP joysticks and more… All while still studying for my exams in January, you could certainly say I’m short on time.

But now for this actual post.

As many of my previous readers may know, I’ve made a flurry of smartwatches though after the Eon 2, most of them have been partially successful at best. Due to this, I decided to go right back to the drawing board, and design the best smart watch I ever could, featuring nearly everything I could ever want it to. And so out of this design spawned the Eon Ultra!

A quick spec list:

  • 72MHz Cortex M3
  • 20kB SRAM
  • Quad band GSM
  • GPS
  • WiFi
  • Micro SD
  • Joystick + L/R User input
  • Battery powered
  • Micro USB charging socket
  • Notification LEDs (green and white)
  • Some reasonably sized LCD (I’ll discuss this later)

Now obviously, its not the ultimate beef of the smartwatches available today but its also only running EonOS (mine, of course) as opposed to Android so the speed I suppose is relative to the OS size! So far, I’ve received the majority of the parts and the build has commenced.

P1010412Side 1 of the PCB – ITead studio as per!

Back side of the PCB.

As you can see from the PCB’s, there isn’t actually much soldering as most of the parts are modular – WiFi, GPS, GSM/GPRS and the actual microcontroller. The reason that I’ve actually done it like this is price! Its actually cheaper to buy a premade microcontroller board, GPS module etc, than buying the individual parts and assembling them yourself, thats economies of scale for you. For reference, the microcontroller used is a STM32F103C8 which to buy the micro alone costs £4.21 (RS Components – 18-12-14), compared to me purchasing the whole board which includes an 8MHz and 32.768kHz crystal, onboard regulator, test LED’s, Micro USB socket, reset button and programming headers for £3.03 (eBay – 18-12-14). It just isn’t economically viable for me to buy each individual part when I can get the premade thing so cheap! The exact same also applies to the SIM module (Simcom SIM800L) and GPS module. Not forgetting, if I did purchase the individual components for GPS and the SIM module, I’d have to delve into PCB trace design for antennas – which I imagine is absolutely solid.

With regards to the LCD, my limited amount of pins on the microcontroller kind of limited me to LCDs driven by SPI. Generally this isn’t a problem as you can get LCD’s up to 8″ 18bit colour that can be driven by SPI! The problem however lies in the speed of SPI. The maximum achievable clock rate for this processor is (72e6/2)/2 = 18MHz. With absolutely no overhead and driving one of those 2.8″ screens at 320×240, 16bpp, you’re looking at a frame write time of ~68.3ms (240*320)/(18e6/(8*2)) which just isn’t enough time for non glitchy frame rate while also doing other things. The other problem being that the chip can’t store the whole graphic buffer in RAM which makes the graphic algorithms a fair bit harder to implement as you’re writing directly to the screen. So, I decided to go for a black and white LCD, quite like my little favourite PCD8544 (84×48 pixels). After doing some searching, I couldn’t actually find that much in between the MASSIVE 128×64 ST7920 based LCDs and random OLED LCDs which require boost drivers etc. Eventually, after some searching, I came across a brilliant supplier named EastRising with their website BuyDisplay. They offer a massive array of LCDs for nearly every purpose at really good prices too! I decided in the end to settle on one of their through hole mountable LCD’s at 2.8″ with a resolution of 128×64 pixels. Its not the best resolution ever but it can easily be read at arms distance away and is really well priced.

Once the LCD arrived, I obviously tested it on a breadboard after breaking out all the wires. It worked brilliant and looked awesome! As I now knew how to interface it and that they worked, I designed an Eagle model and slotted it into the current revision of the Ultra watch.

The nearly finally assembled product!

The rear side of the PCB. A few of the traces in the bottom left had been cut for insertion of extra components. I’m just waiting on the WiFi module now!

There were actually a few bugs (as ever with nearly everything electronic) though fortunately none too major. The diodes I had originally chosen in my power supply circuit didn’t have enough peak current carrying ability so I had to swap these out for a beefier version (fortunately in the same package size). This was thanks to the SIM800L module, that guy drinks current!

I also wasn’t able to purchase the MicroSD card socket in time so I’ll be purchasing that upon my return to Nottingham, along with the ESD protection components for the MicroSD card.

For those of you who are gamers, I did draw some of my inspiration from the PipBoy in Fallout 3 😉

With the help of my friend too, we’ve managed to design a plastic enclosure! I would’ve got this 3d printed while at university but (surprise surprise), the 3d printer was broken with an infinite time for it to be fixed again! Upon my return to Nottingham, my friend is going to see if he can get it printed in his department instead.

Top of the watch casing, rendering done within EModelViewer

Watch bottom

Keep tuned for more updates!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s