Thursday Mar 05, 2015

Freescale FRDM-K64F - Hardware, Software, Firmware and Java ME 8.1

I have finally got my hands on a Freescale FRDM-K64F with a 32-bit ARM Cortex-M4F core running at 120MHz, ARM mbed OS. It includes 1MB FLASH, 256KB RAM and lots of interfaces including Ethernet, SPI, I2C, ADC, DAC, PWM, UART and other I/O interfaces (Arduino form-factor and pin-out). 256KB RAM, that is the same amount of RAM I had on my Ericsson Portable PC (Swedish link but you can enjoy the picture unless you speak the language)

And of course I need to get Java Me 8.1 running on it so I can build cool and useful (and useless) apps using this board. This blog post is summarizing how I did my installation (and it worked for me). However, I always recommend looking at the official documentation as that is the source of truth, Java Platform, Micro Edition Embedded (Java ME Embedded) 8.1. Let 's get started by continuing reading here:

Tuesday Sep 09, 2014

IoT at Oracle OpenWorld 2014

Hello Folks, here is a brief summary of what is coming up at OpenWorld 2014 regarding IoT:

1.      Focus On (key sessions) IoT Infrastructure at OpenWorld 2014

2.      Focus on (key sessions) IoT Infrastructure at JavaOne 2014

 I hope I meet you there!


Wednesday Apr 30, 2014

Oracle releases Java ME 8 today!

Java ME provides a robust, flexible environment for applications running on embedded and mobile: microcontrollers, sensors, gateways, mobile phones, personal digital assistants (PDAs), TV set-top boxes, printers and more. It includes robust security, built-in network protocols, and support for networked and offline applications. Oracle Java ME Embedded 8 is an implementation of the recently approved Java ME 8 standard, and includes support of alignment with Java SE 8 language features and APIs, an enhanced services-enabled application platform, and the ability to right-size the platform to address a wide range of devices in the Internet of Things. Application development is supported through the Oracle Java ME SDK 8.

So this is what you need to do:

Happy coding,


Wednesday Apr 02, 2014

Learn How to Plug Into the Internet of Things

Learn How to Plug Into the Internet of Things. A global network of billions of devices sharing data is opening up unprecedented business opportunities. How well positioned is your company to take advantage of this seismic shift? Join Oracle, our partners and customers on Thursday, April 24 to learn how turn the Internet of Things into real business value.

Register Now


Friday Mar 28, 2014

Adafruit Ultimate GPS using UART configuration on Raspberry Pi

So in preparation for using the Adafruit Ultimate GPS with UART there are some configuration steps that needs to be done. First we need to edit /boot/cmdline.txt (so it doesn't provide a terminal connection by default.

Change the line:

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 
kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 
elevator=deadline rootwait
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait 

Then we need to edit /etc/inittab so the Pi doesn't spawn a login to the serial connection (we need it when connecting the GPS later)


#Spawn a getty on Raspberry Pi serial line
T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
#Spawn a getty on Raspberry Pi serial line
#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100


Install GPSD, GPSD is an open source project which provides a daemon which streams GPS data via a TCP socket, allowing you to communicate with a whole host of different GPS devices (not just this one). Just execute:

sudo apt-get install gpsd gpsd-clients python-gps

Now it is time to connect the GPS and test it, but that will be a later post. Stay Tuned!


I2C and SPI on Raspberry Pi Configuration

As I am going to use I2C (BMP180) and SPI (DS1722) sensors with my Raspberry Pi (wheezy distribution) I need to enable them. Real easy to do, start by editing the file /etc/modprobe.d/raspi-blacklist.conf and make sure that the lines containing blacklist spi-bcm2708 and blacklist i2c-bcm2708 are commented out

Then edit the /etc/modules file so it contains the following two lines (it may contain more lines): i2c-dev, i2c-bcm2708 and spi-bcm2708.


Execute the command lsmod, and you should see spi_bcm2708 and i2c_bcm2708 in the list

The I2C bus allows multiple devices to be connected to your Raspberry Pi, each with a unique address, that can often be set by changing jumper settings on the module. It is very useful to be able to see which devices are connected to your Pi as a way of making sure everything is working. To be able to do this execute sudo apt-get install python-smbus and sudo apt-get install i2c-tools.

And the last step is to execute sudo apt-get update and sudo apt-get upgrade to get the latest and greatest libraries.

That's it for now, next post should contain some code I hope.


Friday Feb 14, 2014

Breaking News - Java ME 8 Early Access #2

Breaking news, Java ME 8 Early Access #2 is out.To learn more about the new features and download, click here!

Release notes, getting started guides and API documentation can be found here!

Wednesday Feb 12, 2014

Things needed for the upcoming Oracle Java ME Embedded MOOC

So it turns out that there is a "kit" that can be ordered for the upcoming Oracle Java ME Embedded MOOC (Massive Open Online Course). This is really neat and easy! You'll find it here (with Raspberry Pi) or here (without Raspberry Pi).

Tuesday Feb 11, 2014

Develop Java Embedded Applications Using a Raspberry Pi for free (well almost)

Have you wondered what the future of embedded devices looks like?
Have you ever wanted to create your own weather station or design a device to control the lights in your home automatically?

All of these questions will be answered in this practical hands-on course. This course introduces Java developers to the world of embedded devices and the Internet of Things (IoT). Embedded controllers are already a part of our lives. Meters read electric and water usage and send the readings to a central office. Electronic thermostats turn on the heat and air conditioning as required.

This course is free (besides the necessary hardware, which should cost bout $150).

Enroll here!

Happy Coding,


Wednesday Jan 29, 2014

Things are getting really interesting - NetBeans IDE 8.0 Beta

NetBeans 8 (Beta) has been released, download it here. Part of the release statement looks like this:

"NetBeans IDE 8.0 Beta provides out-of-the-box code analyzers and editors for working with the latest Java 8 technologies--Java SE 8, Java SE Embedded 8, and Java ME Embedded 8."

And the part that interests me mostly is the Java ME Embedded 8! I have purchased a GPS and a Bosch BMP180 Barometric Pressure/Temperature/Altitude Sensor so I can try out the new DAAPI in Java ME 8! Sample code will be posted soon as well as tips and tricks to get things going.

Time to Code!


Wednesday Oct 23, 2013

Free course on Java Embedded on the Raspberry Pi?

Oracle is developing a free, on-line course on developing Oracle Java Embedded applications using a Raspberry Pi as the development platform.

The course teaches experienced Java SE developers how to design and develop applications using Java ME Embedded 8 EA on a Raspberry Pi with physical devices, including: switches and Light Emitting Diodes (LED); temperature/barometric pressure sensors; Global Positioning System (GPS) sensors; and system interrupt timers. Additional modules include logging, threads, network I/O, file I/O, record management service, push registry, application management services and best practices for headless embedded devices.Sounds like great fun doesn't it? Read more about the course and give us your feedback in this short survey.


Wednesday Oct 02, 2013

Oracle Java 7 JDK on Raspberrry Pi

This is just fantastic news:

"It’s therefore fantastic to be able to announce that we’ve added the official hard-float Oracle Java 7 JDK to our repository. Oracle Java offers significant performance advantages over OpenJDK on ARM platforms, and will expand the range of Java applications that run well on the Pi."

Read more here!

And if you're a current owner of a Rpi how do you install Oracle Java 7 JDK on the RPi? Easy:

sudo apt-get update && \
sudo apt-get install oracle-java7-jdk

Now time to write some cool Java programs on the RPi.


Friday Sep 06, 2013

Focus on Java Embedded at JavaOne

Are you looking to learn about Java Embedded at JavaOne? Click the link and it will give you a long list of things that is happening at JavaOne:


Tuesday Jul 23, 2013

Extend the reach of Java in the Internet of Things (IoT)

This is wonderful for partners to Oracle:

Oracle has introduced the Oracle Java Platform Integrator program to provide partners with the ability to customize Oracle Java Embedded products, including Java SE Embedded, Java ME Embedded, and Java Embedded Client, to reach different device types and market segments. Coupled with the massive Java ecosystem of over 9 million Java developers worldwide, this new program will help enable greater development and deployment flexibility for the IoT.

Read more here.

Friday May 10, 2013

Error:Could not find Java SE Environment (ME 3.3 SDK)

So after upgrading all the JVMs on my laptop I ran into an issue when trying to use the Java ME Embedded 3.3 SDK. I got the following error message:

The solution was easy (after a little digging around in the installation directory of the ME SDK. Open the file called java, it is located in the bin directory and change the path to correct one and bam it works again.



Andy's blog about the world of embedded Java, Oracle Java Cloud Service and my more fun things!


« March 2015